Where to start ? Ah yes : This new alpha version is a huge leap for SP and may be the last or second to last version before 1.0 !
1. .STEP I/O
Importing means having an SP equivalent for each .step primitive and we are getting really close :
3D Primitives : All have an equivalent but at different state :
Bezier, NURBS and Planes surfaces got I/O improved and more reliable (knot vector and weights preservation...)
Torus & Cylinders are importing and exporting
Spheres, Cones and Surfaces of revolution import but don't export yet
Extrusion surfaces and Offset surfaces, which are the 2 last types a step may contain, are close to import work but couldn't make it in time (Extrusion should sometimes imports...).
2D Primitives : Ellipses and Arcs of Ellipseswhere the two missing boys. They were more challenging that they seem, especially to have a control geometry which is intuitive to make and edit. But no compromises where made and as a consequence it brought some serious improvement to circles as well as the entire curve system. Note that Arcs of Ellipsesare not exporting for them moment.
Import Performances : Step files do not rarely contain >100 000 entities which are all converted to a Blender object, which has to be evaluated through GeometryNodes. While it will never match the speed of a standard importer, with multi-threading and a proper control over the process, the work paid. The RAM is no longer filling up and the speed is very decent now.
Other importer improvement
Handle Compound transforms
Import the hierarchy as collections
Fix : Segment poles out of parameter range
Other exporter improvement
Export with collections as hierarchy (instancing is almost there, it worked for like 2sec)
2. Interpolation and fitting
Interpolate curve
Fit curve
Interpolate Patch
Fit patch
New parametrization methods
Interpolation is a key element which will unlock many features. The following are already there :
Project Curve on patch
Nearest curve on patch
NURBS can now export as SVG
Note : Interpolation is what was called "through points" before
3. Fundamental forms for continuity analysis
This is the advanced boy. I dived in differential geometry to extract the principal curvatures in evaluated points so now you can either display it on your patch at intervals (Curvature Analysismodifier) or, more useful, you can plot the differences it has with a connected patch. That way you can manually achieve G2 continuity with a certain tolerance. Add Continuity analysis modifier and by moving CPs around while looking at the different graphic indicators you should manage to converge to the solution (better than nothing !).
4. General & Workflow
NURBS should be at least twice as fast and use way less memory
DLL not found should... not ha...ppen anymore ? hehe let me know, please
SP now complies with extension platform
Pie menu : Shift + F gives access to segment type selection and Endpoints toggle
Shift + Alt + F toggles endpoint
Thoses functions are also accessible from the add-on's main panel
NURBS combs now actually work (weighting was missing)
FlatPatch Radial Array
Store vertex groups as attributes (Endpoints and Trim Contour can still be both) -> Fixes errors due to apply modifier
Delegate 3D edge computation to the connecting patch. It was the on the connected patch before and it was extremely slow to compute and unnecessary, it is no longer.
Curve circles can now be oriented with a 3rd point. With only 2 points, it lies on the XY plane.
Mirror CP should behave better for CP near the seam.
A hundred little adjustments
For the ones really attentive : Compound objects where one of the focus for this release, but although it worked well and got exciting fast, I encountered a serious obstacle for exporting : I need to read attributes of instances. It is probably possible but not made for it complex, so I shifted focus and did not included anything in this release.