Releases: jimy-byerley/pymadcad
v0.19
- refactored rendeing pipeline
- moved all random displays to
madcad.rendering - moved some specific displays to submodules like
madcad.kinematic.displaysormadcad.displays - moderngl and Qt are now optional dependencies in madcad source code (not yet optional for pip though ...)
- different Qt wrapper versions are supported:
pyqt5,pyqt6,pyside6 - improved API for onscreen and offscreen rendering
- making room for future 2d rendering
- we now have decent selection management in the scene, and selectable objects can be hovered
- moved all random displays to
Solidelements can now be accessed either as attributes or items- fixes and naming improvements in
madcad.gear
v0.18.1
v0.17
This release is full of breaking changes preparing version 1
new features
- the new kinematic solver, much more convenient, precise, robust and powerfull than the previous one. Coming with plenty of functions and kinematic joints
- the
Ellipsisprimitive type - the
settingsmodule now contains a dictionnary of standard colors for displays and parts, meant to follow themes - added functions
circular_screwingandgroovesinmadcad.standard - added functions
helixandscrewinmadcad.generation
breaking changes
- many hashing functions in
madcad.meshhave been moved tomadcad.hashing Axisandisaxishave been moved tomadcad.mathutilsthickenandinflatehave meen moved tomadcad.offsetingmadcad.cutwas renamedmadcad.beveland had few API changes- previous color values present in
madcad.settings.displayhave been moved to the newmadcad.settings.colors
v0.16
new features
- added
parallelogram() - improved helical gears, added helical spur gears
- added
Wire.isclosed(),wire.unclose() - added support for NixOS
- improved documentation and especially the guide
fixes
v0.15.1
bug fixes
- fixed error in fonts lookup
- fixed default font not present in the python package
v0.15
It seems there is enough changes for a new release !
new features
- added
text.text()to generate surface meshes and outline webs from text strings, using custom fonts. checkout the docs ! - removed
text.Textas not very useful Schemeinstances are no longer filtered bydisplay_annotations=False, insteadSolid['annotations']are as long as theSolidis not selected- added part slots functions in
madcad.standard
bug fixes
- fixed
Web.frontiers()andMesh.frontiers()when single-sided edges are demanded (Nonein group list) - fixed and improved
stfloor()andstceil() - fixed
Container.*near() - fixed occasional near-infinite loops in boolean operations
v0.14
This version brings some new features and few fixes
- added helical bevel gears thanks to @bourbonut
- added
stfloor()andstceil()to help getting human-friendly distances in automatically computed results - fixed wrong variable names in
Mesh.surface(),Mesh.volume(),Wire.surface() - fixed wrong pose for sub-group displays before any solid move
v0.13.2
- some fixes
- rebuilt pypi package to fix an installation issue
v0.13
This new version brings few new meshing functions, and a big quality-of-life change regarding surface selections in meshes.
new features
-
added module
madcad.hulland everything under it ! -
added
generation.expand() -
new Mesh inner identification system.
This feature concerns all data types in
madcad.meshand adds mainly the method.qualify()that helps labeling groups which helps selecting them afterward.
check the docs -
added wrapper for pickle files in
madcad.io -
schemes displays are now highlighted when selected
-
functions generating finished parts are now returning a
Solidready for assembly -
added support for partial kinematic joint definition in
Solid.place()
bug fixes
- fixed boolean operations propagation failing sometimes
- fixed some floating point precision issues in
madcad.triangulation - fixed some floating point precision issues in
madcad.boolean - fixed wrong argument modification in
scaledir() - fixed wrong view-controled
Solidmove in case of solids included in solids - fixed
View()andshow()not using all their arguments - fixed
Orthographicprojection - fixed screen size spaces in schemes, hence changing the previous schemes to much bigger (now the screen coordinates are true pixels)
- fixed scheme.halo_screen()
breaking changes
- removed
Solid.itransform() - changed behavior of
Scene.display(): it now accepts the formerDisplayto replace or update
v0.12
new features
- added
linrangeto generate uniformly spaced iterators of floats mat3,mat4,quatare now displayable- added generation functions for common shapes:
cylinder(),cone(),pyramid()
bug fixes
- fixed bug of
wire,webwhen working with instances oftypedlist - fixed some triangulation bugs