PCB Converter for SketchUp
Übersicht
Tool for converting IDF to COLLADA for PCB design.
Details
Version 1.1 of The PCB Converter tool from RS Components and Allied Electronics allows you to convert Intermediate Data Format (IDF) files to COLLADA format for Google SketchUp. With the PCB Converter tool it is possible to import a 3D representation of PCB design models from applications such as DesignSpark PCB* into Google SketchUp with a simple drag and drop conversion process.
Please note: This tool is provided on an "as-is" basis. Support on the DesignSpark website will be strictly limited. The source code is available to allow the community to continue development - click here for the files. DesignSpark members Dan_E_Thomas and Pirttpe have posted a fix to a common problem here.
Supporting Materials
| Titel | Information type |
|---|---|
| PCB Converter for SketchUp | |
| User Guide for PCB Converter for SketchUp |
Kommentare
Verwandte Blogeinträge
Zugehörige Produkte und Wissensinhalte
Fragen und Antworten
Beiträge
Möchten Ihr Wissen mit unserer Community teilen oder eine Frage stellen?

PeterJ
Wondering if anyone has trouble with a curved board outline.
Had to convert to a polygon to get the converter to work.
bonste
I have tryed the pcb converter but I have this problem (message):
The version of the selected .IDB file is not curently supported.
Please refer to the help for more information on supported file types and versions.
What is the solution of this problem? Noted, I have used the RS example idf format.
Bye, Stefano
pirttpe
Ok, tried this one again and it just does not work for me. If I open one of example projects, e.g. "small thru hole.pcb" that comes with DesignSpark PCB and export it to IDF, the converter still claims that "the selected .IDB file appears to be corrupt".
According to IDF specification 3.0 I made a small board file in plain text editor but it didn't work either. I exported one IDF file more from MentorGraphics PADS and that results to same thing. Pity.
I wonder if there is something in converter that makes it to misinterpret something, e.g. units according to system (different countries may use . or , as decimal separator). This is just a wild guess, but there appears to be people who get this program work while others do not. I thought that DesignSpark PCB would give me 100% compatibility but it appears that it does not.
pirttpe
Now that I noticed the source code is available, I decided to install trial version of Visual Studio and debug the code. As I suspected above, it is about decimal separator. The IDF uses . as a separator but the program uses whatever is the system default. Here in Finland as in many european countries we use , and this is the very reason why importing fails. I don't know where should I post the fix, thus I'll just put it in here. Add following to main() function:
System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US");
After compiling the code I got executable that successfully generates that ugly COLLADA file that even open in SketchUp. Now if I have time perhaps I'll take a look to make it more compatible with PADS as well... We'll see.
dan_e_thomas
I just tried changing the system decimal separator from Control Panel ->Clock, Language, and Region -> Formats -> customize...
before starting the converter, and the conversion worked with the standard program! Thanks again for solving this problem!!
bobabre
I am in Italy. Can you tell me exactly, step by step, what do you to fix a bug? Thank you for your cooperation
Roberto
dan_e_thomas
Hi Roberto, I just got a chance to get back on this page; were you able to get the program to work for you? As "pirttpe" pointed out, my method does require you switch the separator character back when you are done, or it could cause problems in other programs. Pirttpe's method is more complete, and better if you have the time! Otherwise, hopefully he will share this code when he is done!!
Dan
pirttpe
Like Thomas pointed above, the most simple method "fixing" this is setting either system decimal separator to "." or changing your region settings to e.g. United States. This however may affect to some other programs that are localized to fit needs in your country.
If you know Visual Studio well enough to compile projects, download the project source and open IDFConverter.cs where you add the "CurrentCulture" setting to beginning of Main() -function. This way the program can be forced to ignore system default and use this setting instead.
The other problem with "too many spaces" between fields in IDF file (e.g. PADS uses multiple spaces to tidy up things) needs to be fixed in class IDFCommon (file: IDFCommons.cs). The current code splits each field by detecting a _single_ space, but obviously this is not way to go. I tried to make it my way using regular expression (although the comments in code advices against this due to the possible speed degrade) and it does the job for me but not sure if it will cause some other trouble then (e.g. with big files).
With little fixes this is OK program. Hope the developers will take these things account. At the moment I'm not paying more attention to this as I'm about to make this whole thing my own way.
dan_e_thomas
Great work, and it would be nice if you share what you create it your own way, or at least give people the option to buy it for a some fee!! :-)
Dan
dan_e_thomas
Good job finding the problem the program works on some computers and not others, as well as posting a fix. It feels like it could be fixed by changing the system default for the separator symbol, but I haven't tried yet to confirm that is correct.
jez_moffatt
Are any new developments available? i have version 11 and have trouble with round components.
the idf files are from Zuken CR-5000 and other than the round testpoints and an inductor, all of the other parts worked fine and imported to sketchup.
thanks
morgaat
I need an FTP site to download the software from. The firewall here will not allow me to directly download with certificates/security issues. Is there a ftp download site, or one created for me to access. BTW, I am going to attempt to use this software with Expedition 2007.7, 7.9.2, PADS, Altium, and Eagle. Preferred output will be IDF 2.0 and 3.0.
Thanks
MikeBK
Hi morgaat, Unfortunately there is no FTP download at the moment, but a good way to go around your donrload problem is to use https://www.transferbigfiles.com/
Alternatively you can download at home and use good old memory stick.. that is however a 1 day delay!
pirttpe
Like posted above, PADS generates two files: .emp and .emn. Even if renamed to .idl and .idb the converter won't handle these ("The selected .IDB file appears to be corrupt") and I believe it is for the reason that Jerome wrote about 5 weeks ago.
If you still would like to receive a sample, I can send you the files of a "one-component PCB".
Mark Cundle
Hi Rudy,
We haven't changed the structure of the IDF file output in DSPCB. I have just retried and for me it's working. Let me know what you're doing and I'll try to help you out.
Cheers, Mark
RudyStamanne
The converter doesn't work with idf v3.0 export of DesignSpark 3.0. Maybe in the future ?
Thank you for attention.
Rudy
Metraware
Hey, after some hack I've succeeded converting a Mentor Graphics Expedition PCB to sketchup.
Here is the procedure waiting for a fix :
1/ rename both the .emp and .emn files respectively in .idl and .idb
2/ remove all extra spaces in both .idl and .idb files (I used a nice feature of PSPad to do that). It appeared that the converter doesn't like too many spaces between arguments. One is enough ;-)
3/ browse your library file (.idl) for all components having a 1 in the first column. They are circle, and the converter doesn't like them at all. Replace sequences like :
.ELECTRICAL
"Vis3mm" "Vis3mm_trou_3.2mm" MM 2.03200
1 0.00000 0.00000 0.00000
1 2.79400 0.00000 360.00000
.END_ELECTRICAL
with
.ELECTRICAL
"Vis3mm" "Vis3mm_trou_3.2mm" MM 2.03200
0 -1.0 -1.0 0.00000
0 1.0 -1.0 0.00000
0 1.0 1.0 0.00000
0 -1.0 1.0 0.00000
0 -1.0 -1.0 0.00000
.END_ELECTRICAL
It will replace circles by a 2x2 mm square (you can use any other value you want)
4/ use the converter the normal way
5/ Enjoy !
Let me know if I forgot something in the procedure.
Jerome
TonyD
I've two questions:
For the next release, instead of a simple skyscraper cityscape will be possible to add 3D models (your own if possible) to the output for a more realistic rendering? Currently I'm having to manually import and place them.
Any plans to release the source code for PCB Converter?
abbas79
I have the same problem, I try to import the IDB file for the demo board and the following message appear:
The version of the selected .IDB file is not curently supported.
Please refer to the help for more information on supported file types and versions.
Thanks for this work, I hope to get this bugs fixed
Best regards
Abbas
oitony
I hae just tried to use this with an output from Mentor Expedition 2005 SP3 after changing the extensions I get the error message:
The selected .IDB file appears to be corrupt.
Please refer to the help for more information on supported file types and versions.
Header is as follows:
.HEADER
BOARD_FILE 3.0 "Expedition PCB" 2011/10/04.16:51:03 1
"505_04.pcb" MM
.END_HEADER
Any Ideas?
Connector Geek
Hi there,
I'm happy to take a look. Are you able to send me the actual files so that I can try them out?
I have sent you a connection request. Please click "yes" and then you can send me a message.
Best regards
Connector Geek
Lserot
PCB Editor (Allegro) can't create a idb file (non industry standart), just idf files. Rename the emn file cannot fix the problem issued in the Converter for Sketchup while importing an idf file. It's a known problem by RS.
paidifitz
PADS doesn't allow an option to create a .idb file, it's idf board file is always a .emn file, changing the extension doesn't fix it, when I try to convert it I get an error saying the idb file was corrupt. Any ideas how to get a PADS IDF export to work?
giorgio.pon ...
When i tryed to convert one example of DESIGNSPARK PCB (Analog circuit) i have always the same error:
The version of the selected .IDB is not curently supported.
What is wrong ?
Can somebody helpme ?
Regards
Giorgio
Connector Geek
Hi Giorgio,
Would you be happy to share your files with me? We will have a look and see if we can fix the problem.
Best regards
"Geek"
TFreitas
i have the same problem!
The files are from the Exemple folder provided by DesignSpark. I opened created the IDB and IDL files like in the video example and then drag the IDB file to the converter and the app returns the error that the other user reported
Connector Geek
Hi TFreitas,
Thanks for your information. We are working on the next version of the converter tool. As soon as we release the latest version, I will let everyone know.
Best regards
David
TFreitas
Ok thank you
syfy
Hi,
I'm getting the same error "An error has occured importing the board (.IDB) file." with Altium designer. There are a few options where i can choose from:
- version (2.0 or 3.0)
- Units (THOU, MM)
- Export Drilled Holes(All, selected)
- Replace '.' with '_'
- Component Outlines From Multiple Component Bodies (Use Bounding Component Body, Create Sub Components)
- than there are the Exported Sections:DrilledHolesCheck, Board Outline, Placement, Placement Group Area, Placement Keepout, Placement Outline, Routing Keepout.
Please advise, thanx.
Rob
Connector Geek
Hi Alibabob and DaBit,
Would you be happy to share your files with me so we can get our development guys to work?
I have sent you both a connection request. Please accept the requests, and you can PM me the files.
Many thanks
"Geek"
DaBit
Hi 'Geek',
Sorry for the delay; I didn't log in earlier.
Sure, I am willing to share the IDF with you. I can also generate any IDF file you want (simpel board with one component maybe?).
I accepted the connection, but probalby missed the button to PM you. Can't I just send you an E-mail?
giorgio.pon ...
DaBit
Tried it with PADS 9.3 too. Renamed the .emn file to .idb, but no luck.
Alibabob
I still can not open files created by PADS. I have to change file extensions (emn and emp) manually, and the converter complains of a corrupt file. But I have an error message.
Connector Geek
Hi Everyone,
As a result of everyone's help, we have now released a new version of the PCB Converter for SketchUp.
Version 1.1 addresses the following issues:
1) Fixed a bug involving multiple white spaces between values.2) Fixed a bug which in some cases prevented the final component in the library file from being imported.3) Added more detailed error messages for corrupt file handling and un-supported file versions.4) Fixed a bug in the meshing code which was causing inverted normals on some models.
1) Fixed a bug involving multiple white spaces between values.
2) Fixed a bug which in some cases prevented the final component in the library file from being imported.
3) Added more detailed error messages for corrupt file handling and un-supported file versions.
4) Fixed a bug in the meshing code which was causing inverted normals on some models.
Please download the latest version above and re-install. The installation will overwrite the old version (as long as you choose the same file location!).
Once again, thanks to everyone for your patience and advice.
Best regards
"Geek"
Mykl
OK, I can get the rough "skyscraper" style representation of the PCB in Sketchup.
Now the press releases for this tool say "CAD models of products in the RS product range can be downloaded from its website in SketchUp compliant format (*.skp) and used in the tool." How do I get the tool to use a .skp model for a component type, instead of an extrapolated-outline "skyscraper"?
Connector Geek
Hi Mykl,
Thanks for your comment. You can download our 3D models here.
Best regards
"Geek"
came
Hi,
I tried the PCB Converter but if I use a circle as silkscreen and export the IDF the converter fails to convert this IDF with the following exception:
System.IndexOutOfRangeException: Der Index war außerhalb des Arraybereichs.
bei RSComponents.IDFConverter.ColladaExtruded..ctor(String name, List`1 points, Single height)
bei RSComponents.IDFConverter.formMain.Export()
bei RSComponents.IDFConverter.formMain.buttonExport_Click(Object sender, EventArgs e)
bei System.Windows.Forms.Control.OnClick(EventArgs e)
bei System.Windows.Forms.Button.OnClick(EventArgs e)
bei System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei System.Windows.Forms.ButtonBase.WndProc(Message& m)
bei System.Windows.Forms.Button.WndProc(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
It seems that a circle has only 3 type 3 records in the .idl file and the last record is not the same as the first record. If I copy the first type 3 record at the end of the list the exception does not appear.
Connector Geek
I'd just like to thank everyone who posted comments and sent us e-mails to let us know about issues you are having. We are working hard on a solution, and we are hoping to get a new version of the PCB Converter published early next week.
We will, of course, let you know when it's ready. Until then, please bear with us.
Cheers
"Geek"
Unrouted
Hi,
i've tested the program with several IDF files. Most out from Cadsoft EAGLE script. And one example file set out of the IDF v3.0 spec (last 5 pages). simplifiedsolutionsinc.com/images/idf_v30_spec.pdf
On all files i get the following error:
"An error has occured importing the board (.IDB) file.
Please refer to the help for more information on supported file types and versions."
Can anyone post a small and working example fileset for testing the program and find the differences?
PeteBrant
Agreed with the above - Not working for Mentor Expedtion, or Boardstation IDF output. Can send sample files if required.
paulco
wrote a quick app to remove the additional spaces.
Seems thats not the only problem!
paulco
Doesn't seem to work with IDF output from Cadence Allegro either.....
Bit of investigation and it seems that the convertor can't cope with multiple spaces between parameters.
The IDF specification doesn' specify that there must only be one space. Cadence certaintly put multiple spaces in so I guess mentor are as well.
Should be fairly quick and easy to fix........
JohnBurke
Doesnt work with 3.0 IDF out of Mentor Expedition. Too bad.
Connector Geek
Hi John,
Thanks for your comment. We're keen to see if we can fix the problem.
Can I ask a favour? Could you send me the IDF output that you created from Mentor Expedition? I'll then get it to our software guys and ask them to look into it.
I've added you in my connections - once you accept, you will be able to send me a PM.
Many thanks
Connector Geek