# Issue #507: New tool: Buttons & buttonholes (dismine/valentina)

#1

New issue 507: New tool: Buttons & buttonholes https://bitbucket.org/valentinateam/valentina/issues/507/new-tool-buttons-buttonholes

Susan Spencer:

Add new tool to distribute buttons along a line in Draw mode.

Creates a group of buttonhole lines at an angle along a line.

Each buttonhole consists of 3 lines, and a button placement mark (like the circle used for points).
Buttonhole labels are not displayed in Draw or Detail mode.
Buttonhole lines are not accessible in formula dialogs.

Example: Buttonhole is perpendicular to button line:
" |
|
|---------±—|
|
|
"

Use case:
Apply 5 buttons down the Center Front (Line_A1_A2) of a shirt.
Buttons are 2cm wide, are not thick and are flat (they don’t have a shank).

User inputs:
ButtonNumber = 5 (N)
ButtonWidth = 2cm (W)
ButtonLine begin point = A1 (P1)
ButtonLine end point = A2 (P2)
ButtonholeAngle = {parallel || perpendicular || angle} to Line_A1_A2 (BHAngle)

1. Buttonj for j=1 to N is placed along ButtonLine at distance = Line_P1_P2/(2N) + (j-1)xLine_P1_P2/(N)

Buttonmark is drawn at each Buttonj

Example: for Buttonj, j=1 through N:
Button1 at distance = Line_A1_A2/(10) + 0xLine_A1_A2/(5)
Button2 at distance = Line_A1_A2/(5) + 1xLine_A1_A2/(5)
Button3 at distance = Line_A1_A2/(5) + 2xLine_A1_A2/(5)
Button4 at distance = Line_A1_A2/(5) + 3xLine_A1_A2/(5)
Button5 at distance = Line_A1_A2/(5) + 4xLine_A1_A2/(5)

1. ButtonholeLinej_1 is from BHLj_1 to BHLj_2:
point BHLj_1 is from Buttonj, angle=BHAngle, distance=0.3cm
point BHLj_2 is from BHLj_1, angle=BHAngle +180degrees, distance=1.25xW

2. ButtonholeLinej_2 is from BHLj_1a to BHLj_1b:
point BHLj_1a is from BHLj_1, angle=BHAngle + 90degrees, distance=BLO
point BHLj_1b is from BHLj_1, angle=BHAngle - 90degrees, distance=BLO

3. ButtonholeLinej_3 is from BHLj_2a to BHLj_2b:
point BHLj_2a is from BHLj_2, angle=BHAngle + 90degrees, distance=BLO
point BHLj_2b is from BHLj_2, angle=BHAngle - 90degrees, distance=BLO