Skip to content

BAMresearch/amworkflow

Repository files navigation

tests

Motivation

This repository contains a module for creating automated workflows in the context of concrete additive manufacturing.

Workflow steps

  • 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)

folder structure

  • src/amworkflow: source code of the amworkflow package
  • tests: pytest for general routines
  • examples: example usecases
  • usecases: new usecases

Conda

conda env create -f environment.yml

Installation

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:
    git clone https://github.com/tpaviot/pythonocc-utils.git
    Install it:
    pip install ./pythonocc-utils
    Last step, install amworkflow locally:
    pip install -e .

Then you are good to go.

Explore examples

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

Toy

The toy example is a simple example to show the basic workflow steps.

Wall wall

The workflow is created for a curved wall element with geometrical parameters like length, thickness, width and height with different infill structures.

TrussArc trussarc

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.

Umrandung

Workflow example creating gcode using a given csv file with the path points (all layers).

Chair

Workflow example creating printing instructions for powder bed 3D printer using a given stl file. Make sure to set stl_unit accordingly.

Create new usecase

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages