Skip to content

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

FreeCAD 3D Sketching

WorkBench Command Reference

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

Clone this wiki locally