Releases: jimy-byerley/pymadcad
v0.11
This version is one of the most important version of the lasts year 🍾 : it brings 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
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 🎆
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 theMeshmethods, or used its attributes likeMesh.pointsthrough their list methods becausetypedlistbehaves just likelistin most cases.
There is just few points to consider:- If you were using type checks like
isinstance(mesh.points, list)you should puttypedlistinstead - 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
typedlistdoesn't return a copy by a view of the original one (for efficency reasons). If you experience troubles with this change, usedeepcopy()after slicing
- If you were using type checks like
-
ArcCentered(axis, a, b).mesh()now always return a mesh that reachsaandbeven 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
v0.10.2
mostly fixes for the last release, but also some new small nice features
features
note_bounds()andnote_radius()are added for measuring- added intuitive transformation operations
Kinematic._add__()andKinematic.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)
v0.10.0
New version with some fixes with new features !
new features
-
refactoring of the boolean API, removing functions like
booleanwiththat 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 usepierce,boolean,union,difference,intersectionwith webs -
some boolean operations are possible between web and mesh
This allows to use
piercewith webs -
bevel gears !
The submodule
gearbrings bevel gears and their source spherical profiles. All the explaining equations will come in the docs soon.
Check the docs -
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
v0.9.0
New release bringing some new features mostly regarding the Solids manipulation
New featues:
- part placement deduced from surface types (like in most CAD programs): docs
- exploded view of solids: docs
- segmentation of surfaces on imported meshes docs
This submodule is for all what regards reverse engineering and also provided functions to deduce joints and surfaces from raw meshes
Breaking changes:
Solid.transformis not inplace anymore, it will return a new Solid instead, useSolid.itransformfor the old behavior
Fixes:
- wrong angle use in
gear.repeat_circularin case of non planar profile scheme.Schemematrices issue due to column vs line major arrays- voxel density display broken when non-cubic
v0.8.4
just for travis eyes ...
v0.8.3
fixed import madcad on windows
v0.8.2
just for travis eyes ...
v0.8.1
just for travis eyes ...
v0.8
Finally the next release of our module ! It comes with many new feature. Focus is done on standard parts
I am also glad to welcome a new contributor: @bourbonut ! who has coded a lot in the new submodule gear. So let's celebrate !
new features
-
new submodule
madcad.standard
provide functions to generate many of the most common standard parts (like screws, nuts, coils ...)
Checkout the docs ! -
new submodule
madcad.gear
provide functions to generate involute gears. Either ready to use or customizable.
Checkout the docs ! -
all
chamfer,bevel,multicutare now available forMesh,WebandWire -
improved speed of cutting operations (chamfer, bevel, multicut)
-
added function
boolean.pierce()to complete the collection of boolean operations -
improved
junction() -
improved
thicken() -
extrusion()now performs any linear transformation as extrans -
transform(float)is added to give a rescale matrix
Plus many fixes ...
breaking changes
-
Mesh.frontiersandMesh.groupoutlineshave been reworkedSome related or redundant methods have been removed.
The returned outlines are now oriented as often as possible. -
Mesh.vertexnormals()now behaves differently for points on the outlines and for points in the middle of faces- points on the surface are computed as before with the neighbooring faces normals weighted by their angle
- points on the outline only mix adjacent faces to the outline, making the resulting normal independent of the way the surface is triangulated
-
renamed
multiple()->repeat()
v0.7
new features:
- new primitives for splines:
InterpolatedandSoftened - added
io.cachefuncdecorator to easily use temporary files - the config file is now a yaml file instead of a json, to incread readability
- increased compatibility of constraints
Parallel,Angle,Distance - improved the way to use
KinematicandSolid(see the docs) - renamed some joints definitions
- renamed
TorsorintoScrewthe proper mathematical term - new mesh methods:
Mesh.orientWeb.islands
bug fixes:
- boolean operations : all known bugs fixed
- many numeric issues and display issues fixed