Fit Curves To Vectors

This function allows the user to fit arc, Bezier curves or straight lines to selected vectors. The newly created vectors will be approximated based on a user defined tolerance. Using this function can aid with smoothness for some toolpath options and also help to simplify data for modeling purposes.

Watch this video to see this in action:

Fitting Type

Circular Arcs

Checking ✓ this option means the selected vectors will be approximated using arcs:

test
Before Fitting
test
After fitting

Bezier Curves

Checking ✓ this option means the selected vectors will be approximated using Bezier curves.

test
Fitted with Bezier spans
test
The same bezier spans in Node-edit mode

Straight Lines

Checking ✓ this option means the selected vectors will be approximated using straight lines.

test
The vector before fitting
test
The same vector fitted with straight lines

Tolerance

The value which is set in the Tolerance area determines how closely the original vectors will be approximated. The newly created, Arcs, Beziers or Lines will be generated within a distance of the original vector which is plus or minus the specified Tolerance value. The smaller the value the closer to the original the new data will be but it will also mean more data points will be used. A larger Tolerance will not be as accurate to the original but will have less data points.

Keep Sharp Corners

Checking ✓ this option will make the Curve Fitting routine keep sharp corners which have a difference greater than the Max Angle value specified. Any corners where the difference in angle is less than this value will be modified within the specified tolerance.

test
Initial Vectors
test
Result after Keep Sharp Corners (max. angle = 20 degrees)

Replace selected vectors

Checking ✓ this option will delete the current vectors and replace them with the new curve fitted vectors. Un-checking it will keep the original vectors as is and in addition create new curve fitted vectors. The new vectors will always be created on the currently selected Layer.

Usable In Both Views

This tool can be used in both the 2D and 3D View.

2D View offers a more direct way to view your vectors while the 3D view offers more flexibility to work with Vectors in 3D Designs and to make use of the Edit Boxes.

When in the 2D view, a number of the forms tools will be driven by options in the form only.

  • Middle - Move the vectors (Hold Alt and move the selected objects in one axis)
  • Middle - Click a second time to switch to Rotational center. Click and drag the Rotational Anchor to reposition the Rotational Center of the current selection.
  • Corner (White) - Scale the vectors proportionally (Hold Alt for scaling non-proportionally, Shift to scale around the centre)
  • Edges (White) - Scale the vector in one axis (Hold Shift for scaling proportionally)
  • Corner (Black) - Rotate the vectors (Hold Alt to Rotate in 15° increments) about the Rotation Center.

In the 3D view, there is an expanded number of handles to directly edit the vector within the view, without needing to use the creation form on the left.

In the 3D View, the Handles are:

  • Middle - Move the vectors (Hold Alt to Move the selected objects in one axis)
  • Middle - Click a second time to switch to Rotational center. Click and drag the Rotational Anchor to reposition the Rotational Center of the current selection.
  • Corner (White) - Scale the vectors proportionally (HoldAlt for scaling non-proportionally, orShift to scale around the centre)
  • Edges (Black) - Scale the vector in one axis (Hold Shift for scaling proportionally)
  • Rotation Arrow (Top Black) - Rotate the vectors (Hold Alt to rotate in 15° increments)
  • White circles are properties unique to this tool to allow direct mouse editing of values in the tool form from within the view.

When you select a Transform Handle, it will activate the appropriate Edit Box for that Handle.

If you need an exact value for a field while dragging it, release the mouse button and type in the desired value, followed by Enter to accept the new value.