Skip to content

Releases: FAST-LB/pyGCodeDecode

1.5.0

Choose a tag to compare

@lukashof lukashof released this 03 Jun 12:17

1.5.0

❗Breaking Changes❗

  • Python 3.9 is no longer supported or tested for.

Chores

  • Type annotations for all functions and classes.
  • Moved linting and formatting to ruff.
  • Changed line length to 100.

Full Changelog: 1.4.4...1.5.0

1.4.4

Choose a tag to compare

@lukashof lukashof released this 01 Jun 14:03

1.4.4

Fixes

  • Corrected some type hints in gcode_interpreter.py.
  • Corrected calculation of extruded volume in summary.
  • Disabled smooth shading on headless Linux systems.

Full Changelog: 1.4.3...1.4.4

1.4.3

Choose a tag to compare

@lukashof lukashof released this 09 Apr 16:06

1.4.3

Chores

  • Updating CI / Workflows and testing for Python 3.14.

Full Changelog: 1.4.2...1.4.3

1.4.2

Choose a tag to compare

@lukashof lukashof released this 09 Apr 15:29

1.4.2

Features

  • Extruded amount added to summary.

Full Changelog: 1.4.1...1.4.2

1.4.1

Choose a tag to compare

@lukashof lukashof released this 21 Aug 16:10

1.4.1

dummy release to trigger PyPi release

Full Changelog: 1.4.0...1.4.1

1.4.0

Choose a tag to compare

@lukashof lukashof released this 21 Aug 15:54

1.4.0

Features

Result Calculation

A separate result calculation module is added, which is executed after simulation. User defined results may be calculated using the resulting trajectory and can be mapped to the segments. See current implementations for details.

Plotting updates

Plotting methods are moved to be separated from the simulation objects. They now allow for several arguments to be passed to the pyvista visualization toolkit. The scalar value plotted may be selected via keys, allowing different results to be displayed. Further individual layer plotting is supported, if a layer cue is provided. Additional arguments enable advanced settings such as transparent background, lighting and rendering options. This includes camera position and orientation.
Further, the plotting methods allow a callable to be passed; the user may modify the pyvista-scene through these and add geometry to the plot.
Screenshots are also improved visually by wrapping the pyvista screenshot into a matplotlib axis, which allows for nicer color bars and vector graphics rendering of text.
Individual extrusions now are represented through a squished cylinder instead of a circular one. This squishing can be set by the user and results from the layer width to height ratio.

Prints

Print statements have been improved for better clarity and information. A verbosity control is added to declutter the output, especially when running a large number of simulations. They now include more context about the simulation state and results, making it easier to understand the output. Consistent formatting and different verbosity levels are supported.

Testing and Type Hints

More tests have been added to ensure a reliable simulation and framework. Especially, the junction handling module is tested more thoroughly.
More type hints have been added throughout the codebase to improve readability and facilitate easier debugging and development. Physical quantities are morphed by mathematical operations to yield the correct units, allowing for more intuitive code and reducing the likelihood of errors.

Fixes

Junction Handling Bug fixes

Bug fixes for junction handling, improving the overall robustness of the simulation and ensuring accurate results. The firmware identifiers have been changed to be more consistent.

Full Changelog: 1.3.1...1.4.0

1.3.1

Choose a tag to compare

@lukashof lukashof released this 14 Jan 13:32
b56597f

1.3.1

Fixes

  • The default unit system is now named SI (mm) instead of "SImm".

Full Changelog: 1.3.0...1.3.1

1.3.0

Choose a tag to compare

@lukashof lukashof released this 11 Dec 11:14

1.3.0

Features

  • Testing and building for Python 3.13 now.

Full Changelog: 1.2.0...1.3.0

1.2.0

Choose a tag to compare

@lukashof lukashof released this 07 Nov 15:28
5295c17

1.2.0

Features

  • Return value from layer metrics and submodel

Fixes

  • layer cue was erronously named in the CLI

Full Changelog: 1.1.3...1.2.0

1.1.3

Choose a tag to compare

@lukashof lukashof released this 11 Oct 10:31

1.1.3

Fixes

  • avoid division by zero when finding a time for a certain point on the trajectory

Full Changelog: 1.1.2...1.1.3