Trouble importing full 3D PCB into SolidWorks

STEP is better because the data generally describes the solid models better via “winged edge structures”. IGES is a much older specification, is simpler to program for and still universally supported by MCADs, but is expected to decline in use over the next decade or so. The only drawback of STEP from the user’s perspective is the varying degree of support for different ‘Application Protocols’ since the standard has been changing rapidly since it started in the mid-1980s (first published 1995). The planned IGES export in KiCad is just a baby step towards STEP support; support is intended via a lightweight library rather than OCE/FreeCAD which has a very large geometry toolkit. But don’t believe the old hype about IGES being dead - that’s been going on since ~1988 long before STEP was even published. For electronics assemblies STEP should be the only thing you need; it’s a different matter in the mechanical manufacturing world where some outfits still prefer an IGES model due to old software or inconsistencies in the support of various STEP APs and their versions.

Ok, so to summarize — STEP is the way to go and I should build a collection of STEP models.

If you’re using StepUp scripts, draw your parts in FreeCad, export .step and .vrml and put them in the same folder. Reference your footprints to these and you’ll be good to go.

1 Like

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.