-
Notifications
You must be signed in to change notification settings - Fork 12
Development Plan
edwardvmills edited this page Jul 28, 2017
·
17 revisions
Ready (for cubics, partial weight support):
- FreeCAD Sketcher as interface to define NURBS control polygons.
- Control Polygon Objects linked to Sketch(es)
- Cubic Curve object linked to Control Polygons
- Grid objects linked to loops of 3 or 4 Control Polygons (3 curves results in a degenerate grid)
- Surface objects linked to grid objects
- subdividing/segmenting curve and surface objects
- 2 curve corner blending with automatic G2 output
- 2 face seam blending with automatic G2 output
- methods to tune corner and seam blends (G3+ output is sometimes possible)
- method to blend the corner formed by 3 faces (includes a degenerate surface, impact can sometimes be minimized)
- non degenerate triangle by joining of three quadrangles (functioning prototype, situation is still fluid)
Needed:
- convenience: more point on curve methods (at curve intersection, surface intersection, etc)
- convenience: point on surface methods
- convenience: more segmenting methods
- modeling tool: isoline extraction
- modeling tool: crude normal offset. maintains order and pole count.
- modeling tool: add control points to curves and surfaces to give additional design freedom away from the seams
- core function: 5 face blending strategy << NEXT FOCUS
- core function: 6 face blending strategy
- core function: automatic G3 'seeking' for 6 point poly based curves and surfaces. There are 2 degrees of freedom remaining, so this is possible in many cases, though not all. Of the possible case, some will result in aesthetically unacceptable solutions. This function can probably use a numerical method instead of an exact algebraic solution.
- core function: raise degree as needed to improve internal continuity (curvature comb breaks at internal knots)
- modeling tool: add control points to curves and surfaces to give additional design freedom away from the seams
ControlPoly4
CubicCurve_4
Point_onCurve
ControlPoly4_segment
ControlGrid44
CubicSurface_44
ControlGrid44_EdgeSegment
ControlGrid44_2EdgeSegments
ControlPoly6
CubicCurve_6
ControlGrid66
CubicSurface_66
ControlGrid64
CubicSurface_64
ControlGrid64_2Grid44
ControlGrid64_3_1Grid44
SubGrid33_2Grid64
ControlGrid66_4Sub