|
%!PS-Adobe-3.0 EPSF-3.0 |
|
%%Title: nbbbp.eps New Bunka Basic Bodice Pattern |
|
%%BoundingBox: -40 -40 1630 1400 |
|
%%%% |
|
%%% Adjustable parameters begin |
|
/BUST 83.0 def |
|
/WAIST 64.0 def |
|
/CBL 38.0 def |
|
/FrontShoulderAngle 22 def |
|
/BackShoulderAngle 18 def |
|
/AuxiliaryLineWidth 0.03 def |
|
/FinishLineWidth 0.15 def |
|
/PrintParameters true def |
|
%%% Adjustable parameters end |
|
|
|
%%% tools begin |
|
/str20 20 string def |
|
/fontsize 1.0 def |
|
/rightshow { % stk: string |
|
dup stringwidth pop %get length of string |
|
fontsize 3 mul exch sub %calc. white space |
|
0 rmoveto %Move over that much |
|
show %show string |
|
} def |
|
/showsizelist { |
|
/Helvetica findfont fontsize scalefont setfont |
|
2 index 2 index moveto show |
|
1 index 1 index fontsize -1 mul add moveto (B: ) rightshow BUST str20 cvs show ( cm) show |
|
1 index 1 index fontsize -2 mul add moveto (W: ) rightshow WAIST str20 cvs show ( cm) show |
|
1 index 1 index fontsize -3 mul add moveto (CBL: ) rightshow CBL str20 cvs show ( cm) show |
|
pop pop |
|
} def % Usage: x y (BackOrFront) showsizelist |
|
/connect {newpath moveto count 2 idiv {lineto} repeat stroke} def |
|
/totallength {0.0 |
|
count 1 sub 2 idiv 1 sub |
|
{3 1 roll 3 index sub dup mul exch 4 index sub dup mul add sqrt add} |
|
repeat 3 1 roll pop pop} def |
|
/curvemaker { |
|
exch 3 index sub exch 2 index sub % prepare x_start-x_goal y_start-y_goal |
|
count 4 sub 2 idiv |
|
{count -2 roll |
|
exch 3 index mul exch 2 index mul |
|
exch 5 index add exch 4 index add |
|
6 2 roll} repeat |
|
pop pop pop pop |
|
} def % Usage: 0.0 0.0 0.5 0.1 0.7 0.3 0.8 0.5 0.9 0.9 1.0 1.0 x_start y_start x_goal y_goal curvemaker |
|
/drawdart { |
|
newpath |
|
2 index 1 index 2 div sub |
|
0.0 moveto |
|
2 index 2 index |
|
lineto |
|
-0.4 0.0 rmoveto |
|
0.80 0.0 rlineto |
|
-0.4 0.0 rmoveto |
|
1 index dup neg 0.0 exch rlineto |
|
0.0 exch rmoveto |
|
2 div 3 -1 roll |
|
add 0.0 lineto |
|
pop |
|
stroke |
|
} def % Usage: x y width drawdart |
|
%%% tools end |
|
|
|
%%%% length |
|
/L2 BUST 2 div 6.0 add def |
|
/L3 BUST 12 div 13.7 add def |
|
/L5 BUST 8 div 7.4 add def |
|
/L9 BUST 5 div 8.3 add def |
|
/L11 BUST 8 div 6.2 add def |
|
/L13 BUST 32 div def |
|
/L14 CBL L3 sub def |
|
/L15 BUST 32 div 7.0 mul 7.6 sub def |
|
/L16 BUST 24 div 2.35 add def |
|
/L17 BUST 24 div 3.4 add def |
|
/L18 L17 0.5 add def |
|
/L19 BUST 12 div 2.8 add FrontShoulderAngle cos div 1.8 add def |
|
/L21 BUST 12 div 3.2 sub def |
|
/L24 L17 0.2 add def |
|
/L25 BUST 32 div 0.8 sub def |
|
/LWS BUST 64 div 15 mul 3.6 add def |
|
/BSL L19 L25 add def % Back Shoulder Line |
|
/BS1 L5 2 div 1.0 add L24 sub |
|
BackShoulderAngle cos div |
|
1.5 add def % Back Shoulder Line 1 |
|
/BS2 BS1 L25 add def % Back Shoulder Line 2 |
|
/BDL L16 dup mul |
|
BUST 3 mul 32 div 2.4 add dup mul add sqrt def % Bust Dart length |
|
|
|
%%% angle |
|
/gamma {L16 BUST 3 mul 32 div 2.4 add atan} def |
|
/phi {gamma BUST 4 div add 2.5 sub} def |
|
|
|
%%% vertex coordinates |
|
/Armpit {LWS L14} def |
|
/WaistSide {LWS 0.0} def |
|
/Origin {0.0 0.0} def |
|
/pointA {0.0 CBL} def % or Back Neck Point (BNP) |
|
/pointB {L2 L14 L9 add} def |
|
/pointC {L5 L14} def |
|
/pointD {L5 CBL 8 sub} def |
|
/pointE {L5 2 div 1.0 add CBL 8.0 sub} def |
|
/pointF {L5 L15 add L14} def |
|
/pointG {L5 L15 add |
|
L14 L16 add} def |
|
/BP {L2 L11 2 div sub 0.7 sub |
|
L14} def |
|
/pointH {BP exch BDL phi cos mul sub exch BDL phi sin mul add} def |
|
/pointI {L2 L11 sub L14} def |
|
/pointJ {L2 L11 sub L14 L9 add} def |
|
/pointK {L5 L14 L16 add} def |
|
/pointM {0.0 CBL 8 sub} def |
|
/FNP {L2 |
|
L14 L9 add L18 sub} def % front Neck Point |
|
/fSNP {L2 L17 sub |
|
L14 L9 add} def % front Side Neck Point |
|
/fSP {L2 L11 sub 1.8 FrontShoulderAngle cos mul sub |
|
L14 L9 add L19 FrontShoulderAngle sin mul sub} def % front Shoulder Point |
|
/bSNP {L24 |
|
L24 3 div CBL add } def % back Side Neck Point |
|
/bSP {bSNP |
|
exch BSL BackShoulderAngle cos mul add |
|
exch BSL BackShoulderAngle sin mul sub } def % Back Shoulder Line End |
|
/BSLM {bSNP |
|
exch BS1 BackShoulderAngle cos mul add |
|
exch BS1 BackShoulderAngle sin mul sub } def % Back Shoulder Line Middle |
|
/BSLN {bSNP |
|
exch BS2 BackShoulderAngle cos mul add |
|
exch BS2 BackShoulderAngle sin mul sub } def % Back Shoulder Line Next |
|
|
|
%%% Curve Sources |
|
/BNCsource { % Back Neck Curve source |
|
0.00 0.0000 |
|
0.20 0.0000 |
|
0.30 0.0200 |
|
0.40 0.0467 |
|
0.50 0.1227 |
|
0.60 0.2120 |
|
0.70 0.3467 |
|
0.80 0.4893 |
|
0.85 0.5947 |
|
0.90 0.7040 |
|
0.95 0.8360 |
|
1.00 1.0000 |
|
} def |
|
|
|
/FNCsource { % Front Neck Curve source |
|
0.00 0.0000 |
|
0.10 0.0050 |
|
0.20 0.0225 |
|
0.30 0.0383 |
|
0.40 0.0790 |
|
0.50 0.1198 |
|
0.60 0.1793 |
|
0.70 0.2602 |
|
0.80 0.3769 |
|
0.85 0.4553 |
|
0.90 0.5289 |
|
0.95 0.6638 |
|
1.00 1.0000 |
|
} def |
|
|
|
/BAPCsource { % Back ArmPit Curve source |
|
0.00 0.0000 |
|
0.05 0.0060 |
|
0.10 0.0137 |
|
0.20 0.0369 |
|
0.30 0.0702 |
|
0.40 0.1148 |
|
0.50 0.1755 |
|
0.60 0.2451 |
|
0.70 0.3373 |
|
0.75 0.3867 |
|
0.80 0.4462 |
|
0.85 0.5057 |
|
0.90 0.5889 |
|
0.95 0.7109 |
|
0.99 0.8500 |
|
1.00 1.0000 |
|
} def |
|
|
|
/FAPCsource { % Back ArmPit Curve source |
|
0.00 0.0000 |
|
0.10 0.0028 |
|
0.20 0.0167 |
|
0.30 0.0389 |
|
0.40 0.0723 |
|
0.50 0.1196 |
|
0.60 0.1848 |
|
0.70 0.2700 |
|
0.80 0.3728 |
|
0.85 0.4380 |
|
0.90 0.5398 |
|
0.95 0.6611 |
|
0.987 0.8000 |
|
0.994 0.9000 |
|
1.00 1.0000 |
|
} def |
|
|
|
/bSPCsource { % Back Shoulder Point arm hole Curve source |
|
0.0000 0.00 |
|
0.0212 0.10 |
|
0.0577 0.20 |
|
0.1250 0.30 |
|
0.2077 0.40 |
|
0.3135 0.50 |
|
0.4269 0.59 |
|
0.5673 0.69 |
|
0.7115 0.80 |
|
0.8558 0.90 |
|
1.0000 1.00 |
|
} def |
|
|
|
/fSPCsource { % Front Shoulder Point arm hole Curve source |
|
0.0000 0.00 |
|
-0.1267 0.10 |
|
-0.1946 0.20 |
|
-0.1674 0.30 |
|
-0.0814 0.40 |
|
0.0317 0.50 |
|
0.1584 0.60 |
|
0.3348 0.70 |
|
0.5200 0.80 |
|
0.7330 0.90 |
|
1.0000 1.00 |
|
} def |
|
|
|
%%% Lines |
|
/BustLineAndFront {0.0 L14 L2 L14 pointB pointJ pointI} def |
|
/BackAUX {pointC pointD 0.0 CBL 8.0 sub} def |
|
/FGK {pointF pointG pointK} def |
|
/BNC { BNCsource pointA bSNP curvemaker} def |
|
/FNC { FNCsource FNP fSNP curvemaker} def |
|
/BAPC {BAPCsource Armpit pointK 0.8 add curvemaker} def |
|
/FAPC {FAPCsource Armpit pointG curvemaker} def |
|
/bSPC {bSPCsource pointK 0.8 add bSP curvemaker} def |
|
/fSPC {fSPCsource pointH fSP curvemaker} def |
|
|
|
1 setlinecap |
|
1 setlinejoin |
|
|
|
%%% Use cm unit |
|
28.34645669 28.34645669 scale |
|
|
|
2 CBL 10 sub (Back) showsizelist |
|
L2 8 sub CBL 10 sub (Front) showsizelist |
|
|
|
|
|
%%% Auxiliary Lines |
|
AuxiliaryLineWidth setlinewidth |
|
|
|
%%% Draw Line |
|
BustLineAndFront connect |
|
BackAUX connect |
|
FGK connect |
|
|
|
%%% Waist Darts |
|
/Dtotal L2 WAIST 2 div sub 3.0 sub def |
|
/Df Dtotal 0.07 mul def |
|
/De Dtotal 0.18 mul def |
|
/Dd Dtotal 0.35 mul def |
|
/Dc Dtotal 0.11 mul def |
|
/Db Dtotal 0.15 mul def |
|
/Da Dtotal 0.14 mul def |
|
pointM Df 0.0 connect |
|
pointE pop 0.5 sub L14 2.0 add De drawdart |
|
pointK exch 1.0 sub exch Dd drawdart |
|
Armpit Dc drawdart |
|
pointG |
|
exch 1.5 add exch |
|
1.5 gamma cos div gamma sin mul sub |
|
Db drawdart |
|
BP 4.5 sub Dtotal 6 div add Da drawdart |
|
|
|
FinishLineWidth setlinewidth |
|
%%% CB |
|
newpath |
|
Origin moveto |
|
pointA lineto |
|
stroke |
|
%%% Side Line |
|
newpath |
|
Armpit moveto |
|
WaistSide lineto |
|
stroke |
|
%%% CF |
|
newpath |
|
L2 0.0 moveto |
|
FNP lineto |
|
stroke |
|
%%% back Waist Line |
|
newpath |
|
0.0 0.0 moveto |
|
WaistSide lineto |
|
stroke |
|
%%% front Waist Line |
|
newpath |
|
WaistSide moveto |
|
L2 0.0 lineto |
|
stroke |
|
|
|
%%% front Shoulder Line |
|
newpath |
|
fSNP moveto |
|
fSP lineto |
|
stroke |
|
%%% front Dart |
|
newpath |
|
pointG moveto |
|
BP lineto |
|
pointH lineto |
|
stroke |
|
|
|
%%% back Shoulder Line |
|
newpath |
|
bSNP moveto |
|
BSLM lineto |
|
pointE lineto |
|
BSLN lineto |
|
bSP lineto |
|
stroke |
|
|
|
%%% back neck line |
|
BNC connect |
|
% 0.0 CBL L24 3 div 5 mul add |
|
% L24 3 div 5 mul |
|
% 270 270 3 4 atan add arc |
|
% stroke |
|
|
|
FNC connect |
|
BAPC connect |
|
FAPC connect |
|
bSPC connect |
|
fSPC connect |
|
|
|
showpage |
|
|
|
PrintParameters { |
|
(BUST = ) print BUST == |
|
(WAIST = ) print WAIST == |
|
(CBL = ) print CBL == |
|
(L2 = ) print L2 == |
|
(L3 = ) print L3 == |
|
(L5 = ) print L5 == |
|
(L9 = ) print L9 == |
|
(L11 = ) print L11 == |
|
(L13 = ) print L13 == |
|
(L14 = ) print L14 == |
|
(L15 = ) print L15 == |
|
(L16 = ) print L16 == |
|
(L17 = ) print L17 == |
|
(L18 = ) print L18 == |
|
(L19 = ) print L19 == |
|
(L21 = ) print L21 == |
|
(L24 = ) print L24 == |
|
(L25 = ) print L25 == |
|
(BSL = ) print BSL == % Back Shoulder Line |
|
(BDL = ) print BDL == % Bust Dart length |
|
(phi = ) print phi == |
|
} if |
|
%%%local variables: |
|
%%% compile-command: "epstopdf nbbbp.eps && /usr/bin/osascript -e 'tell application \"Preview.app\" to activate'" |
|
%%%End: |