Bug? Kicad or StepUp or 'Me'... Not Sure

Kicad 5.1.7
kicad StepUp version
OSX 10.12.6

[See Follow-up, below]

I know this isn’t the the place to report a bug with StepUp but, the problem I’m having isn’t with all my PCB’s so, it may be ‘something’ about the particular PCB’s that causes a Crash in FreeCAD. Thus, perhaps more related to my design and/or Kicad.

When ‘No Problem’, all works well when loading PCB/Parts and Traces.

When ‘Yes Problem’, the PCB/Parts load OK but, loading Traces causes a FreeCAD Crash just after the Traces/Pads appear.

• Using Default Origin or Aux Origin (Pref’s and PCB setup correctly) - Happens for both.

• The PCB/Parts are at correct position
• The Traces are Not at correct Origin - they’re a good distance from the PCB (Origin visibility turned On for FreeCad, PCB/Parts…

I tried loading just the Traces and same thing happens - thus, probably nothing wrong with the PCB… This also ’Sometimes’ happens with simple PCB/Parts


In Kicad, I Plotted DXF of the Traces and imported DXF into FreeCAD and made a Face from Wires and Extruded. No problem. Thus, I think there’s a Bug with StepUp… Screenshot of Imported - bottom layer…

without the kicad_pcb file it is difficult to give an answer… BTW often this kind of crash could be related to video drivers

this may depend on your origin in kicad_pcb file

Thanks. Attached is PCB and screenshot of Origins in PCB

Hydro7_wWires.kicad_pcb (89.7 KB)

Screen Shot 2020-11-16 at 8.33.40 AM

no issue on my side:

and here the FC file:
Hydro7_wires.FCStd (449.0 KB)

@BlackCoffee are you on FC 0.18 or 0.19? I know that fc0.18 has issue with some video drivers.

Here my FC version:
OS: Linux Mint 20 (X-Cinnamon/cinnamon)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.
Build type: Release
Branch: unknown
Hash: d3d34fc9d1622d842a3a07b057e53d2a9d4e0a8c
Python version: 3.8.5
Qt version: 5.12.8
Coin version: 4.0.0
OCC version: 7.3.0

hum… Never had a problem with other software (and, I was a tester for Microsoft and Oracle/Java)…

I loaded your posted file - no problem but, no parts/wires loaded - so, you must have done something (like, deleted them or other?) Did you load the full board or only the Traces?
(loading the traces is what causes the Crash on my end. I guess I could (should) update FreeCad to most current version…)

My MAC info:

OS: macOS Sierra (10.12)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.21514 (Git)
Build type: Release
Branch: master
Hash: 89ddab33f692a9bd739171689f9ab0eb58d64b35
Python version: 3.8.2
Qt version: 5.12.5
Coin version: 4.0.0
OCC version: 7.4.0
Locale: C/Default ©

Screen Shot 2020-11-16 at 12.32.22 PM

My configuration simply didn’t find 3D models…
Because in your file you are using a 3D path variable ${KICAD_USER_3DMOD} which I don’t have… the models cannot just be loaded.

After loading the board, which I missed the 3D models, I loaded the tracks…

I just updated FreeCAD to 0.19- 22960.

Same problem… I also tried loading a few other simple PCB/Tracks and had the same problem - some crashed some loaded the Tracks (Pads yes but, no Traces) off of the PCB (screenshot).
One was on a board that had No previous problems loading Tracks… screenshot is for that one.

[EDIT the last two images below for very simple PCB did work!

it’s worth asking about StepUp’s Pref’s (and STEP and DXF Import) panel
These are my settings - anything obvious/suggested about them?

I don’t have any issue both on Linux or win…
Sorry but I don’t have access to any mac pc, so I cannot test on my side with similar hardware…
I cannot help further … may be some of forum’s user with a mac could test your board…

understood but, how about the panels posted above…?

here my settings:

Anyway I would point the issue on Qt-version and driver interaction…

Hi @BlackCoffee I tried your board on my PC (win10 with FC Version 018-4 and kicad StepUp version ) and it loaded the model and the tracks without problem. However as you can see not all the models were found.

I once had problems loading a board and it all boiled down to a model that was somehow “faulty”, try removing one by one the models that are not shown on the screenshot to see if you could find the culprit.

p.s. This were the messages from StepUp when loading the board




If it helps, this are my FreeCAD settings:

no issue also on

OS: Windows 10 (10.0)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.22960 (Git)
Build type: Release
Branch: master
Hash: c5a4b01d2e4218bcc0eb6650337650a6c65ef0e4
Python version: 3.8.6
Qt version: 5.12.5
Coin version: 4.0.0
OCC version: 7.4.0

we would need a mac user testing…
I’m pinging @John_Pateman if he can test the board on a mac…

I did run into a bug with Stepup (note: this is a FANTASTIC plugin! along with @Seth_h stepreduce! reduced some of my complete STEP from 100Meg to 20meg!!!)

Since Kicad step export does not include traces I was using stepup to generate a more complete step so mechanical clearances can be checked (copper to chassis). Three of the four no problem but the 4th kept producing an error and stopping.

The card is loaded fine, but it is when I go to load traces

12:02:48  polyline points: 6
12:03:00  Running the Python command 'ksuToolsAddTracks' failed:
Traceback (most recent call last):
  File "C:\Users\jrb1\AppData\Roaming\FreeCAD\Mod\kicadStepUpMod\kicadStepUpCMD.py", line 3215, in Activated
  File "C:\Users\jrb1\AppData\Roaming\FreeCAD\Mod\kicadStepUpMod\tracks.py", line 247, in addtracks
    pcb.makeCopper(holes=True, minSize=minSizeDrill)
  File "C:\Users\jrb1\AppData\Roaming\FreeCAD\Mod\kicadStepUpMod\kicad_parser.py", line 1414, in makeCopper
    obj = getattr(self,'make{}'.format(name))(fit_arcs=sub_fit_arcs,
  File "C:\Users\jrb1\AppData\Roaming\FreeCAD\Mod\kicadStepUpMod\kicad_parser.py", line 1112, in makePads
    w = make_shape(Vector(*p.size),p)
  File "C:\Users\jrb1\AppData\Roaming\FreeCAD\Mod\kicadStepUpMod\kicad_parser.py", line 223, in make_custom
    raise RuntimeError('Cannot find polyline points in custom pad')

Cannot find polyline points in custom pad

To work around this, I did a quick mod to the plugin

kicad_parser.py ~ line 1408

            try: # jrb added 
                obj = getattr(self,'make{}'.format(name))(fit_arcs=sub_fit_arcs,
            except: # jrb added 
                obj = None #jrb added

Diirty hack and does result in incomplete tracking and pad information BUT it did permit it to complete so I had something to play with. I keep meaning to loop around to find out how to fix this correctly

This error seems to be related to some footprint with custom pad… have you made some extra footprint? Could you post the board or even a reduce copy to check the issue?
Are you using a 5.1 or a nightly kicad release?
P.S. the track parser which come from this fcad_pcb repo doesn’t cover all the custom pads available in recent kicad.

v5.1.7, sticking with stable as this was for a suite of cards being made

No custom pads on this card ( one of the other does have custom pads and it imports fine).
I can’t really provide the file :frowning: but I can start cutting it back… a simple rule of halves before it starts working… it could take a bit of time

I think it is the wurth PCB pillar - technically this is a custom pad and it is part of the main library.
What I find odd is how this then impacts lots of other nets

Test_design.zip (6.6 KB)

This seemed to open OK - but I did get the same errors that @der.ule repo.rted.
This is on macOS 10.12 with FreeCad 18.