Tools: meshes, drawings & assemblies
Four FreeCAD-backed tools for downstream production work — FEA prep, 3D printing, drawing packages, and assemblies. All take the standard operation envelope.
generate_mesh
Section titled “generate_mesh”Generate and analyze meshes from CAD geometry, with quality control. Essential for FEA and 3D-printing preparation.
| Parameter | Type / default | Description |
|---|---|---|
deflection |
float, 0.1 |
linear tessellation tolerance |
angular_deflection |
float, 0.1 |
angular tessellation tolerance |
max_element_length |
float, 1.0 |
target element size |
export |
bool, false |
write the mesh to disk |
export_format |
string, "stl" |
export format |
output_name |
string, "generated_mesh" |
filename stem |
Returns, per solid in the input file: vertex and face counts, surface area, volume (when the mesh is closed), a manifold check, and a quality_issues list (non-manifold meshes, degenerate faces below 1e-6 area). Errors: no solid objects in the file.
create_technical_drawing
Section titled “create_technical_drawing”Generate technical drawings with multiple orthographic views from 3D models, using the TechDraw workbench — views, dimensions, annotations, and title-block text on a standard template.
| Parameter | Description |
|---|---|
template |
page template name, default A3_Landscape |
views |
list of `{“view_type”: “front” |
add_dimensions |
bool — attempt automatic length dimensions per view |
title_block |
dict of title, drawn_by, date, scale rendered as annotations |
output_formats |
list, default ["pdf"] — pdf, svg, dxf |
output_name |
filename stem, default technical_drawing |
Returns the created views (name, source object, type, scale, position), dimensions added, and per-format output files with sizes. Per-format export failures are reported inline rather than failing the whole call.
create_assembly
Section titled “create_assembly”Create assemblies from multiple part files with positioning and constraints.
| Parameter | Description |
|---|---|
part_files |
list of file paths to import (required) |
transformations |
per part: {"part_name", "translation": [x,y,z], "rotation": [rx,ry,rz]} (degrees) |
constraints |
list of {"type", "part1", "part2"} |
export, output_format, output_name |
export; FCStd (default) or step |
Returns import details per part, applied transformations, constraint definitions, and assembly properties (part count, total volume, overall bounds).
add_material_properties
Section titled “add_material_properties”Assign material properties (density, Young’s modulus, Poisson’s ratio, yield strength, thermal properties) to CAD objects and calculate mass — simulation and FEA preparation.
| Parameter | Description |
|---|---|
default_material |
applied to unmatched objects, default "steel" |
materials |
per-object overrides: {"object_index" or "object_name", "material", "custom_properties": {...}} |
export, output_format, output_name |
export; FCStd (default, preserves material objects) or step (geometry only) |
Built-in materials: steel, aluminum, brass, plastic_abs. Custom properties override any built-in value, or define a fully custom material:
{ "object_name": "CustomPart", "material": "custom", "custom_properties": { "density": "1500 kg/m^3", "youngs_modulus": "5000 MPa" }}Returns per-object assignment details (material, properties, volume, computed mass in kg), a per-material summary with counts and total mass, the total assembly mass, and the available-materials list. Mass is computed from solid volume × density.