KiCad StepUp New exporter for 3D MCAD (feedbacks are welcome)

Hi Maurice,

Great tool, the demo looks great! Unfortunately I have some issues running the thing on my side.

I have a board and three components with 3D models, which I found online. I had the option at download to specify which format, so I got the VMRL and STEP versions. For simplicity, I am using the default KISYS3DMOD path (C:\Program Files\KiCad\share\kicad\modules\packages3d). I placed both files for each component in a subfolder at the path: boardAD/(files go here…).

The models needed some scaling and offsetting which I did in KiCad manually. When I ran the script, several errors are displayed. It properly loads the board, then add some components (not all) then displays the following:
boardAD/myfirstconnector.wrl error: reset values of scale to (xyz 111)
boardAD/mysecondconnector.wrl reset values of scale to (xyz 111)
boardAD/mysecondconnector.wrl reset values of scale to (xyz 111)
(… as many times as this connector is present …)
boardAD/mythirdonnector.wrl reset values of scale to (xyz 111)
(… as many times as this connector is present …)

Basically, for all the components. The script did:

  • load one connector with proper scale and offset
  • load the second type of connector but wrong scaling and offset
  • did not load the third type (not visible in the object list in FreeCAD)

For the third connector, the STEP file opens correctly in FreeCAD in standalone.

Any advice?
Cheers and thanks

Hi @bananabread

you are trying to achieve a mechanical representation of your pcb and components
so scale is mandatory 1:1 for all the 3D models
please spend some time reading the starter guide…
https://sourceforge.net/projects/kicadstepup/files/kicadStepUp-starter-Guide.pdf/download
there is a paragraph about “Create your own Library” which is very useful

All good library model should have
(model shapes/your3Dmodel.wrl (at (xyz 0 0 0)) (scale (xyz 1 1 1)) (rotate (xyz 0 0 0)) )
kicad StepUp tools can take care of offset and rotation, but I still would suggest you to use them only for enclosures or mechanical spaces or screws…

you can align and check if your model will fit the footprint, loading the footprint itself inside FreeCAD and align there the 3D model in MCAD way
have a look at this thread

Also have a read at this thread from the first post… you will see that someone found the same doubts and did some steps to improve the ECAD to MCAD collaboration…
also this thread may be very useful

Maurice

Hi Maurice - this looks really promising.

I have come across a small problem with importing a slightly odd shaped board. This is a curved board - sort of 'C" shaped but all that imports is a ‘D’ shaped segment of approximately half of the board.


It is correctly populated (or at least the part that I can see is correctly populated). Also I have only been able to import it as an .enl file.

Any advice?

John

Hi @John_Pateman
would you mind to share the board?
just the pcb edge would be fine or by a pm as you prefer…
your board edge segments create a closed path? (edge cuts layers had to be contiguous)


thank you for feedback
Maurice

He may check if he is getting any popup messages,
but I believe it is ok, otherwise, the board will be rendered as a square/rectangle.

Also overlapping is not allowed for mcad but it seems to me it is fine for 3d rendering…
Anyway, having the pcbedge in kicad format would solve the riddle :slight_smile:

My fault - you were right Maurice - the board edge was not joined although even at max zoom I had difficulty seeing where the problem was. I think the sensitivity for detecting closure must be different between the 3d render and the StepUp macro? I originally got a rectangular board in 3D view until I adjusted the outline. When I tried to import the file in StepUp I got the segment but the board rendered properly in 3D view. Sorry!
John

1 Like

MCAD needs precision… if you want a square you need a real closed path :wink:

I discovered on my road to MCAD that there is a nice function in pcbnew:
Edit Item” segment properties…
there you can discover exactly the start and end of a segment and fix it properly :smiley:

1 Like

I always end up doing this to set an exact board outline. It would be nice if there was a more direct way of entering a board outline as numerical coordinates of a polyline. As it is importing a dxf is the most direct method

1 Like

The problem with relying on the edit box is that the board i was having problems with is composed of arcs. Whilst using straight lines it would be easy to check the start and end points. The arc edit box gives a centre position and starting point accurate to 2decimals.

however the line segment is accurate to 5 or 6 decimals…

I think davidsrsb makes a good point - the ability to enter dimensions/starting points directly would be quite helpful in this sort of situation or indeed whenever designing to a specific size. I will try the dxf route another time.

I agree very much, but you could get a request from developers to code it by yourself :confused:


Kicad is an amazing community with many different point of views that I often don’t understand, considering that is an open source project aimed to be widely spreaded

The hardware fraternity at CERN believes that KiCad can do to PCB
design what the GCC compiler did to software, letting design and
development knowledge flow more freely in the open hardware community.


Anyway, apart some jokes, dxf import is a very good option to avoid those issues … :smiley:

Hello,

first thanks for a great plugin.
All of a sudden I can no longer open the newest plugin.
I have attached the error message from Freecad.

1.3.2.6 still opens without any problems

Hi @martin123
thank you for using my StepUp plugin…
Which version of tools are you using? The latest should be 3.1.1.6

## Constant definitions
___ver___ = "3.1.1.6"  # added single instance and utf8 support 

Referring to your error message you are using a very old macro…
The latest is named kicad-StepUp-tools.FCMacro and can be used as batch script or as a GUI
You can also add the kicadStepUpMod folder to your
%AppData%\FreeCAD\Macro and open directly .kicad_pcb files in FreeCAD

Where did you get the StepUp tools?
kicad StepUp tools latest
Please keep me informed :smile:

Hi maui

Have the latest verion from Sourceforge.
This is what i get, when I use kicad-StepUp-tools.FCMacro;

The part about kicadStepUpMod folder, do you mean I can directly open kicad_pcb files with “File -> Open”?

yes, you can directly open a kicad_pcb file with File Open Menu in FC

Referring to the error, please try to:

  1. delete or better rename your config ksu-config.ini file (it is located in %HomePath% , in your case it should be in c:\Users\i7 )
  2. edit the file and configure your path to 3D prefix
  3. close and reopen FC and try the macro again

Moreover, I would suggest you to move from FC 0.15 to FC 0.16 which is the latest stable release, with a lot of improvements (still I have no issues with FC 0.15)

EDIT: enable Report View Panel in FC to see better the errors
Maurice

Got it working, just had to rename ksu-config.ini.
FOund the file in a folder named SPB-Data. When I use the export feature from stepup-tools to VMRL and STEP, files are stored in SPB-Data.
Is it a way to set the export folder to the same as the same folder I opened the footprint?

good! :smiley:

If you start modeling or Save your Part in FC format .FCStd your export will be in the same folder of your FC file; starting from a STEP model, not saved as FC file, the export will be in the folder configured as the prefix of your 3D models… (in your case it should be the SPB-Data folder I suppose)
Maurice

Have one more question.

is it possible to not have Stepup-tools window be set to “always on top”?
A bit annoying when you switch between programs and that windows is blocking parts of the screen.

if you just minimize it it will not “stay on top”…

I’m working on a dockable version… but it will take a bit … (working on it on spare time :wink: )

2 Likes

Hey Maurice

once again thanks for the awesome job
since I have quite a few board outlines made as a footprint (I know its not officialy supported by Kicad)
I was wondering if it could be supported in Stepup
I have been trying to play around with your macro and got it to read the edge cut, simply by adding “or ‘fp_line’” in the routineDrawPCB function. but I cant figure where you read the position and rotation of the footprint in the code.

Cheers
Frank Severinsen