This repository contains a module for creating automated workflows in the context of concrete additive manufacturing.
- design definition (class Geometry)
- create mesh file (class Meshing)
- generate GCODE (class Gcode)
- perform FEM simulation (of print process or final printed structure) (class Simulation)
- src/amworkflow: source code of the amworkflow package
- tests: pytest for general routines
- examples: example usecases
- usecases: new usecases
conda env create -f environment.yml
activate the environment if you did not:
conda env create -f environment.yml
conda activate amworkflow
to the root directory and then
doit install
Alternatively,
- you can do it manually:
First clone the required lib:
Install it:
git clone https://github.com/tpaviot/pythonocc-utils.git
Last step, install amworkflow locally:pip install ./pythonocc-utils
pip install -e .
Then you are good to go.
Example workflows can be found in folder examples. Run them by calling the doit file in the subfolder.
cd examples/<example_name>
doit -f dodo_<example_name>.py
The toy example is a simple example to show the basic workflow steps.
The workflow is created for a curved wall element with geometrical parameters like length, thickness, width and height with different infill structures.
A arc with truss structure is given by a list of points defining the centerline. The design is created by those points and additional parameters like layer thickness and the gcode and simulation is set-up.
Workflow example creating gcode using a given csv file with the path points (all layers).
Workflow example creating printing instructions for powder bed 3D printer using a given stl file. Make sure to set stl_unit
accordingly.
By
doit -s new_case case_name="<name>"
a new folder under /usecases will be created with the name given containing a template workflow as basis for the new usecase.
Or copy the template.py file and use it as your new usecase.