// Copyright (C) 2001 Leena L�hteenm�ki, Finland // Copyright (C) 2012 PatternMaker Software // 2012/06/18 changed 786(;), 496, 1736 // disabled check_arrange() to fix fly problem /* fly draws up instead of drawing down fly should be grouped with the pants enabling overlap is causing the problem. Same fly is used for 2 style options though. */ object marker_array[20]; double marker_count, loop; double result; double x[100], y[100]; object group_obj[100]; double language; double aly,length,inside_length,crotch, haarakoukku, lahkeensuu, leg; double metric; double model; double pocket; double siirtox, siirtoy; double ang, ang2; double sv; double polvikorkeus; double ease, f_crotch[3],f_aly[3],f_length[3], f_haarakoukku[3], f_lahkeensuu[3]; double scale_h, scale_v, siirtox, siirtoy; double size, t_aly[8]; double t_length[8]; double t_crotch[8]; double sex; double index, done, version; double tl; object current_object; point current_point; selection current_selection; main() { scale_h=1; scale_v=1; index = 0; done = 0; index = 0; language=get_language(); if(language != 0) { language = 0; } if (language == 0) { check_reg(0, "Leena","O_macros", "This macro needs to be properly installed before running it."); } //Start Options while (!done) { if (index == 0) { dialog_model(); } if (index == 1) { dialog_sex(); } if (index == 2) { dialog_size(); } if (index == 3) { dialog_ease(); } if (index == 4) { dialog_pockets1(); } if (index == 5) { dialog_pockets2(); } if (index == 6) { dialog_leg_width(); } } //End Options t_aly[0]=84; t_aly[1]=92; t_aly[2]=100; t_aly[3]=108; t_aly[4]=116; t_aly[5]=124; t_aly[6]=132; t_aly[7]=140; t_length[0]=103.5; t_length[1]=106.5; t_length[2]=109.5; t_length[3]=112.5; t_length[4]=115.5; t_length[5]=118.5; t_length[6]=121.5; t_length[7]=124.5; t_crotch[0]=26.5; t_crotch[1]=27.5; t_crotch[2]=28.5; t_crotch[3]=29.5; t_crotch[4]=30.5; t_crotch[5]=31.5; t_crotch[6]=32.5; t_crotch[7]=33.5; aly=t_aly[size]; length=t_length[size]; crotch=t_crotch[size]; if(model==2) { scale_h=0.7; scale_v=0.8; if (is_function("start_picture_input")) { if (language == 0) { start_picture_input("FABRIC STRETCH"); } if (language == 0) { add_picture_input("Horizontal scaling factor",scale_h, ""); } if (language == 0) { add_picture_input("Vertical scaling factor",scale_v, ""); } run_picture_input(); } else { if (language == 0) { dialog_box("FABRIC STRETCH","Horizontal scaling factor",scale_h, "Vertical scaling factor",scale_v); } } } haarakoukku=aly/4/4; lahkeensuu=2*aly/4/3; sv=1; if (is_function("unit_mode")==1) { metric = unit_mode(); if (!metric) { aly=aly/2.54; length=length/2.54; crotch=crotch/2.54; sv=sv/2.54; } } else { if (language == 0) { metric=2*pop_up("UNITS","Inches","Centimeters"); } if (metric<1) { aly=aly/2.54; length=length/2.54; crotch=crotch/2.54; sv=sv/2.54; } } if(metric==0) { sv=0.39; } double read; read = 0; if(sex==1) { if (is_function("measure_table")==1) { if (measure_table("default_women")==1) { read = 1; } } } else { if (is_function("measure_table")==1) { if (measure_table("default_men")==1) { read = 1; } } } if (read==0) { if (is_function("start_picture_input")) { if (language == 0) { start_picture_input("SPORT PANTS"); } if (language == 0) { add_picture_input("Hip circumference",aly, "w_meas_hipcirc"); } if (language == 0) { add_picture_input("Crotch depth",crotch, "w_meas_crotch_dpt"); } run_picture_input(); } else { if (language == 0) { dialog_box( "SPORT PANTS", "Hip circumference",aly, "Crotch depth",crotch); } } } if (is_function("start_picture_input")) { if (language == 0) { start_picture_input("CUSTOM MEASUREMENTS"); } if (language == 0) { add_picture_input("Outside seam length",length, "w_meas_outside"); } if (language == 0) { add_picture_input("Seam Allowance",sv, "meas_seamallow"); } run_picture_input(); } else { if (language == 0) { dialog_box( "CUSTOM MEASUREMENTS", "Outside seam length",length, "Seam Allowance",sv); } } if (is_function("unit_mode")==1) { metric = unit_mode(); if (!metric) { aly=aly*2.54; length=length*2.54; crotch=crotch*2.54; } } else { if (metric<1) { aly=aly*2.54; length=length*2.54; crotch=crotch*2.54; } } if(metric==2) { sv=sv/2.54; } f_aly[0]=aly+6; f_crotch[0]=crotch+0.5; f_haarakoukku[0]=haarakoukku+0.5; f_lahkeensuu[0]=lahkeensuu+3; f_aly[1]=aly+2; f_crotch[1]=crotch; f_haarakoukku[1]=haarakoukku-0.5; f_lahkeensuu[1]=lahkeensuu+2; f_aly[2]=aly+10; f_crotch[2]=crotch+2; f_haarakoukku[2]=haarakoukku+1; f_lahkeensuu[2]=lahkeensuu+5; aly=f_aly[ease]; crotch=f_crotch[ease]; haarakoukku=f_haarakoukku[ease]; lahkeensuu=f_lahkeensuu[ease]; if(leg==1) { lahkeensuu=lahkeensuu+3; } inside_length=length-crotch; polvikorkeus=80; x[0]=0; y[0]=0; coord(0,1,0,-crotch); coord(1,2,0,-inside_length); center(1,2,3); coord(1,4,-aly/4,0); coord(0,5,-aly/4,0); coord(5,6,1,0); coord(4,7,0,crotch/4); tl=16; center(0,6,28); cont(28,4,29,-3*dist(28,4)/4); coord(0,30,0,-25); coord(0,31,-4,-2); coord(31,32,0,-tl); coord(6,36,dist(6,0)/4*3,0); coord(0,35,0,-15); cont(0,35,37,-dist(0,35)/4); coord(28,38,dist(28,0)/4,0); x[39]=x[38]; y[39]=y[37]; coord(0,40,0,-3); coord(40,41,0,-tl); if(pocket>0) { if((model<2)||(model==3)) { current_object=newobject("poly"); addpoint((x[0]+siirtox)/2.54, (y[0]+siirtoy)/2.54, "line"); addpoint((x[28]+siirtox)/2.54, (y[28]+siirtoy)/2.54, "line"); addpoint((x[29]+siirtox)/2.54, (y[29]+siirtoy)/2.54, "xarc_start"); addpoint((x[4]+siirtox)/2.54, (y[4]+siirtoy)/2.54, "xarc_corner"); if(pocket==2) { addpoint((x[30]+siirtox)/2.54, (y[30]+siirtoy)/2.54, "line"); current_point=addpoint((x[41]+siirtox)/2.54, (y[41]+siirtoy)/2.54, "line"); notch_type(current_point,"NOTCH",1); current_point=addpoint((x[40]+siirtox)/2.54, (y[40]+siirtoy)/2.54, "line"); notch_type(current_point,"NOTCH",1); } else { addpoint((x[30]+siirtox)/2.54, (y[30]+siirtoy)/2.54, "open"); } group_obj[1]=current_object; if(pocket==1) { current_object=newobject("poly"); addpoint((x[31]+siirtox)/2.54, (y[31]+siirtoy)/2.54, "line"); addpoint((x[31]-1.5+siirtox)/2.54, (y[31]+siirtoy)/2.54, "line"); addpoint((x[32]-1.5+siirtox)/2.54, (y[32]+siirtoy)/2.54, "line"); addpoint((x[32]+siirtox)/2.54, (y[32]+siirtoy)/2.54, "line"); group_obj[2]=current_object; current_object=newobj_dot((x[31]-.75+siirtox)/2.54, (y[31]+siirtoy)/2.54); addpoint((x[32]-.75+siirtox)/2.54, (y[32]+siirtoy)/2.54, "line"); group_obj[3]=current_object; } if(pocket==3) { current_object=newobject("poly"); addpoint((x[36]+siirtox)/2.54, (y[36]+siirtoy)/2.54, "line"); addpoint((x[35]+siirtox)/2.54, (y[35]+siirtoy)/2.54, "open"); group_obj[2]=current_object; } if(pocket==4) { current_object=newobject("poly"); addpoint((x[38]+siirtox)/2.54, (y[38]+siirtoy)/2.54, "xarc_start"); addpoint((x[39]+siirtox)/2.54, (y[39]+siirtoy)/2.54, "xarc_corner"); addpoint((x[37]+siirtox)/2.54, (y[37]+siirtoy)/2.54, "open"); group_obj[2]=current_object; } siirtox=-aly/3; siirtoy=0; current_object=newobject("poly"); addpoint((x[0]+siirtox)/2.54, (y[0]+siirtoy)/2.54, "line"); addpoint((x[28]+siirtox)/2.54, (y[28]+siirtoy)/2.54, "line"); addpoint((x[29]+siirtox)/2.54, (y[29]+siirtoy)/2.54, "xarc_start"); addpoint((x[4]+siirtox)/2.54, (y[4]+siirtoy)/2.54, "xarc_corner"); addpoint((x[30]+siirtox)/2.54, (y[30]+siirtoy)/2.54, "line"); if(pocket==2) { current_point=addpoint((x[41]+siirtox)/2.54, (y[41]+siirtoy)/2.54, "line"); notch_type(current_point,"NOTCH",1); current_point=addpoint((x[40]+siirtox)/2.54, (y[40]+siirtoy)/2.54, "line"); notch_type(current_point,"NOTCH",1); } group_obj[4]=current_object; if (language == 0) { current_object=newobject("text","Pocket bag Grainline Cut 4",-1.570796,0.2,0.2,"SIMP.CHR"); } addpoint((x[28]+0.4+siirtox)/2.54, (y[28]-1+siirtoy)/2.54, "LINE"); group_obj[5]=current_object; current_object=newobject("poly"); addpoint((x[28]+0.2+siirtox)/2.54, (y[28]-1+siirtoy)/2.54, "LINE"); addpoint((x[28]+0.2+siirtox)/2.54, (y[28]-15+siirtoy)/2.54, "open"); group_obj[6]=current_object; if(sv>0) { offset_mark(4); select(current_selection,group_obj[5]); select(current_selection,group_obj[6]); group(current_selection); deselect(current_selection); } else { mark(4); current_selection=newselection("OBJECT"); select(current_selection,group_obj[4]); select(current_selection,group_obj[5]); select(current_selection,group_obj[6]); group(current_selection); deselect(current_selection); } siirtox=siirtox-dist(0,6); siirtoy=0; if((pocket==1)||(pocket==2)) { current_object=newobject("poly"); addpoint((x[0]+siirtox)/2.54, (y[0]+siirtoy)/2.54, "line"); addpoint((x[28]+siirtox)/2.54, (y[28]+siirtoy)/2.54, "line"); addpoint((x[29]+siirtox)/2.54, (y[29]+siirtoy)/2.54, "xarc_start"); addpoint((x[4]+siirtox)/2.54, (y[4]+siirtoy)/2.54, "xarc_corner"); addpoint((x[30]+siirtox)/2.54, (y[30]+siirtoy)/2.54, "line"); if(pocket==2) { current_point=addpoint((x[41]+siirtox)/2.54, (y[41]+siirtoy)/2.54, "line"); notch_type(current_point,"NOTCH",1); current_point=addpoint((x[40]+siirtox)/2.54, (y[40]+siirtoy)/2.54, "line"); notch_type(current_point,"NOTCH",1); } } if(pocket==3) { current_object=newobject("poly"); addpoint((x[35]+siirtox)/2.54, (y[35]+siirtoy)/2.54, "line"); addpoint((x[36]+siirtox)/2.54, (y[36]+siirtoy)/2.54, "line"); addpoint((x[28]+siirtox)/2.54, (y[28]+siirtoy)/2.54, "line"); addpoint((x[29]+siirtox)/2.54, (y[29]+siirtoy)/2.54, "xarc_start"); addpoint((x[4]+siirtox)/2.54, (y[4]+siirtoy)/2.54, "xarc_corner"); addpoint((x[30]+siirtox)/2.54, (y[30]+siirtoy)/2.54, "line"); } if(pocket==4) { current_object=newobject("poly"); addpoint((x[37]+siirtox)/2.54, (y[37]+siirtoy)/2.54, "xarc_start"); addpoint((x[39]+siirtox)/2.54, (y[39]+siirtoy)/2.54, "xarc_corner"); addpoint((x[38]+siirtox)/2.54, (y[38]+siirtoy)/2.54, "line"); addpoint((x[28]+siirtox)/2.54, (y[28]+siirtoy)/2.54, "line"); addpoint((x[29]+siirtox)/2.54, (y[29]+siirtoy)/2.54, "xarc_start"); addpoint((x[4]+siirtox)/2.54, (y[4]+siirtoy)/2.54, "xarc_corner"); addpoint((x[30]+siirtox)/2.54, (y[30]+siirtoy)/2.54, "line"); } group_obj[7]=current_object; if (language == 0) { current_object=newobject("text","Pocket facing Grainline Cut 4",-1.570796,0.2,0.2,"SIMP.CHR"); } addpoint((x[28]+0.2+siirtox)/2.54, (y[28]-1+siirtoy)/2.54, "LINE"); group_obj[8]=current_object; current_object=newobject("poly"); addpoint((x[28]+0.2+siirtox)/2.54, (y[28]-1+siirtoy)/2.54, "LINE"); addpoint((x[28]+0.2+siirtox)/2.54, (y[28]-15+siirtoy)/2.54, "open"); group_obj[9]=current_object; if(sv>0) { offset_mark(7); select(current_selection,group_obj[8]); select(current_selection,group_obj[9]); group(current_selection); deselect(current_selection); } else { mark(7); current_selection=newselection("OBJECT"); select(current_selection,group_obj[7]); select(current_selection,group_obj[8]); select(current_selection,group_obj[9]); group(current_selection); deselect(current_selection); } siirtox=siirtox-35; // LAH changed from -25 for check_overlap() problem with fly if(pocket==1) { current_object=newobject("poly"); addpoint((x[0]+siirtox)/2.54, (y[0]+siirtoy)/2.54, "line"); addpoint((x[0]+siirtox)/2.54, (y[0]-tl-6+siirtoy)/2.54, "line"); addpoint((x[0]+3+siirtox)/2.54, (y[0]-tl-6+siirtoy)/2.54, "line"); addpoint((x[0]+3+siirtox)/2.54, (y[0]+siirtoy)/2.54, "line"); group_obj[10]=current_object; if (language == 0) { current_object=newobject("text","Pocket jetting 4",-1.570796,0.2,0.2,"SIMP.CHR"); } addpoint((x[0]+0.2+siirtox)/2.54, (y[0]-1+siirtoy)/2.54, "LINE"); group_obj[11]=current_object; if(sv>0) { offset_mark(10); select(current_selection,group_obj[11]); group(current_selection); deselect(current_selection); } else { mark(10); current_selection=newselection("OBJECT"); select(current_selection,group_obj[10]); select(current_selection,group_obj[11]); group(current_selection); deselect(current_selection); } } } } siirtox=0; siirtoy=0; coord(6,33,0,0); coord(33,34,-4,0); cont(7,6,37,-20); coord(37,36,-4,0); cont(34,36,35,-2); if(model!=2) { current_object=newobject("poly"); addpoint((x[33]+siirtox)/2.54, (y[33]+siirtoy)/2.54, "line"); addpoint((x[34]+siirtox)/2.54, (y[34]+siirtoy)/2.54, "line"); addpoint((x[35]+siirtox)/2.54, (y[35]+siirtoy)/2.54, "xarc_start"); addpoint((x[36]+siirtox)/2.54, (y[36]+siirtoy)/2.54, "xarc_corner"); addpoint((x[37]+siirtox)/2.54, (y[37]+siirtoy)/2.54, "open"); group_obj[12]=current_object; if(sv>0) { offset_mark(12); group(current_selection); deselect(current_selection); } else { mark(12); } } if((model==0)||(model==2)) { x[0]=0; y[0]=0; coord(0,1,0,-crotch); coord(1,2,0,-inside_length); center(1,2,3); coord(1,4,-aly/4,0); coord(0,5,-aly/4,0); coord(5,6,1,0); coord(4,7,0,crotch/4); coord(4,8,-haarakoukku,0); coord(2,9,-lahkeensuu,0); x[10]=x[9]; y[10]=y[3]; coord(10,11,-3,0); center(8,11,19); coord(6,12,3.5,0); coord(12,13,0,3.5); center(4,5,14); coord(8,15,-haarakoukku-0.5,0); coord(15,16,0,-1); coord(9,17,-2,0); coord(11,18,-3,0); center(18,16,20); double waistband_length, waistband_height; waistband_length=dist(0,13)+dist(0,6); waistband_height=4; if(model==0) { siirtoy=3*(waistband_height+5); current_object=newobject("poly"); addpoint((x[6]+waistband_length+siirtox)/2.54, (y[6]+2*waistband_height+siirtoy)/2.54, "LINE"); addpoint((x[6]-4+siirtox)/2.54, (y[6]+2*waistband_height+siirtoy)/2.54, "line"); addpoint((x[6]-4+siirtox)/2.54, (y[6]+siirtoy)/2.54, "LINE"); addpoint((x[6]+waistband_length+siirtox)/2.54, (y[6]+siirtoy)/2.54, "open"); group_obj[13]=current_object; current_object=newobj_dot((x[6]+waistband_length+siirtox)/2.54, (y[6]+waistband_height+siirtoy)/2.54); addpoint((x[6]+siirtox)/2.54, (y[6]+waistband_height+siirtoy)/2.54, "open"); group_obj[14]=current_object; current_object=newobj_dot((x[6]+waistband_length+siirtox)/2.54, (y[6]+siirtoy)/2.54); addpoint((x[6]+waistband_length+siirtox)/2.54, (y[6]+2*waistband_height+siirtoy)/2.54, "open"); group_obj[15]=current_object; current_object=newobject("poly"); addpoint((x[6]+siirtox)/2.54, (y[6]+2*waistband_height+siirtoy)/2.54, "LINE"); addpoint((x[6]+siirtox)/2.54, (y[6]+siirtoy)/2.54, "open"); group_obj[16]=current_object; if (language == 0) { current_object=newobject("text","Waist band, CF, cut 1 on fold",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[6]+0.2+siirtox)/2.54, (y[6]+1+siirtoy)/2.54, "LINE"); group_obj[17]=current_object; if(sv>0) { offset_mark(13); select(current_selection,group_obj[14]); select(current_selection,group_obj[15]); select(current_selection,group_obj[16]); select(current_selection,group_obj[17]); group(current_selection); deselect(current_selection); } else { mark(13); current_selection=newselection("OBJECT"); select(current_selection,group_obj[13]); select(current_selection,group_obj[14]); select(current_selection,group_obj[15]); select(current_selection,group_obj[16]); select(current_selection,group_obj[17]); group(current_selection); deselect(current_selection); } } siirtoy=0; current_object=newobject("poly"); if(model==0) { current_point=addpoint((x[0]+siirtox)/2.54*scale_h, (y[0]+siirtoy)/2.54*scale_v, "line"); notch_type(current_point,"NOTCH",0); addpoint((x[6]+siirtox)/2.54*scale_h, (y[6]+siirtoy)/2.54*scale_v, "LINE"); } else { current_point=addpoint((x[0]+siirtox)/2.54*scale_h, (y[0]+5+siirtoy)/2.54*scale_v, "line"); notch_type(current_point,"NOTCH",0); addpoint((x[6]+siirtox)/2.54*scale_h, (y[6]+5+siirtoy)/2.54*scale_v, "LINE"); } addpoint((x[7]+siirtox)/2.54*scale_h, (y[7]+siirtoy)/2.54*scale_v, "xarc_start"); addpoint((x[4]+siirtox)/2.54*scale_h, (y[4]+siirtoy)/2.54*scale_v, "xarc_corner"); addpoint((x[8]+siirtox)/2.54*scale_h, (y[8]+siirtoy)/2.54*scale_v, "line"); addpoint((x[19]+siirtox)/2.54*scale_h, (y[19]+siirtoy)/2.54*scale_v, "xarc_start"); current_point=addpoint((x[11]+siirtox)/2.54*scale_h, (y[11]+siirtoy)/2.54*scale_v, "xarc_corner"); notch_type(current_point,"NOTCH",0); addpoint((x[9]+siirtox)/2.54*scale_h, (y[9]+siirtoy)/2.54*scale_v, "LINE"); addpoint((x[9]+siirtox)/2.54*scale_h, (y[9]-5+siirtoy)/2.54*scale_v, "LINE"); addpoint((x[2]+siirtox)/2.54*scale_h, (y[2]-5+siirtoy)/2.54*scale_v, "open"); group_obj[18]=current_object; if(model==2) { current_object=newobject("poly"); current_point=addpoint((x[0]+siirtox)/2.54*scale_h, (y[0]+siirtoy)/2.54*scale_v, "line"); notch_type(current_point,"NOTCH",0); addpoint((x[6]+siirtox)/2.54*scale_h, (y[6]+siirtoy)/2.54*scale_v, "open"); group_obj[19]=current_object; if (language == 0) { current_object=newobject("text","Casing for elastic",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[0]-5+siirtox)/2.54*scale_h, (y[0]+4+siirtoy)/2.54*scale_v, "LINE"); group_obj[20]=current_object; } if (language == 0) { current_object=newobject("text","Center Front",-1.570796,0.2,0.2,"SIMP.CHR"); } addpoint((x[6]+0.2+siirtox)/2.54*scale_h, (y[6]-1+siirtoy)/2.54*scale_v, "LINE"); group_obj[21]=current_object; current_object=newobject("poly"); addpoint((x[0]+siirtox)/2.54*scale_h, (y[0]+siirtoy)/2.54*scale_v, "LINE"); addpoint((x[2]+siirtox)/2.54*scale_h, (y[2]+siirtoy)/2.54*scale_v, "open"); group_obj[22]=current_object; if (language == 0) { current_object=newobject("text","One-piece trousers, Cut 2, Grainline",-1.570796,0.2,0.2,"SIMP.CHR"); } addpoint((x[1]+.2+siirtox)/2.54*scale_h, (y[1]+siirtoy)/2.54*scale_v, "line"); group_obj[23]=current_object; current_object=newobj_dot((x[9]+siirtox)/2.54*scale_h, (y[9]+siirtoy)/2.54*scale_v); addpoint((x[2]+siirtox)/2.54*scale_h, (y[2]+siirtoy)/2.54*scale_v, "open"); group_obj[24]=current_object; if (language == 0) { current_object=newobject("text","Cuff Hem allowance",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[9]+1+siirtox)/2.54*scale_h, (y[9]-.8+siirtoy)/2.54*scale_v, "line"); group_obj[25]=current_object; if(sv>0) { offset_mark(18); if((pocket>0)&&(model==0)) { select(current_selection,group_obj[1]); select(current_selection,group_obj[2]); select(current_selection,group_obj[3]); } if(model==0) { // select(current_selection,group_obj[12]); } if(model==2) { select(current_selection,group_obj[19]); select(current_selection,group_obj[20]); } select(current_selection,group_obj[21]); select(current_selection,group_obj[22]); select(current_selection,group_obj[23]); select(current_selection,group_obj[24]); select(current_selection,group_obj[25]); group(current_selection); deselect(current_selection); } else { mark(18); current_selection=newselection("OBJECT"); select(current_selection,group_obj[18]); if((pocket>0)&&(model==0)) { select(current_selection,group_obj[1]); select(current_selection,group_obj[2]); select(current_selection,group_obj[3]); } if(model==0) { ; // select(current_selection,group_obj[12]); } if(model==2) { select(current_selection,group_obj[19]); select(current_selection,group_obj[20]); } select(current_selection,group_obj[21]); select(current_selection,group_obj[22]); select(current_selection,group_obj[23]); select(current_selection,group_obj[24]); select(current_selection,group_obj[25]); group(current_selection); deselect(current_selection); } x[13]=x[13]+2*(x[0]-x[13]); x[14]=x[14]+2*(x[0]-x[14]); x[4]=x[4]+2*(x[0]-x[4]); x[16]=x[16]+2*(x[0]-x[16]); x[20]=x[20]+2*(x[0]-x[20]); x[18]=x[18]+2*(x[0]-x[18]); x[17]=x[17]+2*(x[0]-x[17]); current_object=newobject("poly"); if(model==0) { addpoint((x[0]+siirtox)/2.54*scale_h, (y[0]+siirtoy)/2.54*scale_v, "line"); addpoint((x[13]+siirtox)/2.54*scale_h, (y[13]+siirtoy)/2.54*scale_v, "line"); } else { addpoint((x[0]+siirtox)/2.54*scale_h, (y[0]+5+siirtoy)/2.54*scale_v, "line"); addpoint((x[13]+siirtox)/2.54*scale_h, (y[13]+5+siirtoy)/2.54*scale_v, "line"); } center(13,4,14); addpoint((x[14]+siirtox)/2.54*scale_h, (y[14]+siirtoy)/2.54*scale_v, "xarc_start"); addpoint((x[4]+siirtox)/2.54*scale_h, (y[4]+siirtoy)/2.54*scale_v, "xarc_corner"); addpoint((x[16]+siirtox)/2.54*scale_h, (y[16]+siirtoy)/2.54*scale_v, "line"); addpoint((x[20]+siirtox)/2.54*scale_h, (y[20]+siirtoy)/2.54*scale_v, "xarc_start"); current_point=addpoint((x[18]+siirtox)/2.54*scale_h, (y[18]+siirtoy)/2.54*scale_v, "xarc_corner"); notch_type(current_point,"NOTCH",0); addpoint((x[17]+siirtox)/2.54*scale_h, (y[17]+siirtoy)/2.54*scale_v, "LINE"); addpoint((x[17]+siirtox)/2.54*scale_h, (y[17]-5+siirtoy)/2.54*scale_v, "LINE"); addpoint((x[2]+siirtox)/2.54*scale_h, (y[2]-5+siirtoy)/2.54*scale_v, "open"); group_obj[26]=current_object; if(model==2) { current_object=newobject("poly"); current_point=addpoint((x[0]+siirtox)/2.54*scale_h, (y[0]+siirtoy)/2.54*scale_v, "line"); notch_type(current_point,"NOTCH",0); addpoint((x[13]+siirtox)/2.54*scale_h, (y[13]+siirtoy)/2.54*scale_v, "open"); group_obj[27]=current_object; } if (language == 0) { current_object=newobject("text","Center Back",-1.570796,0.2,0.2,"SIMP.CHR"); } addpoint((x[13]-0.7+siirtox)/2.54*scale_h, (y[13]-1+siirtoy)/2.54*scale_v, "LINE"); group_obj[28]=current_object; current_object=newobj_dot((x[17]+siirtox)/2.54*scale_h, (y[17]+siirtoy)/2.54*scale_v); addpoint((x[2]+siirtox)/2.54*scale_h, (y[2]+siirtoy)/2.54*scale_v, "open"); group_obj[29]=current_object; if(sv>0) { offset_mark(26); // select(current_selection,group_obj[18]); select(current_selection,group_obj[28]); select(current_selection,group_obj[29]); if(model==2) { select(current_selection,group_obj[27]); } group(current_selection); deselect(current_selection); } else { mark(26); current_selection=newselection("OBJECT"); select(current_selection,group_obj[26]); // select(current_selection,group_obj[18]); select(current_selection,group_obj[28]); select(current_selection,group_obj[29]); if(model==2) { select(current_selection,group_obj[27]); } group(current_selection); deselect(current_selection); } } if ((model==1)||(model==3)) { x[0]=0; y[0]=0; coord(0,1,0,-crotch); coord(1,2,0,-inside_length); center(1,2,3); coord(1,4,-aly/4,0); coord(0,5,-aly/4,0); coord(5,6,1,0); coord(4,7,0,crotch/4); coord(4,8,-haarakoukku,0); center(1,4,9); x[9]=x[9]+1; x[10]=x[9]; y[10]=y[3]; x[11]=x[9]; y[11]=y[2]; if(leg==0) { coord(11,12,dist(1,4)/3+1,0); } else { coord(11,12,dist(1,4)/3+1+3,0); } coord(11,13,-dist(11,12),0); line_intersect(12,1,10,3,14); coord(10,15,-dist(10,14),0); center(15,8,27); x[27]=x[27]+3; coord(6,16,5,0); coord(16,17,0,4); coord(0,18,3.5,0); center(4,5,19); coord(8,20,-haarakoukku-0.5,0); coord(20,21,0,-1); coord(12,22,1,0); line_intersect(22,18,10,3,23); coord(13,24,-1,0); coord(15,25,-dist(14,23),0); center(25,21,26); x[26]=x[26]+5; coord(10,50,0,10); cont(1,14,51,-10); cont(27,15,52,-10); cont(18,23,53,-10); cont(26,25,54,-10); coord(54,55,-6,0); coord(55,56,-dist(54,53)-dist(52,51),0); coord(56,57,0,-10); coord(55,58,0,-10); double taskunlev, taskunkork; taskunlev=19; taskunkork=20; coord(50,60,taskunlev/2,0); coord(60,61,0,taskunkork); coord(61,62,-taskunlev,0); coord(60,63,-taskunlev,0); coord(61,64,1,0); coord(64,65,0,-2); coord(65,66,0,-2); coord(66,67,-2,0); coord(66,68,-taskunlev-2,0); coord(68,69,2,0); coord(68,70,0,2); coord(70,71,0,2); center(62,61,72); center(63,60,73); coord(61,74,-taskunlev-12,0); coord(74,75,0,-taskunkork); center(74,61,76); coord(76,77,3,0); coord(77,78,3,0); coord(76,79,-3,0); coord(79,80,-3,0); center(75,60,81); coord(81,82,3,0); coord(82,83,3,0); coord(81,84,-3,0); coord(84,85,-3,0); double waistband_length, waistband_height; waistband_length=dist(18,17)+dist(0,6); waistband_height=4; siirtoy=waistband_height+5; current_object=newobject("poly"); addpoint((x[6]+waistband_length+siirtox)/2.54, (y[6]+2*waistband_height+siirtoy)/2.54, "LINE"); addpoint((x[6]-4+siirtox)/2.54, (y[6]+2*waistband_height+siirtoy)/2.54, "line"); addpoint((x[6]-4+siirtox)/2.54, (y[6]+siirtoy)/2.54, "LINE"); addpoint((x[6]+waistband_length+siirtox)/2.54, (y[6]+siirtoy)/2.54, "open"); group_obj[30]=current_object; current_object=newobj_dot((x[6]+waistband_length+siirtox)/2.54, (y[6]+waistband_height+siirtoy)/2.54); addpoint((x[6]+siirtox)/2.54, (y[6]+waistband_height+siirtoy)/2.54, "open"); group_obj[31]=current_object; current_object=newobj_dot((x[6]+waistband_length+siirtox)/2.54, (y[6]+siirtoy)/2.54); addpoint((x[6]+waistband_length+siirtox)/2.54, (y[6]+2*waistband_height+siirtoy)/2.54, "open"); group_obj[32]=current_object; current_object=newobject("poly"); addpoint((x[6]+siirtox)/2.54, (y[6]+2*waistband_height+siirtoy)/2.54, "LINE"); addpoint((x[6]+siirtox)/2.54, (y[6]+siirtoy)/2.54, "open"); group_obj[33]=current_object; if (language == 0) { current_object=newobject("text","Waist band, CF, cut 1 on fold",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[6]+0.2+siirtox)/2.54, (y[6]+1+siirtoy)/2.54, "LINE"); group_obj[34]=current_object; if(sv>0) { offset_mark(30); select(current_selection,group_obj[31]); select(current_selection,group_obj[32]); select(current_selection,group_obj[33]); select(current_selection,group_obj[34]); group(current_selection); deselect(current_selection); } else { mark(30); current_selection=newselection("OBJECT"); select(current_selection,group_obj[30]); select(current_selection,group_obj[31]); select(current_selection,group_obj[32]); select(current_selection,group_obj[33]); select(current_selection,group_obj[34]); group(current_selection); deselect(current_selection); } siirtoy=0; if (language == 0) { current_object=newobject("text","Center Front",-1.570796,0.2,0.2,"SIMP.CHR"); } addpoint((x[6]+0.2+siirtox)/2.54, (y[6]-1+siirtoy)/2.54, "LINE"); group_obj[35]=current_object; current_object=newobject("poly"); addpoint((x[9]+siirtox)/2.54, (y[9]+siirtoy)/2.54, "LINE"); if(model==1) { addpoint((x[11]+siirtox)/2.54, (y[11]+siirtoy)/2.54, "open"); } else { addpoint((x[11]+siirtox)/2.54, (y[50]+siirtoy)/2.54, "open"); } group_obj[36]=current_object; if(model==1) { if (language == 0) { current_object=newobject("text","Two-piece trousers Front Cut 2, Grainline",-1.570796,0.2,0.2,"SIMP.CHR"); } } else { if (language == 0) { current_object=newobject("text","Leg top piece Front Cut 2, Grainline",-1.570796,0.2,0.2,"SIMP.CHR"); } } addpoint((x[9]+.2+siirtox)/2.54, (y[9]+siirtoy)/2.54, "line"); group_obj[37]=current_object; if(model==3) { siirtoy=-6; } current_object=newobj_dot((x[13]+siirtox)/2.54, (y[13]+siirtoy)/2.54); addpoint((x[12]+siirtox)/2.54, (y[12]+siirtoy)/2.54, "open"); group_obj[38]=current_object; if (language == 0) { current_object=newobject("text","Cuff Hem allowance",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[13]+1+siirtox)/2.54, (y[13]-.8+siirtoy)/2.54, "line"); group_obj[39]=current_object; siirtox=0; siirtoy=0; current_object=newobject("poly"); addpoint((x[61]+siirtox)/2.54, (y[61]+siirtoy)/2.54, "LINE"); addpoint((x[60]+siirtox)/2.54, (y[60]+siirtoy)/2.54, "LINE"); addpoint((x[63]+siirtox)/2.54, (y[63]+siirtoy)/2.54, "LINE"); addpoint((x[62]+siirtox)/2.54, (y[62]+siirtoy)/2.54, "line"); group_obj[40]=current_object; siirtoy=0.7; current_object=newobject("poly"); addpoint((x[64]+siirtox)/2.54, (y[64]+siirtoy)/2.54, "LINE"); addpoint((x[65]+siirtox)/2.54, (y[65]+siirtoy)/2.54, "xarc_start"); addpoint((x[66]+siirtox)/2.54, (y[66]+siirtoy)/2.54, "xarc_corner"); addpoint((x[67]+siirtox)/2.54, (y[67]+siirtoy)/2.54, "LINE"); addpoint((x[69]+siirtox)/2.54, (y[69]+siirtoy)/2.54, "xarc_start"); addpoint((x[68]+siirtox)/2.54, (y[68]+siirtoy)/2.54, "xarc_corner"); addpoint((x[70]+siirtox)/2.54, (y[70]+siirtoy)/2.54, "LINE"); addpoint((x[71]+siirtox)/2.54, (y[71]+siirtoy)/2.54, "LINE"); group_obj[41]=current_object; siirtoy=0; siirtox=-aly/3; siirtoy=0; current_object=newobject("poly"); addpoint((x[61]+siirtox)/2.54, (y[61]+siirtoy)/2.54, "LINE"); current_point=addpoint((x[78]+siirtox)/2.54, (y[78]+siirtoy)/2.54, "LINE"); notch_type(current_point,"NOTCH",1); current_point=addpoint((x[77]+siirtox)/2.54, (y[77]+siirtoy)/2.54, "LINE"); notch_type(current_point,"NOTCH",1); current_point=addpoint((x[76]+siirtox)/2.54, (y[76]+siirtoy)/2.54, "LINE"); notch_type(current_point,"NOTCH",1); current_point=addpoint((x[79]+siirtox)/2.54, (y[79]+siirtoy)/2.54, "LINE"); notch_type(current_point,"NOTCH",1); current_point=addpoint((x[80]+siirtox)/2.54, (y[80]+siirtoy)/2.54, "LINE"); notch_type(current_point,"NOTCH",1); addpoint((x[74]+siirtox)/2.54, (y[74]+siirtoy)/2.54, "LINE"); addpoint((x[75]+siirtox)/2.54, (y[75]+siirtoy)/2.54, "LINE"); current_point=addpoint((x[85]+siirtox)/2.54, (y[85]+siirtoy)/2.54, "LINE"); notch_type(current_point,"NOTCH",1); current_point=addpoint((x[84]+siirtox)/2.54, (y[84]+siirtoy)/2.54, "LINE"); notch_type(current_point,"NOTCH",1); current_point=addpoint((x[81]+siirtox)/2.54, (y[81]+siirtoy)/2.54, "LINE"); notch_type(current_point,"NOTCH",1); current_point=addpoint((x[82]+siirtox)/2.54, (y[82]+siirtoy)/2.54, "LINE"); notch_type(current_point,"NOTCH",1); current_point=addpoint((x[83]+siirtox)/2.54, (y[83]+siirtoy)/2.54, "LINE"); notch_type(current_point,"NOTCH",1); addpoint((x[60]+siirtox)/2.54, (y[60]+siirtoy)/2.54, "LINE"); group_obj[42]=current_object; if (language == 0) { current_object=newobject("text","Thigh pocket Cut 2",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[74]+1+siirtox)/2.54, (y[74]-1+siirtoy)/2.54, "line"); group_obj[43]=current_object; if(sv>0) { offset_mark(42); select(current_selection,group_obj[43]); group(current_selection); deselect(current_selection); } else { mark(42); current_selection=newselection("OBJECT"); select(current_selection,group_obj[42]); select(current_selection,group_obj[43]); group(current_selection); deselect(current_selection); } siirtoy=8; current_object=newobject("poly"); addpoint((x[64]+siirtox)/2.54, (y[64]+siirtoy)/2.54, "LINE"); addpoint((x[65]+siirtox)/2.54, (y[65]+siirtoy)/2.54, "xarc_start"); addpoint((x[66]+siirtox)/2.54, (y[66]+siirtoy)/2.54, "xarc_corner"); addpoint((x[67]+siirtox)/2.54, (y[67]+siirtoy)/2.54, "LINE"); addpoint((x[69]+siirtox)/2.54, (y[69]+siirtoy)/2.54, "xarc_start"); addpoint((x[68]+siirtox)/2.54, (y[68]+siirtoy)/2.54, "xarc_corner"); addpoint((x[70]+siirtox)/2.54, (y[70]+siirtoy)/2.54, "LINE"); addpoint((x[71]+siirtox)/2.54, (y[71]+siirtoy)/2.54, "LINE"); group_obj[44]=current_object; if (language == 0) { current_object=newobject("text","Thigh pocket flap Cut 4",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[71]+1+siirtox)/2.54, (y[71]-1+siirtoy)/2.54, "line"); group_obj[45]=current_object; if(sv>0) { offset_mark(44); select(current_selection,group_obj[45]); group(current_selection); deselect(current_selection); } else { mark(44); current_selection=newselection("OBJECT"); select(current_selection,group_obj[44]); select(current_selection,group_obj[45]); group(current_selection); deselect(current_selection); } siirtox=0; siirtoy=0; if(model==1) { current_object=newobject("poly"); current_point=addpoint((x[6]+siirtox)/2.54, (y[6]+siirtoy)/2.54, "line"); current_point=addpoint((x[7]+siirtox)/2.54, (y[7]+siirtoy)/2.54, "xarc_start"); current_point=addpoint((x[4]+siirtox)/2.54, (y[4]+siirtoy)/2.54, "xarc_corner"); current_point=addpoint((x[8]+siirtox)/2.54, (y[8]+siirtoy)/2.54, "xarc_start"); current_point=addpoint((x[27]+siirtox)/2.54, (y[27]+siirtoy)/2.54, "xarc_corner"); current_point=addpoint((x[15]+siirtox)/2.54, (y[15]+siirtoy)/2.54, "line"); notch_type(current_point,"NOTCH",0); current_point=addpoint((x[13]+siirtox)/2.54, (y[13]-5+siirtoy)/2.54, "line"); current_point=addpoint((x[11]+siirtox)/2.54, (y[11]-5+siirtoy)/2.54, "line"); current_point=addpoint((x[12]+siirtox)/2.54, (y[12]-5+siirtoy)/2.54, "line"); current_point=addpoint((x[14]+siirtox)/2.54, (y[14]+siirtoy)/2.54, "line"); notch_type(current_point,"NOTCH",0); current_point=addpoint((x[1]+siirtox)/2.54, (y[1]+siirtoy)/2.54, "line"); notch_type(current_point,"NOTCH",0); current_point=addpoint((x[0]+siirtox)/2.54, (y[0]+siirtoy)/2.54, "line"); group_obj[46]=current_object; if(sv>0) { offset_mark(46); // select(current_selection,group_obj[12]); select(current_selection,group_obj[35]); select(current_selection,group_obj[36]); select(current_selection,group_obj[37]); select(current_selection,group_obj[38]); select(current_selection,group_obj[39]); select(current_selection,group_obj[40]); select(current_selection,group_obj[41]); if(pocket>0) { if((model<2)||(model==3)) { select(current_selection,group_obj[1]); if(pocket==1) { select(current_selection,group_obj[2]); select(current_selection,group_obj[3]); } if(pocket==3) { select(current_selection,group_obj[2]); } if(pocket==4) { select(current_selection,group_obj[2]); } } } group(current_selection); deselect(current_selection); } else { mark(46); current_selection=newselection("OBJECT"); select(current_selection,group_obj[46]); // select(current_selection,group_obj[12]); select(current_selection,group_obj[35]); select(current_selection,group_obj[36]); select(current_selection,group_obj[37]); select(current_selection,group_obj[38]); select(current_selection,group_obj[39]); select(current_selection,group_obj[40]); select(current_selection,group_obj[41]); if(pocket>0) { if((model<2)||(model==3)) { select(current_selection,group_obj[1]); if(pocket==1) { select(current_selection,group_obj[2]); select(current_selection,group_obj[3]); } if(pocket==3) { select(current_selection,group_obj[2]); } if(pocket==4) { select(current_selection,group_obj[2]); } } } group(current_selection); deselect(current_selection); } } else { current_object=newobject("poly"); current_point=addpoint((x[6]+siirtox)/2.54, (y[6]+siirtoy)/2.54, "line"); current_point=addpoint((x[7]+siirtox)/2.54, (y[7]+siirtoy)/2.54, "xarc_start"); current_point=addpoint((x[4]+siirtox)/2.54, (y[4]+siirtoy)/2.54, "xarc_corner"); current_point=addpoint((x[8]+siirtox)/2.54, (y[8]+siirtoy)/2.54, "xarc_start"); current_point=addpoint((x[27]+siirtox)/2.54, (y[27]+siirtoy)/2.54, "xarc_corner"); current_point=addpoint((x[52]+siirtox)/2.54, (y[52]+siirtoy)/2.54, "line"); notch_type(current_point,"NOTCH",1); current_point=addpoint((x[50]+siirtox)/2.54, (y[50]+siirtoy)/2.54, "line"); current_point=addpoint((x[51]+siirtox)/2.54, (y[51]+siirtoy)/2.54, "line"); current_point=addpoint((x[1]+siirtox)/2.54, (y[1]+siirtoy)/2.54, "line"); notch_type(current_point,"NOTCH",1); current_point=addpoint((x[0]+siirtox)/2.54, (y[0]+siirtoy)/2.54, "line"); group_obj[47]=current_object; if(sv>0) { offset_mark(47); // select(current_selection,group_obj[12]); select(current_selection,group_obj[35]); select(current_selection,group_obj[36]); select(current_selection,group_obj[37]); select(current_selection,group_obj[38]); select(current_selection,group_obj[39]); select(current_selection,group_obj[40]); select(current_selection,group_obj[41]); if(pocket>0) { if((model<2)||(model==3)) { select(current_selection,group_obj[1]); if(pocket==1) { select(current_selection,group_obj[2]); select(current_selection,group_obj[3]); } if(pocket==3) { select(current_selection,group_obj[2]); } if(pocket==4) { select(current_selection,group_obj[2]); } } } group(current_selection); deselect(current_selection); } else { mark(47); current_selection=newselection("OBJECT"); select(current_selection,group_obj[47]); // select(current_selection,group_obj[12]); select(current_selection,group_obj[35]); select(current_selection,group_obj[36]); select(current_selection,group_obj[37]); select(current_selection,group_obj[38]); select(current_selection,group_obj[39]); select(current_selection,group_obj[40]); select(current_selection,group_obj[41]); if(pocket>0) { if((model<2)||(model==3)) { select(current_selection,group_obj[1]); if(pocket==1) { select(current_selection,group_obj[2]); select(current_selection,group_obj[3]); } if(pocket==3) { select(current_selection,group_obj[2]); } if(pocket==4) { select(current_selection,group_obj[2]); } } } group(current_selection); deselect(current_selection); } siirtoy=-6; current_object=newobject("poly"); current_point=addpoint((x[52]+siirtox)/2.54, (y[52]+siirtoy)/2.54, "line"); current_point=addpoint((x[15]+siirtox)/2.54, (y[15]+siirtoy)/2.54, "line"); notch_type(current_point,"NOTCH",1); current_point=addpoint((x[13]+siirtox)/2.54, (y[13]-5+siirtoy)/2.54, "line"); current_point=addpoint((x[11]+siirtox)/2.54, (y[11]-5+siirtoy)/2.54, "line"); current_point=addpoint((x[12]+siirtox)/2.54, (y[12]-5+siirtoy)/2.54, "line"); current_point=addpoint((x[14]+siirtox)/2.54, (y[14]+siirtoy)/2.54, "line"); notch_type(current_point,"NOTCH",1); current_point=addpoint((x[51]+siirtox)/2.54, (y[51]+siirtoy)/2.54, "line"); notch_type(current_point,"NOTCH",1); current_point=addpoint((x[50]+siirtox)/2.54, (y[50]+siirtoy)/2.54, "line"); notch_type(current_point,"NOTCH",1); group_obj[48]=current_object; current_object=newobject("poly"); current_point=addpoint((x[50]+siirtox)/2.54, (y[50]+siirtoy)/2.54, "line"); current_point=addpoint((x[11]+siirtox)/2.54, (y[11]+siirtoy)/2.54, "open"); group_obj[49]=current_object; if (language == 0) { current_object=newobject("text","Leg bottom piece Front Cut 2, Grainline",-1.570796,0.2,0.2,"SIMP.CHR"); } addpoint((x[50]+.2+siirtox)/2.54, (y[50]-1+siirtoy)/2.54, "line"); group_obj[50]=current_object; if(sv>0) { offset_mark(48); select(current_selection,group_obj[49]); select(current_selection,group_obj[50]); group(current_selection); deselect(current_selection); } else { mark(48); current_selection=newselection("OBJECT"); select(current_selection,group_obj[48]); select(current_selection,group_obj[49]); select(current_selection,group_obj[50]); group(current_selection); deselect(current_selection); } current_object=newobject("poly"); current_point=addpoint((x[55]+siirtox)/2.54, (y[55]+siirtoy)/2.54, "line"); current_point=addpoint((x[56]+siirtox)/2.54, (y[56]+siirtoy)/2.54, "line"); current_point=addpoint((x[57]+siirtox)/2.54, (y[57]+siirtoy)/2.54, "line"); current_point=addpoint((x[58]+siirtox)/2.54, (y[58]+siirtoy)/2.54, "line"); group_obj[51]=current_object; if (language == 0) { current_object=newobject("text","Zipper cover Cut 2",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[57]+.2+siirtox)/2.54, (y[57]+1+siirtoy)/2.54, "line"); group_obj[52]=current_object; current_object=newobj_dot((x[55]+siirtox)/2.54, (y[55]-5+siirtoy)/2.54); addpoint((x[56]+siirtox)/2.54, (y[56]-5+siirtoy)/2.54, "line"); group_obj[53]=current_object; if (language == 0) { current_object=newobject("text","Fold, Zipper start at leg inseam",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[56]+.2+siirtox)/2.54, (y[56]-5+.2+siirtoy)/2.54, "line"); group_obj[54]=current_object; if(sv>0) { offset_mark(51); select(current_selection,group_obj[52]); select(current_selection,group_obj[53]); select(current_selection,group_obj[54]); group(current_selection); deselect(current_selection); } else { mark(51); current_selection=newselection("OBJECT"); select(current_selection,group_obj[51]); select(current_selection,group_obj[52]); select(current_selection,group_obj[53]); select(current_selection,group_obj[54]); group(current_selection); deselect(current_selection); } } siirtox=aly/2; siirtoy=0; if (language == 0) { current_object=newobject("text","Center Back",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[17]+siirtox)/2.54, (y[17]-1+siirtoy)/2.54, "LINE"); group_obj[55]=current_object; current_object=newobject("poly"); addpoint((x[9]+siirtox)/2.54, (y[9]+siirtoy)/2.54, "LINE"); if(model==1) { addpoint((x[11]+siirtox)/2.54, (y[11]+siirtoy)/2.54, "open"); } else { addpoint((x[50]+siirtox)/2.54, (y[50]+siirtoy)/2.54, "open"); } group_obj[56]=current_object; if(model==1) { if (language == 0) { current_object=newobject("text","Two-piece trousers Back Cut 2, Grainline",-1.570796,0.2,0.2,"SIMP.CHR"); } } else { if (language == 0) { current_object=newobject("text","Leg top piece Back Cut 2, Grainline",-1.570796,0.2,0.2,"SIMP.CHR"); } } addpoint((x[9]+.2+siirtox)/2.54, (y[9]+siirtoy)/2.54, "line"); group_obj[57]=current_object; if(model==3) { siirtoy=-6; } current_object=newobj_dot((x[22]+siirtox)/2.54, (y[22]+siirtoy)/2.54); addpoint((x[24]+siirtox)/2.54, (y[24]+siirtoy)/2.54, "open"); group_obj[58]=current_object; if (language == 0) { current_object=newobject("text","Cuff Hem allowance",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[24]+1+siirtox)/2.54, (y[24]-.8+siirtoy)/2.54, "line"); group_obj[59]=current_object; siirtox=aly/2; siirtoy=0; if(model==1) { current_object=newobject("poly"); current_point=addpoint((x[17]+siirtox)/2.54, (y[17]+siirtoy)/2.54, "line"); current_point=addpoint((x[19]+siirtox)/2.54, (y[19]+siirtoy)/2.54, "xarc_start"); current_point=addpoint((x[8]+3+siirtox)/2.54, (y[8]+siirtoy)/2.54, "xarc_corner"); current_point=addpoint((x[21]+siirtox)/2.54, (y[21]+siirtoy)/2.54, "xarc_start"); current_point=addpoint((x[26]+siirtox)/2.54, (y[26]+siirtoy)/2.54, "xarc_corner"); current_point=addpoint((x[25]+siirtox)/2.54, (y[25]+siirtoy)/2.54, "line"); notch_type(current_point,"NOTCH",0); current_point=addpoint((x[24]+siirtox)/2.54, (y[24]-5+siirtoy)/2.54, "line"); current_point=addpoint((x[11]+siirtox)/2.54, (y[11]-5+siirtoy)/2.54, "line"); current_point=addpoint((x[22]+siirtox)/2.54, (y[22]-5+siirtoy)/2.54, "line"); current_point=addpoint((x[23]+siirtox)/2.54, (y[23]+siirtoy)/2.54, "line"); notch_type(current_point,"NOTCH",0); current_point=addpoint((x[18]+siirtox)/2.54, (y[18]+siirtoy)/2.54, "line"); group_obj[60]=current_object; if(sv>0) { offset_mark(60); select(current_selection,group_obj[55]); select(current_selection,group_obj[56]); select(current_selection,group_obj[57]); select(current_selection,group_obj[58]); select(current_selection,group_obj[59]); group(current_selection); deselect(current_selection); } else { mark(60); current_selection=newselection("OBJECT"); select(current_selection,group_obj[60]); select(current_selection,group_obj[55]); select(current_selection,group_obj[56]); select(current_selection,group_obj[57]); select(current_selection,group_obj[58]); select(current_selection,group_obj[59]); group(current_selection); deselect(current_selection); } } else { current_object=newobject("poly"); current_point=addpoint((x[17]+siirtox)/2.54, (y[17]+siirtoy)/2.54, "line"); current_point=addpoint((x[19]+siirtox)/2.54, (y[19]+siirtoy)/2.54, "xarc_start"); current_point=addpoint((x[8]+3+siirtox)/2.54, (y[8]+siirtoy)/2.54, "xarc_corner"); current_point=addpoint((x[21]+siirtox)/2.54, (y[21]+siirtoy)/2.54, "xarc_start"); current_point=addpoint((x[26]+siirtox)/2.54, (y[26]+siirtoy)/2.54, "xarc_corner"); current_point=addpoint((x[54]+siirtox)/2.54, (y[54]+siirtoy)/2.54, "line"); notch_type(current_point,"NOTCH",1); current_point=addpoint((x[50]+siirtox)/2.54, (y[50]+siirtoy)/2.54, "line"); current_point=addpoint((x[53]+siirtox)/2.54, (y[53]+siirtoy)/2.54, "line"); current_point=addpoint((x[18]+siirtox)/2.54, (y[18]+siirtoy)/2.54, "line"); group_obj[61]=current_object; if(sv>0) { offset_mark(61); select(current_selection,group_obj[55]); select(current_selection,group_obj[56]); select(current_selection,group_obj[57]); select(current_selection,group_obj[58]); select(current_selection,group_obj[59]); group(current_selection); deselect(current_selection); } else { mark(61); current_selection=newselection("OBJECT"); select(current_selection,group_obj[61]); select(current_selection,group_obj[55]); select(current_selection,group_obj[56]); select(current_selection,group_obj[57]); select(current_selection,group_obj[58]); select(current_selection,group_obj[59]); group(current_selection); deselect(current_selection); } siirtoy=-6; current_object=newobject("poly"); current_point=addpoint((x[54]+siirtox)/2.54, (y[54]+siirtoy)/2.54, "line"); current_point=addpoint((x[25]+siirtox)/2.54, (y[25]+siirtoy)/2.54, "line"); notch_type(current_point,"NOTCH",1); current_point=addpoint((x[24]+siirtox)/2.54, (y[24]-5+siirtoy)/2.54, "line"); current_point=addpoint((x[11]+siirtox)/2.54, (y[11]-5+siirtoy)/2.54, "line"); current_point=addpoint((x[22]+siirtox)/2.54, (y[22]-5+siirtoy)/2.54, "line"); current_point=addpoint((x[23]+siirtox)/2.54, (y[23]+siirtoy)/2.54, "line"); notch_type(current_point,"NOTCH",1); current_point=addpoint((x[53]+siirtox)/2.54, (y[53]+siirtoy)/2.54, "line"); group_obj[62]=current_object; current_object=newobject("poly"); current_point=addpoint((x[50]+siirtox)/2.54, (y[50]+siirtoy)/2.54, "line"); current_point=addpoint((x[11]+siirtox)/2.54, (y[11]+siirtoy)/2.54, "open"); group_obj[63]=current_object; if (language == 0) { current_object=newobject("text","Leg bottom piece Back Cut 2, Grainline",-1.570796,0.2,0.2,"SIMP.CHR"); } addpoint((x[50]+.2+siirtox)/2.54, (y[50]-1+siirtoy)/2.54, "line"); group_obj[64]=current_object; siirtoy=0; if(sv>0) { offset_mark(62); select(current_selection,group_obj[63]); select(current_selection,group_obj[64]); group(current_selection); deselect(current_selection); } else { mark(62); current_selection=newselection("OBJECT"); select(current_selection,group_obj[62]); select(current_selection,group_obj[63]); select(current_selection,group_obj[64]); group(current_selection); deselect(current_selection); } } } current_selection=newselection("OBJECT"); for (loop = 0; loop < 20; loop = loop + 1) { if (marker_array[loop] != 0) { select(current_selection, marker_array[loop]); } } // check_overlap(current_selection); if (is_function("origin_arrange")==1) { origin_arrange(current_selection); } deselect(current_selection); if (is_function("set_marker")==1) { for (loop = 0; loop < 20; loop = loop + 1) { if (marker_array[loop] != 0) { set_marker(marker_array[loop], 0); } } } run_command("zoomall"); } Forward() { index = index + 1; if (index == 4) { if((model<2)||(model>2)) { if(model>0) { ; } else { index = index + 1; } } else { index=index+1; } } if (index == 5) { if((model<2)||(model>2)) { if(model>0) index = index + 1; } else { index=index+1; } } if (index == 7) { done = 1; } } Backward() { if (index == 5) { if((model<2)||(model>2)) { if(model>0) index = index - 1; } else { index=index-1; } } if (index == 4) { if((model<2)||(model>2)) { if(model>0) { ; } else { index = index - 1; } } else { index=index-1; } } index = index - 1; } dialog_sex() { if (language == 0) { start_pict_dialog("CHOOSE GENDER"); add_pict_item("Male"," "); add_pict_item("Female"," "); if (run_pict("Back","Next")) { sex=get_pict_result(); Forward(); } else { sex=0; Backward(); } } } dialog_model() { if (language == 0) { start_pict_dialog("PANTS STYLE"); add_pict_item("One piece","OP_1pc.jpg"); add_pict_item("Two pieces","OP_2pc.jpg"); add_pict_item("Leggings","OP_leggings.jpg"); add_pict_item("Detachable legs","OP_detach.jpg"); run_pict("Next"); model=get_pict_result(); Forward(); } } dialog_size() { if (language == 0) { start_pict_dialog("STANDARD SIZES"); add_pict_item("XS"," "); add_pict_item("S"," "); add_pict_item("M"," "); add_pict_item("L"," "); add_pict_item("XL"," "); add_pict_item("2XL"," "); add_pict_item("3XL"," "); add_pict_item("4XL"," "); if (run_pict("Back","Next")) { size=get_pict_result(); Forward(); } else { size=0; Backward(); } } } dialog_ease() { if (language == 0) { start_pict_dialog("HIP EASE"); add_pict_item("Normal","OP_ease_norm.jpg"); add_pict_item("Minimum","OP_ease_min.jpg"); add_pict_item("Maximum","OP_ease_max.jpg"); if (run_pict("Back","Next")) { ease=get_pict_result(); Forward(); } else { ease=0; Backward(); } } } dialog_pockets1() { if (language == 0) { start_pict_dialog("CHOICE OF POCKETS"); add_pict_item("No pockets","OP_pkt_none.jpg"); add_pict_item("Double-welt pockets","OP_pkt_btn.jpg"); add_pict_item("In-seam pockets","OP_pkt_sideseam.jpg"); add_pict_item("Straight hip pockets","OP_pkt_straight.jpg"); add_pict_item("Round hip pockets","OP_pkt_round.jpg"); if (run_pict("Back","Next")) { pocket=get_pict_result(); Forward(); } else { pocket=0; Backward(); } } } dialog_pockets2() { if (language == 0) { start_pict_dialog("CHOICE OF POCKETS"); add_pict_item("No pockets","OP_pkt_none.jpg"); add_pict_item("Double-welt pockets","OP_pkt_btn.jpg"); if (run_pict("Back","Next")) { pocket=get_pict_result(); Forward(); } else { pocket=0; Backward(); } } } dialog_leg_width() { if (language == 0) { start_pict_dialog("LEG WIDTH"); add_pict_item("Normal","OP_width_norm.jpg"); add_pict_item("Wide","OP_width_wide.jpg"); if (run_pict("Back","Next")) { leg=get_pict_result(); Forward(); } else { leg=0; Backward(); } } } coord(double orig, double dest, double xxx, double yyy) { x[dest]=x[orig]+xxx; y[dest]=y[orig]+yyy; } center(double one, double two, double result) { x[result]=(x[one]+x[two])/2; y[result]=(y[one]+y[two])/2; } dist(double p1, double p2) { return distance(x[p1],y[p1],x[p2],y[p2]); } line_intersect(double start1, double end1, double start2, double end2, double dest) { double tempx; double tempy; intersect(x[start1],y[start1],x[end1],y[end1],x[start2],y[start2],x[end2],y[end2],0); x[dest]=getresultx(); y[dest]=getresulty(); } cont(double cstart, double cend, double cdest, double cdistance) { double ang; ang=angle(x[cstart], y[cstart], x[cend], y[cend]); polar(x[cend], y[cend], ang, cdistance); x[cdest]=getresultx(); y[cdest]=getresulty(); } right_ang(double start, double end, double to_point, double dest) { double m,b; if (x[start]==x[end]) { x[dest]=x[end]; y[dest]=y[to_point]; } else { if (y[start]==y[end]) { x[dest]=x[to_point]; y[dest]=y[end]; } else { m=(y[start]-y[end])/(x[start]-x[end]); m=-1/m; b=y[to_point]-m*x[to_point]; intersect(x[start],y[start],x[end],y[end],x[to_point],y[to_point],0,b,0); x[dest]=getresultx(); y[dest]=getresulty(); } } } mark(double pass_index) { group_obj[pass_index]=marker_piece(group_obj[pass_index],1); marker_array[marker_count] = group_obj[pass_index]; marker_count = marker_count + 1; } offset_mark(double pass_index) { point pnt, test; double save_x, save_y; current_selection=newselection("OBJECT"); select(current_selection,group_obj[pass_index]); sel_push(current_selection); var_push(sv); run_command("OFFSET"); deselect(current_selection); current_object=last_obj(); marker_array[marker_count] = marker_piece(current_object,1); current_selection=newselection("OBJECT"); select(current_selection, marker_array[marker_count]); select(current_selection, group_obj[pass_index]); marker_count = marker_count + 1; } shift(double orig, double xxx, double yyy) { x[orig]=x[orig]+xxx; y[orig]=y[orig]+yyy; } rect (double x1, double y1, double x2, double y2) { newobject("poly"); addpoint( x1/2.54, y1/2.54, "LINE"); addpoint( x2/2.54, y1/2.54, "LINE"); addpoint( x2/2.54, y2/2.54, "LINE"); addpoint( x1/2.54, y2/2.54, "LINE"); } dot (double x, double y) { newobject("poly"); addpoint( x/2.54, y/2.54, "LINE"); } rotate(double rpoint,double rcenter, double rangle) { double vdistance, vang; vdistance=dist(rpoint, rcenter); vang=angle(x[rcenter],y[rcenter],x[rpoint],y[rpoint]); polar(x[rcenter],y[rcenter],vang+rangle,vdistance); x[rpoint]=getresultx(); y[rpoint]=getresulty(); } newobj_dot(double x, double y) { object temp; line("CENTER_LINE"); temp = newobject("poly"); addpoint(x, y, "line"); line("SOLID_LINE"); return temp; } linecirc(double PA,double PB,double PC,double dradius,double which, double PD) { double mslope, dist0, dist1, dist2, xtemp; double tx, ty; xtemp = (x[PB]-x[PC])*(x[PB]-x[PC]); if (xtemp > 0) { xtemp = (y[PB]-y[PC])*(y[PB]-y[PC]); if ( xtemp > 0) { mslope = (y[PC] - y[PB])/(x[PC] - x[PB]); tx = x[PA] + 1; ty = y[PA] - 1/mslope; intersect(x[PA], y[PA], tx, ty, x[PB], y[PB], x[PC], y[PC], 0); tx = getresultx(); ty = getresulty(); dist1 = distance(x[PA], y[PA], tx, ty); dist2 = interceptline(0, dist1, dradius); dist0 = sqrt(1+mslope*mslope); xtemp = dist2/dist0; if (which) { x[PD] = tx+xtemp; y[PD] = ty+ xtemp*mslope; } else { x[PD] = tx-xtemp; y[PD] = ty- xtemp*mslope; } } else { x[PD] = x[PB]; if (which) { y[PD] = y[PA] + interceptline(x[PA], x[PB], dradius); } else { y[PD] = y[PA] - interceptline(x[PA], x[PB], dradius); } } } else { y[PD] = y[PB]; if (which) { x[PD] = x[PA] + interceptline(y[PA], y[PB], dradius); } else { x[PD] = x[PA] - interceptline(y[PA], y[PB], dradius); } }