STEP files used in Solidworks assembly

Hi Folks,

I wouldn’t call what I’m about to describe as a bug but it’s something that might want to be addressed in a future release . . . assuming it’s not an issue with me.

I’m designing some very long narrow PBCs to be used in place of a cable, due to their length they have to be made in parts. So I designed the PCBs in KiCAD (5.1.8), Schematic and PCB, and export the PCBs as STEP files.

When opening them individually in Solidworks (2019) they open fine, if I open one and then the other they look identical . . . . this means I cannot build the two parts into a Solidworks assembly.

The cause of the issue is that the STEP files have a component in the STEP file with the same name, COMPOUND.step When I open the second STEP file it uses the COMPOUND.step from the first PCB resulting in two identical PCBs.

I fixed this by editing one of the STEP files in a txt editor and changed the text from COMPOUND.step to COMPOUND1.step

Could the generic COMPOUND.step be replaced with something specific to the project/PCB name ?

I try to reproduce on FreeCAD and couldn’t (and KiCad v5.99), so I checked that the first lines of the STEP file are like:

FILE_DESCRIPTION(('KiCad electronic assembly'),'2;1');
FILE_NAME('My project name here.step','2020-09-01T15:36:13',('Pcbnew'),(
    'Kicad'),'Open CASCADE STEP processor 6.9','KiCad to STEP converter'


I have this line towards the end of my STEP file . . .

#1101 = PRODUCT('COMPOUND','COMPOUND','',(#1102));

. . . this is the line I had to edit.

I have the same line here, so it’s appear not be reproducible with FreeCAD. Could you have a try with FreeCAD (portable) to we track this behavior?

Using SolidWorks 2000 (Not updated it in 20 years!).

Here’s what I did:

  1. New Kicad Project
  2. Copied the PCB in the Project. Thus, One Project with Two PCB’s, named PCB_1 and PCB_2.
  3. Added one part to each PCB.
  4. Exported STEP of each. Also, Exported PCB_2 again saving it with different name (PCB_2X).
  5. Opened Each in SolidWorks.

No problems.

[EDIT: Should have mentioned I wasn’t paying attention and I Rotated the Part on PCB_2, 2X)

Each opened ok and the Names (Compound…) were uniquely labeled as shown in image (i.e., Compoundaaa, Compoundaaaa and Compoundaaaaa) See ‘Blue’ label’s

I tried my STEP parts in FreeCAD, it managed to open both parts fine, I couldn’t figure out how to make them into an assembly. I didn’t expect anything else to be honest . . . I suspect the issue may be with how SolidWorks is treating the STEP files, I just wondered if the ‘COMPOUND’ field name could be changed ?

OF course it might also be how I have Solidworks configured, I’ll investigate some more.

Adding Info…

Been too long since I used SolidWorks and I didn’t remember to create an Assembly containing the Three Step Files that need converting to .SLDPRT.

This is How TO DO It (in my 20yr old version of SolidWorks).

  1. After opening Each Step File, Right-Click the desired ’Compound…” Label and Select “Open compound.sldprt”.
    Save each one.

  2. In a SolidWorks Assembly, Insert_Component_From_File select the desired Compound.sldprt file…

Thus, ending with Results of One SolidWorks Assembly file containing Three Step Files(Converted to .SLDPRT )

STEP files are opened as an assembly in 2019 . . . so I don’t have the option to save as a part.

I am able to Save as and save the assembly as a SW part file . . . that might be an option.

Another optioin (for me, and ‘Perhaps You’) is to Select the Desired Assembly then, use the “Derive Component part…” in the File menu. That makes it a sldprt.

I think there was a similar discussion regarding SolidWorks and @maui’s FreeCad Plugin. And if I remember correctly the issue was solved. So maui might know something more on the topic, which might help you to solve the issue or at least open an issue on the KiCad Gitlab site, so that developers are aware of this and can fix it.

@RaptorUK you might want to search the discusion history on this forum if there was something similar already discussed

@MitjaN I should have recalled it…
it should be something already solved in StepUp:


I have a couple of work arounds,

#1. edit one of the STEP files to change PRODUCT(‘COMPOUND’,‘COMPOUND’ to PRODUCT(‘COMPOUNDx’,‘COMPOUND’
#2 open each of the STEP assemblies in Solidworks and save them out as Solidworks parts, then build my assembly from these parts

both these option add a little time to my work flow but that is easily manageable for the project in question.

It just seems to me that the way the STEP file is written could be changed to make it more compatible with other applications, in my case, Solidworks.

I don’t think I’ll be adding FreeCAD into my workflow. At one point I was hoping that I could maybe use it and StepUp to combine STEP files and VRML files to get a STEP file with track and pad detail but I couldn’t find out if StepUP would definitely do this for me. StepUp seemed quite convoluted to setup and I don’t have the free time to try right now.

Are you able to confirm if StepUp will combine the STEP and VRML from KiCAD into a STEP with pad and track info ?

some info…

First order of business… I came to FreeCAD after 20 yrs of using SolidWorks and Pro-E. I discovered that the ‘Part Design’ workbench is similar enough that it took only verrry short time to become an ‘expert’. Some tools/features in SW are located in the ‘Part’ and ‘Draft’ workbenches. It can be confusing but, mostly because the ‘Syntax’ of what things are called. Example: You know what ‘Extrude’ means but, in FC, it’s called ‘Padding’.

(A similar stupidity exists in programming: Old school (me) uses the word ‘Initialize’ but Mr. Job’s wanted his own word and coined the term ‘Instantiate’ . )

Back to the point…

Below shows loaded Step file of Board and Traces in SolidWorks. I added a Hex hole and colored some traces to show usability of the Step file for tweaking. I DID NOT use StepUp for any of this but you can make it easier by opening the DXF of traces (in FreeCAD) and using the Tool in Stepup called “2D Object (or DXF) To Surface” then extrude it…

Images show:

PCB and Traces without using StepUp. Simply Exported Step file from FreeCAD

Arduino Exported from StepUp (with components of interest for my needs)

1 Like