KiCad 7 STEP export with wrong board

Hello,

I am using: KiCad 7.0.1 on windows 11 64bit

Using the Export->STEP results in a file that has all my components correctly except the board itself that is from another design of mine! (not random!)

Tried on three different project, all are exported with the same wrong board.

Tried uncheck: use similar names … and change the origin to: board centre with no luck!

No Error on export log,

Kind of frustrated here, any help will be appreciated!

Thanks

Are you able to share the board file? Does the board render ok in the 3d viewer? Mayne you have some odd geometry in your board outline.

Is the DRC happy with your board outline?

1 Like

Thanks for the reply. Please find the board attached. [UPDATE: it’s uploaded in the following post.]

For viewing .STEP I am using SOLIDWORKS 2018.

And NO, DRC is very angry at me, for this small board it’s giving me more than 30 errors and warning complaining about Footprint has malformed courtyard (self intersecting) mainly. I am not sure if they are legit so ignoring them for now!

I promoted you so you can attach a file now.

2 Likes

CiTE_WirelessBase_Power_rev01.zip (237.1 KB)

Thanks Much appreciated!

Also the courtyard error:

and STEP:
CiTE_WirelessBase_Power_rev01.step (539.9 KB)

You have doubled courtyard lines in L1.

I opened your STEP file in FreeCAD and can see nothing. I exported the design from the PCB editor and opened it in FreeCAD:

image

The object tree is also completely different. Are you sure you have opened the correct file with Solidworks?

1 Like

I heard this has something to do with Default Templates, or Toolbox.
Try creating new templates and pointing to them in settings:

4 Likes

wow, that was dead spot on, did reset the templates and it’s all good.

Thank you both for your input.

Cheers

2 Likes

So I am back, this did solve the problem for one board initially, but now everything is messed up. Wrong PCBs are assigned to all my other projects…

I can not figure out how this could be SolidWorks problem and I can not even call the support! (basically this only happens with KiCad and not any other programs/files).

It is the PCB component, which is refrenced wrongly to another place [UPDATE: other components are also referenced incorrectly] :

[UPDATE] This is my workaround, it’s nasty and it works for now!

-Reset the templates as described by dsa-t.
-Import the new KiCad STEP
-save as a new STEP file with flat structure
-import the new STEP file
-save as assembly

This way all boards and components remain intact!

The issue with Solidworks is that you are dealing with an assembly and it cannot have 2 copies of PCB.step in memory at the same time . . . you if you load up PCB-A.step and them load up PCB-B.step then PCB-B will be shown with the PCB from PCB-A.step.

If you close Solidworks, re-open it and open PCB-B.step it should now have the correct PCB.

1 Like

Ugh, I think somebody mucked up the assembly names in kicad’s export code lately. It originally did use the project’s name for the PCB for that exact reason.

1 Like

It’s fixed for the next 7.0.2

1 Like

Thank you, just a quick note that I can see it uses general terms like SOLID and COMPOUND for other parts too. I hope you picked that one up too.

Thanks

1 Like

yes please do not use any duplicate names. pcb, solid, compound should always have some project id in it so multiple projects don’t mix in the solidworks arena. i am running into this alot as i have a multi board project.

is there a way to manually edit the naming method for now? are PCB’s exported through a python script i can edit or is it embeded in the application?

7.0.2 is the current version.

When I posted that response, the date was March 21, 7.0.1 was the current version :wink:

Otoh I dunno what you are trying to say

Just trying to let Iccor_56 know that the issue should be fixed in the latest released version :wink:

1 Like

is there a way to manually edit the naming method? are PCB’s exported through a python script i can edit or is it embeded in the application?

Nope. It’s part of ze C++