I’ve put all the newer components online, sketchup models are now in googles 3d warehouse and Eagle3D added to the existing library.
These are components I’ve created for Eagle3D.
You may also want to check out the tutorials on how to create your own components. http://blog.everythingrobotics.com/tutorials/eagle3d-tutorials/using-google-sketchup-to-create-components/
HopeRF RFM12B SMD 433Mhz/915Mhz RF Module
Microchip MR24J40MA FCC Approved 2.4GHZ 802.15.4 RF Module
Sparkfun SMA PCB Edge
PJ-326 3.5mm Jack http://www.switchcn.com/
900Mhz GSM SMA Antenna attached to PCB SMA Connector
Strobit Eagle3D Library (19/03/2009) Download
These are provided AS-IS and may contain bugs and or discrepancies and may not be to scale.
If you find any bugs or problems or make enhancements please feel free to contact me so I can update the downloads.
I’ve been playing around with Googles sketchup over the weekend and have created some components, one the RFM12B module and a basic camera hotshoe to scale. It’s been a great little exercise in learning both Alibre and Sketchup as I’ve been wanting to get some 3D modelling practice, I’m finding that it’s easier to create things in Alibre and then export them to Sketchup. Alibre does not support texture mappings in the drawing or export to POV, but Sketchup does it brilliantly, while on the other hand, Alibre’s3D modelling is very easy to use.
Currently the workflow is: Model in Alibre –> textures in Sketchup – > POV Rendering– > Eagle3D Components.
Keep an eye out for more to come. I’ve started a Stobit Collection in Googles 3D warehouse for use with this project and will be adding to it as I go. I’ll be putting the Eagle3D component files that I’ve created online shortly.
Tweaking the Settings
Now we have added the component into Eagle3d we need to tweak and fine-tune the settings.
- Now render your PCB, more than likely a couple of problems will show up. The first is your component is very small. so we need to tweak the scaling from within the component file we recreated in the previous steps.
> Jeremy wrote:
> Hey. I read over your tutorial on making Eagle3d components in Google
> Sketchup, and I wanted to thank you for saving me a considerable
> amount of time. I also found something you might have missed. Sketchup
> records units in mm
> (millimeters) but when su2pov plugin is run, it converts all the mm
> into inches (1mm -> .03937 inch). The problem is that Eagle3D
> interprets the numbers in the .inc files as in mm. So the best way to
> fix the problem is to scale up your drawing in Sketchup by 25.4 times
> (thus counteracting the plugin’s unit conversion).
- To scale the component scroll down to near the end of the file where you should see something like this
- tweak the settings that have numbers in them, the following worked for me
- Now the component should be close to the right size, but the offset is off.
- We now need to get the correct offsets, which is a bit ht and miss, but I found the following works best.
- Locate the component in the generated POV file (step 8 above)
- Change the translate values just after the macro name as shown below, the hit and miss comes in by taking a guess in what direction and value to use.
- We are heading in the right direction, so keep changing until it all lines up on that axis.
- looks like we are right on here, onto the next axis
- to change the next axis offset we need to modify the last value in the translate function
- Just about there
- finally looks right
- Now we have found the values we need to put them in the 3dusepac.dat file or else the next time we run the ulp script we will loose these settings
- In the line we added added to the 3dusrpac.dat file we need to add the values we have just fount to positions 15 and 1 7 as shown below.
- If this file is changed we need to re-run the ulp script to re-generate the POV file, then check that your values are there and renders correctly.
- The same process can be followed if the component is not rotated correctly. such as shown below
- change this value in the POV file to tweak the rotation side of things. change the value show below (-180) in this example the value that works for me is 90 once again this value must be updated in the 3dusrpac.dat file in position 14.
- Remember to re-run the ULP script to regenerate the POV file.Happy component creating !!!!!
Convert POV file into Eagle3D .inc file
- In the new POV file that was created by the plug-in now needs to be saved as a *.inc in the same directory as Eagle3D component include files this is usually called EAgle3D\pov
- Next we need to delete all the information not needed and will cause conflicts with Eagle3D.
- Copy and paste the following code into the very beginning of the file. replace ‘inc_MRF24J40MA’ with the name of your component, e.g. inc_YOUR_COMPONENT.
- Now scroll down until you see the start of the object definition
- insert the component macro declare statement (line2 below) into the file. The macro name needs to be the name of your component (in this case ‘MRF24J40MA’)
- Scroll to the very end of the file and delete lines 3,4 and 8 as shown below
- Finally insert all of the following to the very end of the file. Replace MR24J40MA() with your component macro name.
- Now test the inc file by rendering the component. This will test to make sure the macro and file are all working. A grid and the actual component will now be rendered.
- UPDATE: You also need to copy any surface map graphic files across to the same directory as the new component file.
If you have successfully converted the file we next need to add it to Eagle3D
|<<Step 1||Step 3 >>|
I’ve been playing around with Eagle3D on and off (like most things more off than on lately). Eagle3D in a nutshell is a bunch of scripts to generates povray files. Povray is then used to render a realistic representation of the PCB file with all components included.
The problem I’ve always come up against when using Eagle3D is missing components. I first looked at this tutorial – http://felixchenier.homelinux.com/doku.php?id=pcb:eagle3dnewpart, however I took one look at how to make library components and thought no way, I don’t really want to generate a 3D component by long hand.
As an example this is the Experimental 2.4GHz version of triggr PCB rendered with default output from Eagle3D, you can see how many components its missing (indicated by the red cylinders), you will also notice that its also picked up the wrong component in the top left of the board, this should be a right angle header, and it’s not correctly aligned.
Well I spent a couple of hours last night playing with Eagle3D to see if I could a) learn to create custom library components using Googles free sketchup program to create a part then export to Eagle3D, and b) to get a better understanding how components are selected and put on the board in the correct orientation.
I finally had success in exporting a sketchup component to use in Eagle3D. I imported an already existing component for the MRF24J40MA RF module from sketchup and incorporated it into Eagle3D as a part library. Here is the result. A lot better wouldn’t you agree?
Here is how I did it in a sparkling new tutorial….Using Google Sketchup to create Eagle3D components
Exporting Sketchup Objects to POV
- You first need to install the su2pov plugin as per the documentation. Once installed you will see the plugin available from the plugin menu within sketchup. (click for larger image)
- I use the the following settings for the SU2POV plugin.
- Select ‘GO’ from the plugin menu.
- The POV file is then created, open it up in povray. You should be able to render it direct from this file so you can at least get a sense of what it will look like rendered on the PCB. (click for larger image)
Note: Some errors were reported when I first tried to render the scene straight from the export line in the POV file. It appears that this problem is related to the default Radiosity settings generated by the plugin, these are not used in the newer versions of POV. The su2pov plugin is for pov3.2. I safely deleted the Radisity section from the generated file. (update: I have since found that if you change the Radiosity settings to ‘Final’ under the plugin render options this problem does not happen). Eagle3D ultimately handles all the radiosity settings anyway, but this is so we can view the test file in POV.
- Now that we have successfully rendered the file in POV we now need to incorporate it into Eagle3D.
|Step 2 >>|
This tutorial will show you how to use Sketchup to create and import components into Eagle3D
- Google Sketchup installed – I’m using v6, but I’m sure it will work in the latest version
- su2pov plug-in – this is a sketchup plug-in written in ruby that exports the a sketchup scene into POV for more realistic rendering.
- Eagle3D and POV installed and working. You should be able to at least render a board, even if no components are working.
- Export Sketchup object to POV using SU2POV, and test.
- Create the component include file ready for Eagle3D
- Mapping the new component into the library.
- Fine tuning the placement.
|Step 1 >>|
As I work out how to do things I’ll add them here.
- Creating and adding components using Google Sketchup – 04/03/2009
RFM12 Radio Module