Seamly2D icon indicating copy to clipboard operation
Seamly2D copied to clipboard

NEW TOOLS: "French curve" tool

Open slspencer opened this issue 7 years ago • 2 comments

Create a new "French Curve" tool to quickly create curves based on how a manual French curve works.

A manual French Curve's primary purpose is to draw a new curve which is continuous with the angles of the existing lines or curves at each end of the new curve. To achieve this, the user rotates the French Curve until the new curve visually lines up with the line or curve at each of the new curve's endpoints.

Our “French Curve” tool would enable this functionality to let a user quickly create a curve where there is no discontinuity with the adjacent lines or curves.

Description:

The user selects the French Curve tool icon, then is prompted in the status bar to select the begin point and adjacent line (or curve), the endpoint and adjacent line (or curve), then the [Enter] key.

Then the tool:

  1. Calculates default control handle (CH) lengths and angles: -- lengths are 1/3 the connecting line between endpoints -- angles continue the line or curve adjacent to each endpoint
  2. Displays the default curve

Once the default curve is displayed, the user can:

  1. Drag the CH points in the canvas to change length: -- Press CTRL to snap to 1/6, 1/5, 1/4, 1/3, 1/2, 3/4, 4/5, 5/6, 1 of connecting line's length -- Otherwise continuously adjust length
  2. Drag the CH points in the canvas to change angle: -- Press ALT to snap to 45 degree increments counterclockwise from adjacent line or curve's angle -- Otherwise continuously adjust angle
  3. Right click to open the tool dialog box

The dialog box:

1st point:

  • Select point (dropdown box). Then select one: -- Select adjacent line (dropdown box) -- Select adjacent curve (dropdown box)
  • Length (select one): -- [ ] end at x (horizontal) value of a point: (select one) --- [ ] opposite CH point --- [ ] dropdown point list -- [ ] end at y (vertical) value of a point: (select one) --- [ ] opposite CH point --- [ ] dropdown point list -- [ ] relative to connecting line: (select one) --- [ ]1/6 [ ]1/5 [ ]1/4 [ ]1/3 [ ]1/2 [ ]3/4 [ ]4/5 [ ]5/6 [ ]1 [ ] enter ratio or percentage -- [ ] formula or value
  • Angle (select one): -- [ ] counterclockwise to adjacent line or curve: (similar to other tools) --- select in 45 degree increments --- enter value -- [ ] formula or value

2nd point: (repeat options)

For user discussion review this thread on the forum: https://seamly.discoursehosting.net/t/new-feature-curve-tool-overlay/3145

slspencer avatar Dec 07 '18 23:12 slspencer

New discussion in support of developing this tool on the forum here: https://forum.seamly.net/t/existing-svg-file-as-a-background/1673/94

slspencer avatar Jan 04 '22 20:01 slspencer

This repository might be inspirational/helpful https://github.com/CoffeeKumazaki/euler_spiral

calbrecht avatar Dec 07 '22 09:12 calbrecht