hello.vectronic@gmail.com

A new feature release version of Legify is available at:

https://github.com/vectronic/freecad-legify-macros/releases/tag/v0.4.0

This provides a new legify-technic-pin macro which renders a technic pin onto an existing Part Design workbench body.

Therefore the “s” in the name of the project “freecad-legify-macros” now has real meaning! 😜


I ordered some 3D prints of bricks designed with the legify macro code available at:

https://github.com/vectronic/freecad-legify-macros

Presented below are two assemblies as rendered within FreeCAD and assembled in real life.


hello.vectronic@gmail.com

A new feature release version of Legify is available at:

https://github.com/vectronic/freecad-legify-macros/releases/tag/v0.3.0

Beyond a number of measurement improvements, rendering of technic pins is now implemented.


I have just completed the finishing touches on Technic pin support:


hello.vectronic@gmail.com

I’ve been developing a FreeCAD macro for a while which uses the PartDesign workbench: https://github.com/vectronic/freecad-legify-macros

I’m just wrapping up support for rendering technic pins (work in progress screenshot below) and this effort has led me to a few more nuggets of information relating to PartDesign and Python scripting in FreeCAD.


I reached a milestone last weekend with a successful render of a brick assembly in FreeCAD.


hello.vectronic@gmail.com

Presented here is a somewhat terse step-by-step guide to installing a working version of FreeCAD 0.19 on macOS Big Sur using Conda.

Additional bonus steps explain how to use the new FreeCAD Extension Manager to install the Assembly4 Workbench and the Render Workbench (with rendering performed by Cycles).

If you use a 3DConnextion SpaceMouse I can report these steps will produce a build which supports it.


hello.vectronic@gmail.com

A bugix version of Legify is available at:

https://github.com/vectronic/freecad-legify-macros/releases/tag/v0.2.2

It provides improvements to measurements and rendering based on using the macro generated parts in Assembly V4 and TechDraw workbenches.

Example TechDraw diagrams for individual parts and assemblies are provided below.


hello.vectronic@gmail.com

The latest and most likely last version of Legify is available at:

https://github.com/vectronic/freecad-legify-macros/releases/tag/v0.2.0

I’ve achieved my goals with this project, which were to:

  • Get to grips with FreeCAD and parametric modelling concepts: sketches, constraints, datum planes etc.
  • Learn Python and use it for FreeCAD scripting

I’m now moving on to learn about assemblies and technical drawings.


I have moved on from learning basic part design and scripting in FreeCAD and now want to tackle assemblies.

Following on from my previous post, Building FreeCAD with 3DConnexion Support on macOS using Conda, this post presents similar instructions for building the very promising Assembly3 Workbench for FreeCAD.

Again, I wanted to use the latest source AND use a 3DConnexion SpaceMouse on a MacBook Pro. Using Conda and the Conda Forge feedstock for FreeCAD makes this a scriptable, repeatable process.


Presented here is a somewhat terse step-by-step guide to building FreeCAD from source using Conda and the Conda Forge feedstock for FreeCAD.

I need to do this to ensure I can run the latest FreeCAD code AND use a 3DConnexion SpaceMouse on a MacBook Pro.


hello.vectronic@gmail.com

I’ve been developing a FreeCAD macro for a while with the following aims:

  • Get to grips with FreeCAD and parametric modelling concepts: sketches, constraints, datum planes etc.
  • Learn Python and use it for FreeCAD scripting

To really push the boundaries, I challenged myself to use Python scripting in conjunction with the PartDesign workbench: I wanted to end up with a parametric model fully based on sketches and datum planes.


hello.vectronic@gmail.com

There are several limitations when referencing items in FreeCAD via Python script. This includes needing to reference Part items such as edges and faces by name, whilst the names are liable (and likely) to change each time the model is modified.

There are also a number of exposed native methods in the Python scripting layer which expect (rarely documented) integer based constants. In this post I collate what I’ve learnt about these constants for future reference.


Beyond simple scripts, FreeCAD macro development really benefits from using a Python IDE. My Python IDE of choice is PyCharm.

I have been able to setup the same Python environment with FreeCAD and PyCharm using this great project https://github.com/FreeCAD/FreeCAD_Conda.

This allows the same Python syntax and semantics to be applied (especially important when switching from Python 2 to Python 3). Unfortunately however, having code completion for FreeCAD modules still eludes me…


hello.vectronic@gmail.com

I’ve been developing a fairly complex macro for FreeCAD and wanted to re-run it after making code changes without having to restart FreeCAD.

I found this forum posting which gave me the answer.

This post was discussing reloading code for workbenches and GUI Commands (which has some caveats) and it also works perfectly for macros.