Trouble importing full 3D PCB into SolidWorks

and I’m building a 3D MCAD library ready to be used with standard kicad ‘.pretty’ module libraries…


Why do I think that a free 3D MCAD library is useful and important for kicad?
Because I would like to make possible to publish a full open hardware project: schematic, pcb and 3D mechanical model for enclosure design …
using pseudo free on-line libraries this full freedom cannot be achieved :smile:
I provided chip resistors, chip capacitors, Tantalum and Aluminum SMD capacitors
and I’m preparing most Gull Wings integrated circuits (SOIC, SSOP, QFP etc.) and QFN…
and I’m getting some help to add also connectors and some transistor and diode models…

2 Likes

@maui, you are doing fantastically useful work, thank you!

I hope some (or all) of what you are building will get pulled into KiCad, so that we can all just click “Export STEP” and be done with it.

1 Like

Now that I think of it, it would be even better if KiCad could export STEP, and also two bitmaps, to be used as texture maps for PCB top and bottom. That way you could create totally realistic-looking assemblies in your CAD. (Just a wish).

Not sure if I follow it or/and I dont know how that softwares works… but you can already export the layers (i.e: plotting) with kicad… maybe you need some external program (eg: inkscape and/or the gimp) to export to a image.
Depending on your skills dealing with textures, you can also take a screenshot of the 3d-viewer without models and use it as texture maps for your top and bottom planes.

Resume: you can do it already but not automatically, you need to have some skills with your CAD software and maybe other images softwares.

@kammutierspule My point was that I am hoping that all this will be done with a single click. Everything is theoretically possible today, but some operations require a lot of time and effort. @maui’s work is spectacular, but if I want to use it I still have to install FreeCAD, figure out the directory structures, download and install additional STEP models, and then learn how to use the scripts from a 27-page Starter Guide.

To be clear: I am not complaining, just quietly voicing my hopes for the future :grinning:

I’ve asked to developers mailing list a wish to have a configurable button in pcbnew to execute a python file
https://lists.launchpad.net/kicad-developers/msg21531.html
that would give the STEP exporter a more user friendly operability…
and would give the opportunity to easily run any python macro just with a click, avoiding the geek way to open the pcbnew python console and digit python commands

[EDIT]
@jwr please note that you will always would need a 3D library of STEP models to create your 3D mechanical model of board and parts…
(have a look e.g. what other famous PCB CAD do)
the way to convert VRML models to STEP is not feasible, because of non BREP models…
the opposite STEP to VRML is the only way… (and it is what the 3d refactoring will do internally in kicad)
for that reason I’m trying to put the attention on the need (I consider a must) to have a 3D library in STEP for 3D models/parts and I’m putting a lot of effort on that :smile:

  1. FreeCAD is a MCAD modeler … so you get a plus installing … after a bit you probably will find it a very nice tool
  2. download and install additional STEP models -> we need a 3D mechanical library
  3. learn how to use the scripts from a 27-page Starter Guide… I know I’ve been a bit verbose :slight_smile: , but the pages are about the script options, the tools, the 3D parametric libraries I’ve done… if you just want to run the script you can stop the reading at page 2 (page 1 is the Table of content)

@maui Yes, I understand the need for a STEP library, I just think that either KiCad should switch to STEP models, or dual STEP+VRML libraries should be maintained. Your library-building effort is impressive, and I hope it will make its way into KiCad.

I suspect that VRML was chosen because it was easier to implement than anything else, so it’s likely mostly a historical reason now.

That would be dependent on the exporter / file format. It depends on work related with exporters. I guess for the CAD exporters they will not be very happy to spend time on a feature like this.
Maybe if we have some exporter to render propose (eg: to be render in blender…etc) we can have something like that.

not just that… but STEP format is behind a paywall afaik, I couldn’t find an easily accessible format specification for it… VRML standard is open source.

from Goolge

STEP-File is the most widely used [citation needed] data exchange form of STEP.
ISO 10303 can represent 3D objects in Computer-aided design (CAD) and
related information. Due to its ASCII structure it is easy to read with
typically one instance per line.


http://stepcode.org/
http://stepcode.org/docs/home/
http://stepcode.org/docs/p21_cpp_example/

I would say it is just a bit more complex then vrml…

but there are libraries like Open Cascade (used by e.g. FreeCAD) or StepCode :slight_smile:

so I would vote for

cool, stepcode.org is new to me - thanks for the link.
It’s because of the ISO thing I stumbled across and the steptools website… all very commercial.

adding the ability in kicad to export top and bottom layers not only in vector format but also in bitmapped (png) would be nice!
and also let this feature visible to python… :smile:
(in FreeCAD it doesn’t matter much for modules programming, everything you can do in c++ you can also do in python)

Hi @jwr,
I just updated my kicad StepUp tools… I moved all the code to FreeCAD because of its powerful APIs…
Now it is possible to open a ‘.kicad_pcb’ board or a ‘.kicad_mod’ footprint with just one click…
(obviously the MCAD lib is a requirement)

the config file is in ‘.ini’ format and it is more readable
hoping that would keep the ECAD MCAD collaboration easier :smiley:

2 Likes

That is mightily impressive! Thanks for your wonderful work. I will be trying this out soon! :grinning:

1 Like

Hi,

I ran into the same trouble that the pcb was visible but none of the components. So I looked at the .wrl file and it looks like the components are not correctly listed. KiCAD basically takes the file name in the “VRML export options” adds the “Footprint 3D model path” below as a new dirrectory and tries to find the .wrl files of the components there. I tested it first by manually changing the filename in the .wrl file of exported pcb and the component was there as you can see in the pictures. The lines can be found easily in the .wrl file like in the example for the TSSOP package:
Transform {
translation 0.143002 -0.10541 0.0008
scale 0.00254 0.00254 0.00254
children [
Inline {
url "J:/VMmachines/Elektronik W7/Daten/Spritzguss/Maschine/KiCAD/shapes3D/TSSOP-16_4.4x5mm_Pitch0.65mm.wrl"
} ]
}

The easiest way certainly is to simply put all used packages as .wrl files in the directory given by the export path plus the “Footprint 3D model path” in the VRML export options.


it seems to me you are talking of VRML exported from kicad, aren’t you?
from the Menu
File
Export
VRML
if that is the case, this doesn’t have anything to do with the kicad StepUp MCAD exporter
Just check your exporter options

Hi Maui,

this is the easiest way. I also found it out after I had published my long story.

As a beginner in 3D design, I’m looking for a companion tool next to Kicad to work out the mechnical parts of my design. I see a lot of references to FreeCAD, but also found the BRL-CAD package (brlcad.org) which seems to be a mature set of 3D tooling. Has anyone experience with the latter? How does it compare to FreeCAD from a user experience perspective, learning curve etc.

Hi @zutje,
when I had to work with 3D mechanical objects I chose FreeCAD for the following reasons:

  1. a very strong and reliable operability for STEP import and STEP export
  2. importing and exporting STEP models work preserving face colors even in case of fused objects
  3. a strong and reliable scriptable interface
  4. a fully GUI programmable interface
  5. option to export VRML compatible to kicad
  6. Win, Linux, OSX version
  7. a very useful and helpful forum community
  8. open source project as kicad

I looked also to BRL-CAD but when I tested it, importing STEP models were quite limited/partial supported
http://brlcad.org/w/index.php?title=STEP

currently the tool step-g has partial support, and the toolkit https://github.com/stepcode/stepcode is branched into the src/other source tree.

I don’t know if they have improved it but I re-checked quite recently with the same feeling…
FreeCAD learning curve is quite long, as in fact is for many MCAD sw, but FC programmers are developing new features and Workbenches to improve user experience
I recently added the ability to preserve colors to the Assembly2 WB, and that has been merged, so from now assembly parts in FC is even simpler and colorful :smiley:


and moreover there is kicad StepUp that is developed under FreeCAD, which can help you in ECAD MCAD collaboration, exporting directly your board and parts to STEP

and a lot of mechanical library parts here

EDIT: I forgot to mention DesignSpark Mechanical, which is free but not open source… its usability is quite easy, but it saves only in proprietary format, unless you buy an add-on license. It does import STEP with colors but doesn’t export to STEP (free version), so it is not suitable for a bi-directional use…
OnShape is free too (only on line tool), but it doesn’t manage colors in STEP files, if they are fused or if the colors are on faces, so you will lose some aesthetic but useful aspects using FreeCAD for KiCad 3D MCAD libraries or on line library models …

Maurice

I’m pretty biased as I have access to Inventor and worked with other commercial tools before that.
FreeCAD does look very promising in it’s feature set and approach - the polish isn’t there yet though (1 year old comments).
But, the state of polish for KiCAD is in similar waters (not adjacent waters though).
So, if you can live with some bugs here and there and some odd behavior (if you tapped into CAD before) then I’d say go for FreeCAD - at least have it installed and take a couple of aims at getting something done with it.
I just searched youtube for some vids on the subject and there are plenty (check dates as FreeCAD is evolving on a 6 month pace, so stuff 3 years old might not be relevant today).

For comparison my E-CAD experience:
I never used Altium or OrCAD or other free Tools like DesignSpark. I did dabble with Eagle a couple of years back, but can’t remember much of it. KiCAD does what I want and I can live with it’s quirks.
I think it would be similar with FreeCAD if I haven’t have access to Inventor.

[quote=“zutje, post:48, topic:569”]
I’m looking for a companion tool next to Kicad to work out the mechnical parts of my design.
[/quote] it’s not absolutely clear if you’re talking the odd device/housing/mount or more complicated stuff like complete CNC machines or 3D printers?
If the latter I’d suggest you also take a look at free versions of professional tools like Fusion360 or Creo Elements. They will have restrictions but might be less painful to learn and more stable for complex stuff?

As for BRL CAD… the screenshots on their website or via google don’t look promising.