Pymadcad

Latest version: v0.16.0

Safety actively analyzes 629723 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 4

0.12

new features
- added `linrange` to generate uniformly spaced iterators of floats
- `mat3`, `mat4`, `quat` are now displayable
- added generation functions for common shapes: `cylinder()`, `cone()`, `pyramid()`

bug fixes
- fixed bug of `wire`, `web` when working with instances of `typedlist`
- fixed some triangulation bugs

0.11

This version is one of the most important version of the lasts year :champagne: : it brings [arrex](https://github.com/jimy-byerley/arrex) a python module created especially for the needs of the madcad project (even though it is meant for a wider variety of tasks). It provides list-like containers that stores elements in buffers. allowing future big optimizations of madcad.

new features

- Thanks to Gigahawk we now have a headless rendering option (18) ! which means we can perform 3d rendering without having to display a window and manually take a screenshot. The documentation will come soon [here](https://pymadcad.readthedocs.io/en/latest/reference/rendering.html)
- `show()` now accepts an existing scene as argument (It requires the openGL context to be shared)
- All point, face, or edge lists are now of type `typedlist`, allowing very fast conversion (without copy) to/from numpy :fireworks:

breaking changes

- All point, face, or edge lists are now instances of `arrex.typedlist`. This should not be a point it you just used your meshes from the `Mesh` methods, or used its attributes like `Mesh.points` through their list methods because `typedlist` behaves just like `list` in most cases.
There is just few points to consider:
+ If you were using type checks like `isinstance(mesh.points, list)` you should put `typedlist` instead
+ If you were using strided slicing (such as `mesh.points[a:b:step]`) it won't work any more since not yet supported by arrex
+ slicing a `typedlist` doesn't return a copy by a view of the original one (for efficency reasons). If you experience troubles with this change, use `deepcopy()` after slicing

- `ArcCentered(axis, a, b).mesh()` now always return a mesh that reachs `a` and `b` even if the result is not an arc. This helps to have closed oulines even when the solver is set with a bad precision.

fixes

- fixed some rare boolean operation issues

0.10.2

mostly fixes for the last release, but also some new small nice features

features

- `note_bounds()` and `note_radius()` are added for measuring
- added intuitive transformation operations `Kinematic._add__()` and `Kinematic.transform()`
- reworked the constraint solving system, it now uses a scipy least squares method, which is much faster and precise than before

fixes

- display issue with the color of webs and wire
- the last release was not installable due to some parasiting file I packed with (I sincerely apologize for this)

0.10.0

New version with some fixes with new features !

new features

- refactoring of the boolean API, removing functions like `booleanwith` that were unclear and not convenient.

- boolean operations are now possible between webs.

In the spirit of boolean operations with meshes, that were playing cutting/stitching Meshes as envelopes depending on the volume operations, the Web boolean operations are cutting/stitching webs as surface contours.
This allows to use `pierce`, `boolean`, `union`, `difference`, `intersection` with webs

- some boolean operations are possible between web and mesh

This allows to use `pierce` with webs

- bevel gears !

The submodule `gear` brings bevel gears and their source spherical profiles. All the explaining equations will come in the docs soon.
Check [the docs](https://pymadcad.readthedocs.io/en/latest/reference/gear.html#madcad.gear.bevelgear)

- minor improvements to `reverse.segmentation`

bug fixes

- touchscreen event handling
- surface and wire layering issues when the objects are too small (<1e-2) or too bing (>100)
- visual boundingbox issues with `Solid`

0.9.0

New release bringing some new features mostly regarding the `Solid`s manipulation

New featues:

- part placement deduced from surface types (like in most CAD programs): [docs](https://pymadcad.readthedocs.io/en/latest/reference/kinematic.html#madcad.kinematic.placement)
- exploded view of solids: [docs](https://pymadcad.readthedocs.io/en/latest/reference/kinematic.html#madcad.kinematic.explode)
- segmentation of surfaces on imported meshes [docs](https://pymadcad.readthedocs.io/en/latest/reference/reverse.html)
This submodule is for all what regards reverse engineering and also provided functions to deduce joints and surfaces from raw meshes

Breaking changes:

- `Solid.transform` is not inplace anymore, it will return a new Solid instead, use `Solid.itransform` for the old behavior

Fixes:

- wrong angle use in `gear.repeat_circular` in case of non planar profile
- `scheme.Scheme` matrices issue due to column vs line major arrays
- voxel density display broken when non-cubic

0.8.4

just for travis eyes ...

Page 2 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.