Rotate (something, point, angle). Angle (point, point, point)

rotate
angle
curve
.a1
.a2
The next step is to draft the waist line of our pattern. It is important to remember a few things:

1) We want to have darts in place, and have a smooth waist line after they are sewn.

2) We want the waist line at the side seam to be even after the side seam is sewn.

To solve issue number 1, we are going to close the dart, draw the waist line with closed dart, and then cut the waist line at the dart corner and open the dart again. 

To close the dart I am going to use the rotate command. You are welcome to have a look on the documentation about rotate command . We'll also be using "angle" defined by three points, that is the command angle(point,point,point) and documentation about angle command is available at the link.

We don't need all the objects to be rotated, the ones that are important to us are the point at the upper edge of the side seam, WS2, and the side seam curve. We need to close the dart completely, that means that we shall rotate the objects by the angle between the dart points R12, R2 and R11.


In this sketch I show the angular points in red. The command angle(r120,r2,r110) will provide us with the exact value of this angle. To close this dart we need to rotate around point R2, so that point R110 arrives at the same place, as point R120. I highlighted the objects to be rotated in blue - these are points WS2 and the curve BACK_SIDE_SKIRT. Here's the resulting code:

rotate((ws2,back_side_skirt),r2,-angle(r120,r2,r110))
I am using a negative angle here, because I rotate objects counterclockwise.

This is the result:


Both objects changed their positions. We can now draw a curve for the back waistline with a closed dart:

back_waist=curve(w2,ws2,0,BACK_SIDE_SKIRT.a1+90,0.7)
The new curve is directed in a perpendicular direction from the existing curve. This means that when we sew the side seam, the top edge will be even and the side seam will be perpendicular to it. I don't want a very pronounced curve, so I used just 0.7 of its default slope.


Let's repeat the same operations for the front skirt:

// close front dart
rotate((ws1,front_side_skirt),v2,angle(v120,v2,v110))

// front waistline with closed dart
front_waist=curve(ws1,w1,FRONT_SIDE_SKIRT.a2-90,180,0.7)
The front side curve is in the opposite direction compared to back side curve, so we refer to .a2, not .a1 here.

Previous article

Curve (point,point,angle,angle)

Back to category

Pattern Commands

Next article

Cut (object,point,direction,1st part,2nd part). Delete(objects).