geometry
The geometry module contains the core functionality to represent objects used for a
bluemira analysis. The geometrical core of bluemira is based on the OpenCASCADE package,
by means of the FreeCAD Python wrapper. A basic api has been implemented to interface with
the main FreeCAD objects and functions.
An alternative wrapper backend is available: cadquery. To change the backend, set the environment
variable BLUEMIRA_GEOMETRY_BACKEND. Valid values: freecad (default), cadquery. You
can also use the cadquery viewer by simply calling show_cad(geometry, backend="cadquery").
Note
The default backend is presently FreeCAD, but will be switched to cadquery in future.
The geometrical module of bluemira implements the following main classes:
bluemira.geometry.wire.BluemiraGeo: geometry abstract classbluemira.geometry.wire.BluemiraWire: a container of FreeCAD Part.Wire objectsbluemira.geometry.face.BluemiraFace: a container of FreeCAD Part.Face objectsbluemira.geometry.shell.BluemiraShell: a container of FreeCAD Part.Shell objectsbluemira.geometry.solid.BluemiraSolid: a container of FreeCAD Part.Solid objects
Main functions to create or manipulate geometry objects are implemented within
bluemira.geometry.tool. A lot of the functionality can be explored in our
examples. Further discussion on the background and basics are linked below.