// Copyright (C) 2001 Leena L�hteenm�ki, Finland // Copyright (C) 2012 PatternMaker Software // 2013/06/02 object marker_array[20]; double marker_count, loop; double result; double x[200], y[200]; object current_object; point current_point; selection current_selection; object group_obj[200]; double ang,ang2,vang,vdistance,rangle; double sv; double siirtox, siirtoy; double language; double ry, ktk, vk, ky, sl, pit, hp, ray, aly, vy, sp, length, crotch; double metric; double ptst, ptse, oket, ptl; double ease, f_ry[3],f_ktk[3],f_sl[3],f_sp[3],f_ptl[3],f_hp[3],f_ray[3], f_aly[3], f_ky[3], f_pit[3]; double sleeve_model; double size; double t_ry[8]; double t_aly[8]; double t_vy[8]; double t_vk[8]; double t_vk[8]; double t_sl[8]; double t_sp[8]; double t_ky[8]; double t_hp[8]; double t_pit[8]; double t_length[8]; double t_ray[8]; double t_crotch[8]; double t_hupunkorkeus[8], hupunkorkeus; double kaula_etu, kaula_taka; double kauluskorkeus, kauluspituus; double hood, vk_pl_ptl; double sex, model; double neck_opening, collar, tl, nv; double suoj_lev; double siirtox_hiha, siirtoy_hiha; double index, done, version; main() { 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."); } sv=1; init_xarc_array(); index = 0; done = 0; //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_sleeve_model(); } if (index == 5) { dialog_neck_opening(); } if (index == 6) { dialog_collar(); } if (index == 7) { dialog_hood(); } } //End Options t_ry[0]=84; t_ry[1]=92; t_ry[2]=100; t_ry[3]=108; t_ry[4]=116; t_ry[5]=124; t_ry[6]=132; t_ry[7]=140; 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_vy[0]=67; t_vy[1]=75; t_vy[2]=83; t_vy[3]=91; t_vy[4]=99; t_vy[5]=107; t_vy[6]=115; t_vy[7]=123; t_vk[0]=49.4; t_vk[1]=50.6; t_vk[2]=51.8; t_vk[3]=53; t_vk[4]=54.2; t_vk[5]=55.4; t_vk[6]=56.6; t_vk[7]=57.8; t_sl[0]=36; t_sl[1]=38; t_sl[2]=40; t_sl[3]=42; t_sl[4]=44; t_sl[5]=46; t_sl[6]=48; t_sl[7]=50; t_sp[0]=43.2; t_sp[1]=44; t_sp[2]=44.8; t_sp[3]=45.6; t_sp[4]=46.4; t_sp[5]=47.2; t_sp[6]=48; t_sp[7]=48.8; t_ky[0]=37; t_ky[1]=39; t_ky[2]=41; t_ky[3]=43; t_ky[4]=45; t_ky[5]=47; t_ky[6]=49; t_ky[7]=54; t_hp[0]=63; t_hp[1]=64; t_hp[2]=65; t_hp[3]=66; t_hp[4]=67; t_hp[5]=68; t_hp[6]=69; t_hp[7]=70; 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; t_ray[0]=21.4; t_ray[1]=23; t_ray[2]=24.6; t_ray[3]=26.2; t_ray[4]=27.8; t_ray[5]=29.4; t_ray[6]=31; t_ray[7]=32.6; t_hupunkorkeus[0]=35; t_hupunkorkeus[1]=36; t_hupunkorkeus[2]=37; t_hupunkorkeus[3]=38; t_hupunkorkeus[4]=39; t_hupunkorkeus[5]=40; t_hupunkorkeus[6]=40; t_hupunkorkeus[7]=40; ry=t_ry[size]; vk=t_vk[size]; aly=t_aly[size]; vy=t_vy[size]; vk=t_vk[size]; sl=t_sl[size]; sp=t_sp[size]; ky=t_ky[size]; hp=t_hp[size]; length=t_length[size]; crotch=t_crotch[size]; ray=t_ray[size]; hupunkorkeus=t_hupunkorkeus[size]; tl=16; nv=2; suoj_lev=8; if(sex==1) { sp=sp-5; ky=ky-3; hp=hp-6; } if(model<3) { pit=sp/2; kauluskorkeus=6; if((model==0)||(model==2)) { ptl=ptl+1; ptse=ptse+1; } } if((model==3)||(model==4)) { pit=tl+6; kauluskorkeus=8; } if(model==5) { pit=sp/2+10; kauluskorkeus=8; } if (is_function("unit_mode")==1) { metric = unit_mode(); if (!metric) { ry=ry/2.54; ktk=ktk/2.54; vk=vk/2.54; ky=ky/2.54; sl=sl/2.54; sp=sp/2.54; pit=pit/2.54; hp=hp/2.54; ray=ray/2.54; sv=sv/2.54; } } else { if (language == 0) { metric=2*pop_up("Units","Inches","Centimeters"); } if (metric<1) { ry=ry/2.54; ktk=ktk/2.54; vk=vk/2.54; ky=ky/2.54; sl=sl/2.54; sp=sp/2.54; pit=pit/2.54; hp=hp/2.54; ray=ray/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(sex==1) { if (is_function("start_picture_input")) { if (language == 0) { start_picture_input("WOMENS' JACKET/SHIRT"); } if (language == 0) { add_picture_input("Bust circumference", ry, "w_meas_bustcirc"); } if (language == 0) { add_picture_input("Waist height",vk, "w_meas_waistht"); } if (language == 0) { add_picture_input("Neck circumference",ky, "w_meas_neckcirc"); } if (language == 0) { add_picture_input("Back width",sl, "w_meas_bkwidth"); } if (language == 0) { add_picture_input("Back length",sp, "w_meas_bklength"); } run_picture_input(); } else { if (language == 0) { dialog_box( "WOMENS' JACKET/SHIRT", "Bust circumference",ry, "Waist height",vk, "Neck circumference",ky, "Back width",sl, "Back length", sp); } } } else { if (is_function("start_picture_input")) { if (language == 0) { start_picture_input("MENS' JACKET/SHIRT"); } if (language == 0) { add_picture_input("Chest circumference", ry, "m_chest circumference"); } if (language == 0) { add_picture_input("Neck circumference",ky, "m_neck circumference"); } if (language == 0) { add_picture_input("Back width",sl, "m_back width"); } if (language == 0) { add_picture_input("Back length",sp, "m_back length"); } run_picture_input(); } else { if (language == 0) { dialog_box( "MENS' JACKET/SHIRT", "Chest circumference",ry, "Neck circumference",ky, "Back width",sl, "Back length", sp); } } } } if(sex==1) { if (is_function("start_picture_input")) { if (language == 0) { start_picture_input("CUSTOM MEASUREMENTS"); } if (language == 0) { add_picture_input("Length from waist",pit, "w_meas_waistht"); } if (language == 0) { add_picture_input("Overarm length",hp, "w_meas_overarm"); } if (language == 0) { add_picture_input("Hip pocket width",tl, ""); } if (language == 0) { add_picture_input("Button ext. width",nv, ""); } if (language == 0) { add_picture_input("Seam Allowance", sv, "meas_seamallow"); } run_picture_input(); } else { if (language == 0) { dialog_box("CUSTOM MEASUREMENTS", "Length from waist",pit, "Overarm length",hp, "Hip pocket width",tl, "Button ext. width",nv, "Seam Allowance",sv); } } } else { if (is_function("start_picture_input")) { if (language == 0) { start_picture_input("CUSTOM MEASUREMENTS"); } if (language == 0) { add_picture_input("Length from waist",pit, ""); } if (language == 0) { add_picture_input("Overarm length",hp, "m_arm length"); } if (language == 0) { add_picture_input("Hip pocket width",tl, ""); } if (language == 0) { add_picture_input("Button ext. width",nv, ""); } if (language == 0) { add_picture_input("Seam Allowance", sv, "meas_seamallow"); } run_picture_input(); } else { if (language == 0) { dialog_box("CUSTOM MEASUREMENTS", "Length from waist",pit, "Overarm length",hp, "Hip pocket width",tl, "Button ext. width",nv, "Seam Allowance",sv); } } } if (is_function("unit_mode")==1) { metric = unit_mode(); if (!metric) { ry=ry*2.54; ktk=ktk*2.54; vk=vk*2.54; ky=ky*2.54; sl=sl*2.54; sp=sp*2.54; pit=pit*2.54; hp=hp*2.54; ray=ray*2.54; } } else { if (metric<1) { ry=ry*2.54; ktk=ktk*2.54; vk=vk*2.54; ky=ky*2.54; sl=sl*2.54; sp=sp*2.54; pit=pit*2.54; hp=hp*2.54; ray=ray*2.54; } } if(metric==2) { sv=sv/2.54; } if (ry < 92) { ktk=21.4; } else { if (ry < 100) { ktk=23; } else { if (ry < 108) { ktk=24.6; } else { if (ry < 116) { ktk=26.2; } else { if (ry < 124) { ktk=27.8; } else { if (ry < 132) { ktk=29.4; } else { if (ry < 140) { ktk=31; } else { ktk=32.6; } } } } } } } f_ky[0]=ky+3; f_ry[0]=ry+16; f_ktk[0]=ktk+2; f_sl[0]=sl+4; f_sp[0]=sp; f_ptl[0]=ptl-0.6; f_ray[0]=ray+10; f_ky[1]=ky+4; f_ry[1]=ry+18; f_ktk[1]=ktk+3; f_sl[1]=sl+5; f_sp[1]=sp+1; f_ptl[1]=ptl+0.2; f_ray[1]=ray+12; f_ky[2]=ky+6; f_ry[2]=ry+22; f_ktk[2]=ktk+4; f_sl[2]=sl+6; f_sp[2]=sp+1; f_ptl[2]=ptl+0.7; f_ray[2]=ray+14; ky=f_ky[ease]; ry=f_ry[ease]; ktk=f_ktk[ease]; sl=f_sl[ease]; sp=f_sp[ease]; ptl=f_ptl[ease]; ray=f_ray[ease]; ptst=2; ptse=ky/5-1.5; oket=ktk/8-0.3; ptl=ky/5; vk_pl_ptl=vk-ptl; if(neck_opening==1) { ptl=ptl+2; ptst=ptst+1; ptse=ptse+4; } x[0]=0; y[0]=0; coord(0,1,0,-ptst); coord(1,2,0,-ktk); coord(1,3,0,-sp); coord(3,4,0,-pit); coord(2,5,ry/4,0); coord(1,6,ry/4,0); coord(3,7,ry/4,0); coord(4,8,ry/4,0); coord(1,9,ptl,0); coord(9,10,0,2); coord(1,11,0,-ktk/2); coord(11,12,sl/2,0); coord(2,13,sl/2,0); coord(1,14,sl/2,0); coord(1,15,0,-oket); coord(15,16,sl/2,0); coord(16,17,1.5,0); coord(1,18,0,-ptse); coord(12,19,0,-ktk/4); coord(16,20,0,-ktk/4); if(sex==1) { y[3]=y[10]-vk_pl_ptl; coord(3,4,0,-pit); } coord(0,21,0,-dist(1,2)/3); coord(0,22,0,-hp); coord(21,23,-dist(5,17),0); coord(22,24,-ray/2,0); coord(23,25,dist(23,0)/4,0); coord(0,28,-dist(23,0)/3,0); center(25,28,26); double hihanpyorion_tarkistus; double kadentie; hihanpyorion_tarkistus=arclength(0,28,26)+arclength(26,25,23); kadentie=arclength(5,13,12)+arclength(12,20,17); x[23]=x[23]+(hihanpyorion_tarkistus-kadentie); cont(17,10,100,-5); coord(18,101,0,-5); x[102]=x[100]; y[102]=y[101]; coord(1,127,0,-5); cont(17,10,129,-5); x[128]=x[129]; y[128]=y[127]; coord(18,103,0,-ktk/2); coord(103,104,7,0); center(104,100,105); center(100,105,106); x[106]=x[100]; center(105,104,107); x[107]=x[104]; x[108]=x[104]; y[108]=y[4]; coord(18,109,0,0); coord(4,110,0,0); coord(109,111,-nv,0); coord(110,112,-nv,0); coord(111,113,-nv,0); coord(112,114,-nv,0); x[115]=x[115]-2*nv-(x[10]-x[1]); y[115]=y[10]; x[116]=x[116]-2*nv-(x[100]-x[1]); y[116]=y[100]; x[117]=x[115]; y[117]=y[18]; x[119]=x[119]-2*nv-(x[106]-x[1]); y[119]=y[106]; x[120]=x[120]-2*nv-(x[105]-x[1]); y[120]=y[105]; x[121]=x[121]-2*nv-(x[107]-x[1]); y[121]=y[107]; x[122]=x[122]-2*nv-(x[104]-x[1]); y[122]=y[104]; x[123]=x[113]; y[123]=y[122]; x[124]=x[122]; y[124]=y[114]; coord(123,125,nv,0); coord(125,126,nv,0); coord(10,34,0,-4); cont(13,34,34,1); cont(34,13,30,-5); cont(30,34,36,20); cont(1,9,35,50); line_intersect(30,36,1,35,38); cont(34,38,29,1); center(1,38,37); x[39]=x[10]; y[39]=y[18]; if(sleeve_model==1) { cont(13,39,39,1); } kaula_etu=arclength(10,39,18); x[130]=x[12]; y[130]=y[103]; coord(13,131,1,0); coord(5,132,0,-5); x[133]=x[1]; y[133]=y[132]; x[180]=x[18]; y[180]=y[130]; line_intersect(180,130,30,34,181); y[181]=y[180]; if(model==5) { coord(7,134,-5,-2); } else { coord(7,134,-5,+tl/2); } coord(134,135,-1.5,0); coord(134,136,0,-tl); coord(136,137,-1.5,0); coord(18,138,suoj_lev/2,0); x[139]=x[138]; y[139]=y[4]; coord(135,140,-20,0); coord(137,141,-20,0); center(140,135,142); coord(141,143,dist(137,141)/4,-5); cont(141,143,144,dist(141,143)); center(141,142,145); rotate(134,136,6/tl); rotate(135,136,6/tl); rotate(137,136,6/tl); rotate(140,136,6/tl); rotate(141,136,6/tl); rotate(142,136,6/tl); rotate(143,136,6/tl); rotate(144,136,6/tl); rotate(145,136,6/tl); coord(181,146,0,0); x[147]=x[1]; y[147]=y[130]; coord(147,148,3,0); coord(148,149,.5,0); x[150]=x[147]; y[150]=y[147]-19; coord(150,151,3,0); coord(151,152,.5,0); x[153]=x[146]; y[153]=y[150]; coord(146,154,-dist(146,149)/2+3.5,-1); coord(154,155,-7,0); coord(155,156,0,-18); coord(156,157,7,0); coord(154,158,2,0); coord(157,159,2,0); coord(156,160,-2,0); coord(155,161,-2,0); coord(156,162,0,-2); coord(157,163,0,-2); coord(154,164,1,1); coord(164,165,-9,0); coord(164,166,0,-4); coord(165,167,0,-4); coord(167,168,0,2); coord(167,169,2,0); coord(166,170,-2,0); coord(166,171,0,2); x[172]=x[0]; y[172]=y[23]; coord(172,173,-9,0); coord(173,174,0,-18); coord(174,175,9,0); coord(172,176,0,-2); coord(176,177,0,-1.5); coord(176,178,-7,0); coord(178,179,0,-1.5); if(model==5) { current_object=newobject("poly"); addpoint((x[146]+siirtox)/2.54, (y[146]+siirtoy)/2.54, "line"); addpoint((x[149]+siirtox)/2.54, (y[149]+siirtoy)/2.54, "line"); addpoint((x[152]+siirtox)/2.54, (y[152]+siirtoy)/2.54, "line"); addpoint((x[153]+siirtox)/2.54, (y[153]+siirtoy)/2.54, "line"); group_obj[114]=current_object; if (language == 0) { current_object=newobject("text","Zipper",-1.57,0.2,0.2,"SIMP.CHR"); } addpoint((x[148]+siirtox)/2.54, (y[148]-5+siirtoy)/2.54, "LINE"); group_obj[115]=current_object; current_object=newobject("poly"); addpoint((x[148]+siirtox)/2.54, (y[148]+siirtoy)/2.54, "line"); addpoint((x[151]+siirtox)/2.54, (y[151]+siirtoy)/2.54, "line"); addpoint((x[150]+siirtox)/2.54, (y[150]+siirtoy)/2.54, "line"); addpoint((x[147]+siirtox)/2.54, (y[147]+siirtoy)/2.54, "line"); group_obj[116]=current_object; current_object=newobject("poly"); addpoint((x[154]+siirtox)/2.54, (y[154]+siirtoy)/2.54, "line"); addpoint((x[155]+siirtox)/2.54, (y[155]+siirtoy)/2.54, "line"); addpoint((x[156]+siirtox)/2.54, (y[156]+siirtoy)/2.54, "line"); addpoint((x[157]+siirtox)/2.54, (y[157]+siirtoy)/2.54, "line"); group_obj[117]=current_object; current_object=newobject("poly"); addpoint((x[164]+siirtox)/2.54, (y[164]+siirtoy)/2.54, "line"); addpoint((x[171]+siirtox)/2.54, (y[171]+siirtoy)/2.54, "xarc_start"); addpoint((x[166]+siirtox)/2.54, (y[166]+siirtoy)/2.54, "xarc_corner"); addpoint((x[170]+siirtox)/2.54, (y[170]+siirtoy)/2.54, "line"); addpoint((x[169]+siirtox)/2.54, (y[169]+siirtoy)/2.54, "xarc_start"); addpoint((x[167]+siirtox)/2.54, (y[167]+siirtoy)/2.54, "xarc_corner"); addpoint((x[168]+siirtox)/2.54, (y[168]+siirtoy)/2.54, "line"); addpoint((x[165]+siirtox)/2.54, (y[165]+siirtoy)/2.54, "line"); group_obj[118]=current_object; siirtox=-aly/4; current_object=newobject("poly"); addpoint((x[146]+siirtox)/2.54, (y[146]+siirtoy)/2.54, "line"); addpoint((x[149]+siirtox)/2.54, (y[149]+siirtoy)/2.54, "line"); addpoint((x[152]+siirtox)/2.54, (y[152]+siirtoy)/2.54, "line"); addpoint((x[153]+siirtox)/2.54, (y[153]+siirtoy)/2.54, "line"); group_obj[119]=current_object; if (language == 0) { current_object=newobject("text","Chest pocket Cut 2",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[149]+1+siirtox)/2.54, (y[149]-1+siirtoy)/2.54, "LINE"); group_obj[120]=current_object; if(sv>0) { offset_mark(119); select(current_selection,group_obj[120]); group(current_selection); deselect(current_selection); } else { mark(119); current_selection=newselection("OBJECT"); select(current_selection,group_obj[119]); select(current_selection,group_obj[120]); group(current_selection); deselect(current_selection); } siirtox=-aly/4-2; current_object=newobject("poly"); addpoint((x[148]+siirtox)/2.54, (y[148]+siirtoy)/2.54, "line"); addpoint((x[151]+siirtox)/2.54, (y[151]+siirtoy)/2.54, "line"); addpoint((x[150]+siirtox)/2.54, (y[150]+siirtoy)/2.54, "line"); addpoint((x[147]+siirtox)/2.54, (y[147]+siirtoy)/2.54, "line"); group_obj[121]=current_object; if (language == 0) { current_object=newobject("text","Chest pocket CF Cut 2",-1.57,0.2,0.2,"SIMP.CHR"); } addpoint((x[147]+.2+siirtox)/2.54, (y[147]-1+siirtoy)/2.54, "LINE"); group_obj[122]=current_object; if(sv>0) { offset_mark(121); select(current_selection,group_obj[122]); group(current_selection); deselect(current_selection); } else { mark(121); current_selection=newselection("OBJECT"); select(current_selection,group_obj[121]); select(current_selection,group_obj[122]); group(current_selection); deselect(current_selection); } siirtox=-aly/2; current_object=newobject("poly"); addpoint((x[158]+siirtox)/2.54, (y[158]+siirtoy)/2.54, "line"); addpoint((x[159]+siirtox)/2.54, (y[159]+siirtoy)/2.54, "line"); addpoint((x[157]+siirtox)/2.54, (y[157]+siirtoy)/2.54, "line"); addpoint((x[163]+siirtox)/2.54, (y[163]+siirtoy)/2.54, "line"); addpoint((x[162]+siirtox)/2.54, (y[162]+siirtoy)/2.54, "line"); addpoint((x[156]+siirtox)/2.54, (y[156]+siirtoy)/2.54, "line"); addpoint((x[160]+siirtox)/2.54, (y[160]+siirtoy)/2.54, "line"); addpoint((x[161]+siirtox)/2.54, (y[161]+siirtoy)/2.54, "line"); group_obj[123]=current_object; if (language == 0) { current_object=newobject("text","Mobile phone pocket Cut 1",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[155]+1+siirtox)/2.54, (y[155]-1+siirtoy)/2.54, "LINE"); group_obj[124]=current_object; current_object=newobj_dot((x[154]+siirtox)/2.54, (y[154]+siirtoy)/2.54); addpoint((x[157]+siirtox)/2.54, (y[157]+siirtoy)/2.54, "line"); group_obj[125]=current_object; current_object=newobj_dot((x[157]+siirtox)/2.54, (y[157]+siirtoy)/2.54); addpoint((x[156]+siirtox)/2.54, (y[156]+siirtoy)/2.54, "line"); group_obj[126]=current_object; current_object=newobj_dot((x[156]+siirtox)/2.54, (y[156]+siirtoy)/2.54); addpoint((x[155]+siirtox)/2.54, (y[155]+siirtoy)/2.54, "line"); group_obj[127]=current_object; if(sv>0) { offset_mark(123); select(current_selection,group_obj[124]); select(current_selection,group_obj[125]); select(current_selection,group_obj[126]); select(current_selection,group_obj[127]); group(current_selection); deselect(current_selection); } else { mark(123); current_selection=newselection("OBJECT"); select(current_selection,group_obj[123]); select(current_selection,group_obj[124]); select(current_selection,group_obj[125]); select(current_selection,group_obj[126]); select(current_selection,group_obj[127]); group(current_selection); deselect(current_selection); } siirtoy=8; current_object=newobject("poly"); addpoint((x[164]+siirtox)/2.54, (y[164]+siirtoy)/2.54, "line"); addpoint((x[171]+siirtox)/2.54, (y[171]+siirtoy)/2.54, "xarc_start"); addpoint((x[166]+siirtox)/2.54, (y[166]+siirtoy)/2.54, "xarc_corner"); addpoint((x[170]+siirtox)/2.54, (y[170]+siirtoy)/2.54, "line"); addpoint((x[169]+siirtox)/2.54, (y[169]+siirtoy)/2.54, "xarc_start"); addpoint((x[167]+siirtox)/2.54, (y[167]+siirtoy)/2.54, "xarc_corner"); addpoint((x[168]+siirtox)/2.54, (y[168]+siirtoy)/2.54, "line"); addpoint((x[165]+siirtox)/2.54, (y[165]+siirtoy)/2.54, "line"); group_obj[128]=current_object; if (language == 0) { current_object=newobject("text","Mobile phone pocket flap Cut 2",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[165]+.5+siirtox)/2.54, (y[165]-.5+siirtoy)/2.54, "LINE"); group_obj[129]=current_object; if(sv>0) { offset_mark(128); select(current_selection,group_obj[129]); group(current_selection); deselect(current_selection); } else { mark(128); current_selection=newselection("OBJECT"); select(current_selection,group_obj[128]); select(current_selection,group_obj[129]); group(current_selection); deselect(current_selection); } } siirtox=0; siirtoy=0; current_object=newobject("poly"); addpoint((x[3]+siirtox)/2.54, (y[3]+siirtoy)/2.54, "xarc_start"); addpoint((x[3]+dist(3,7)/2+siirtox)/2.54, (y[3]+siirtoy)/2.54, "xarc_corner"); addpoint((x[7]+siirtox)/2.54, (y[7]+siirtoy)/2.54, "open"); group_obj[30]=current_object; if (language == 0) { current_object=newobject("text","Waistline",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[3]+.2+siirtox)/2.54, (y[3]+.2+siirtoy)/2.54, "LINE"); group_obj[83]=current_object; if(model>0) { current_object=newobject("poly"); addpoint((x[134]+siirtox)/2.54, (y[134]+siirtoy)/2.54, "line"); addpoint((x[135]+siirtox)/2.54, (y[135]+siirtoy)/2.54, "line"); addpoint((x[137]+siirtox)/2.54, (y[137]+siirtoy)/2.54, "line"); addpoint((x[136]+siirtox)/2.54, (y[136]+siirtoy)/2.54, "line"); group_obj[1]=current_object; current_object=newobject("poly"); addpoint((x[135]+siirtox)/2.54, (y[135]+siirtoy)/2.54, "xarc_start"); addpoint((x[142]+siirtox)/2.54, (y[142]+siirtoy)/2.54, "xarc_corner"); addpoint((x[145]+siirtox)/2.54, (y[145]+siirtoy)/2.54, "xarc_start"); addpoint((x[141]+siirtox)/2.54, (y[141]+siirtoy)/2.54, "xarc_corner"); addpoint((x[143]+siirtox)/2.54, (y[143]+siirtoy)/2.54, "xarc_start"); addpoint((x[144]+siirtox)/2.54, (y[144]+siirtoy)/2.54, "xarc_corner"); addpoint((x[137]+siirtox)/2.54, (y[137]+siirtoy)/2.54, "line"); group_obj[2]=current_object; siirtox=-sl/4*4; siirtoy=-6; current_object=newobject("poly"); addpoint((x[136]+siirtox)/2.54, (y[136]+siirtoy)/2.54, "line"); addpoint((x[136]+siirtox)/2.54, (y[136]+tl+6+siirtoy)/2.54, "line"); addpoint((x[136]+1.5+siirtox)/2.54, (y[136]+tl+6+siirtoy)/2.54, "line"); addpoint((x[136]+1.5+siirtox)/2.54, (y[136]+siirtoy)/2.54, "line"); group_obj[3]=current_object; if (language == 0) { current_object=newobject("text","Pocket jetting 4 copies",-1.570796,0.2,0.2,"SIMP.CHR"); } addpoint((x[136]+.2+siirtox)/2.54, (y[136]+tl+siirtoy)/2.54, "LINE"); group_obj[62]=current_object; if(sv>0) { offset_mark(3); select(current_selection,group_obj[62]); group(current_selection); deselect(current_selection); } else { mark(3); current_selection=newselection("OBJECT"); select(current_selection,group_obj[3]); select(current_selection,group_obj[62]); group(current_selection); deselect(current_selection); } siirtox=siirtox-4; siirtoy=0; current_object=newobject("poly"); addpoint((x[135]+siirtox)/2.54, (y[135]+siirtoy)/2.54, "xarc_start"); addpoint((x[142]+siirtox)/2.54, (y[142]+siirtoy)/2.54, "xarc_corner"); addpoint((x[145]+siirtox)/2.54, (y[145]+siirtoy)/2.54, "xarc_start"); addpoint((x[141]+siirtox)/2.54, (y[141]+siirtoy)/2.54, "xarc_corner"); addpoint((x[143]+siirtox)/2.54, (y[143]+siirtoy)/2.54, "xarc_start"); addpoint((x[144]+siirtox)/2.54, (y[144]+siirtoy)/2.54, "xarc_corner"); addpoint((x[137]+siirtox)/2.54, (y[137]+siirtoy)/2.54, "line"); group_obj[4]=current_object; if (language == 0) { current_object=newobject("text","Pocket bag 4 copies",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[145]+1+siirtox)/2.54, (y[145]+.2+siirtoy)/2.54, "LINE"); group_obj[63]=current_object; if(sv>0) { offset_mark(4); select(current_selection,group_obj[63]); group(current_selection); deselect(current_selection); } else { mark(4); current_selection=newselection("OBJECT"); select(current_selection,group_obj[4]); select(current_selection,group_obj[63]); group(current_selection); deselect(current_selection); } siirtox=0; siirtoy=0; } if(model==0) { siirtoy=14; current_object=newobject("poly"); addpoint((x[18]+siirtox)/2.54, (y[18]+siirtoy)/2.54, "xarc_start"); addpoint((x[10]+siirtox)/2.54, (y[18]+siirtoy)/2.54, "xarc_corner"); addpoint((x[10]+siirtox)/2.54, (y[10]+siirtoy)/2.54, "line"); addpoint((x[100]+siirtox)/2.54, (y[100]+siirtoy)/2.54, "xarc_start"); addpoint((x[102]+siirtox)/2.54, (y[102]+siirtoy)/2.54, "xarc_corner"); addpoint((x[101]+siirtox)/2.54, (y[101]+siirtoy)/2.54, "open"); group_obj[16]=current_object; if (language == 0) { current_object=newobject("text","Front facing 1 copy on fold",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[18]+siirtox)/2.54, (y[18]-1+siirtoy)/2.54, "LINE"); group_obj[70]=current_object; current_object=newobj_dot((x[18]+siirtox)/2.54, (y[18]+siirtoy)/2.54); addpoint((x[101]+siirtox)/2.54, (y[101]+siirtoy)/2.54, "open"); group_obj[17]=current_object; if (language == 0) { current_object=newobject("text","CF",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[18]+.2+siirtox)/2.54, (y[18]-2+siirtoy)/2.54, "LINE"); group_obj[71]=current_object; if(sv>0) { offset_mark(16); select(current_selection,group_obj[70]); select(current_selection,group_obj[17]); select(current_selection,group_obj[71]); group(current_selection); deselect(current_selection); } else { mark(16); current_selection=newselection("OBJECT"); select(current_selection,group_obj[16]); select(current_selection,group_obj[70]); select(current_selection,group_obj[17]); select(current_selection,group_obj[71]); group(current_selection); deselect(current_selection); } siirtoy=0; } current_object=newobject("poly"); if(model>2) { if(sv>0) { addpoint((x[4]-sv+siirtox)/2.54, (y[4]+siirtoy)/2.54, "line"); addpoint((x[4]-sv+siirtox)/2.54, (y[4]-5+siirtoy)/2.54, "xarc_start"); } else { addpoint((x[4]+siirtox)/2.54, (y[4]+siirtoy)/2.54, "line"); addpoint((x[4]+siirtox)/2.54, (y[4]-5+siirtoy)/2.54, "xarc_start"); } } else { addpoint((x[4]+siirtox)/2.54, (y[4]+siirtoy)/2.54, "line"); addpoint((x[4]+siirtox)/2.54, (y[4]-5+siirtoy)/2.54, "xarc_start"); } addpoint((x[4]+dist(4,8)/2+siirtox)/2.54, (y[4]-5+siirtoy)/2.54, "xarc_corner"); if(sv==0) { addpoint((x[8]+siirtox)/2.54, (y[8]-5+siirtoy)/2.54, "line"); addpoint((x[8]+siirtox)/2.54, (y[8]+siirtoy)/2.54, "open"); } else { addpoint((x[8]+sv+siirtox)/2.54, (y[8]-5+siirtoy)/2.54, "line"); addpoint((x[8]+sv+siirtox)/2.54, (y[8]+siirtoy)/2.54, "open"); } group_obj[25]=current_object; if (language == 0) { current_object=newobject("text","Hem seam allowance",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[4]+.2+siirtox)/2.54, (y[4]-2+siirtoy)/2.54, "LINE"); group_obj[123]=current_object; if((model==1)||(model==5)) { siirtoy=0; if((model==1)||(sleeve_model==0)) { current_object=newobject("poly"); addpoint((x[4]+siirtox)/2.54, (y[4]+siirtoy)/2.54, "xarc_start"); addpoint((x[4]+dist(4,8)/2+siirtox)/2.54, (y[4]+siirtoy)/2.54, "xarc_corner"); addpoint((x[8]+siirtox)/2.54, (y[8]+siirtoy)/2.54, "open"); group_obj[137]=current_object; current_object=newobject("poly"); addpoint((x[8]+siirtox)/2.54, (y[8]+siirtoy)/2.54, "line"); addpoint((x[7]+siirtox)/2.54, (y[7]+siirtoy)/2.54, "line"); addpoint((x[5]+siirtox)/2.54, (y[5]+siirtoy)/2.54, "xarc_start"); addpoint((x[131]+siirtox)/2.54, (y[131]+siirtoy)/2.54, "xarc_corner"); addpoint((x[130]+siirtox)/2.54, (y[130]+siirtoy)/2.54, "line"); if(model==5) { addpoint((x[103]+siirtox)/2.54, (y[103]+siirtoy)/2.54, "line"); addpoint((x[4]+siirtox)/2.54, (y[4]+siirtoy)/2.54, "open"); } else { addpoint((x[103]+siirtox)/2.54, (y[103]+siirtoy)/2.54, "open"); } } else { current_object=newobject("poly"); addpoint((x[4]+siirtox)/2.54, (y[4]+siirtoy)/2.54, "xarc_start"); addpoint((x[4]+dist(4,8)/2+siirtox)/2.54, (y[4]+siirtoy)/2.54, "xarc_corner"); addpoint((x[8]+siirtox)/2.54, (y[8]+siirtoy)/2.54, "open"); group_obj[137]=current_object; current_object=newobject("poly"); addpoint((x[8]+siirtox)/2.54, (y[8]+siirtoy)/2.54, "line"); addpoint((x[7]+siirtox)/2.54, (y[7]+siirtoy)/2.54, "line"); addpoint((x[5]+siirtox)/2.54, (y[5]+siirtoy)/2.54, "xarc_start"); addpoint((x[13]+siirtox)/2.54, (y[13]+siirtoy)/2.54, "xarc_corner"); addpoint((x[30]+siirtox)/2.54, (y[30]+siirtoy)/2.54, "line"); addpoint((x[181]+siirtox)/2.54, (y[181]+siirtoy)/2.54, "line"); if(model==5) { addpoint((x[103]+siirtox)/2.54, (y[103]+siirtoy)/2.54, "line"); addpoint((x[4]+siirtox)/2.54, (y[4]+siirtoy)/2.54, "open"); } else { addpoint((x[103]+siirtox)/2.54, (y[103]+siirtoy)/2.54, "open"); } } group_obj[18]=current_object; if (language == 0) { current_object=newobject("text","Lower front piece 1 copy on fold",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[4]+.2+siirtox)/2.54, (y[4]+.2+siirtoy)/2.54, "LINE"); group_obj[72]=current_object; current_object=newobj_dot((x[4]+siirtox)/2.54, (y[4]+siirtoy)/2.54); addpoint((x[103]+siirtox)/2.54, (y[103]+siirtoy)/2.54, "open"); group_obj[19]=current_object; if (language == 0) { current_object=newobject("text","CF2",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[4]+.2+siirtox)/2.54, (y[4]+2+siirtoy)/2.54, "LINE"); group_obj[73]=current_object; if(sv>0) { sv = -sv; offset_mark2(18); sv = -sv; select(current_selection,group_obj[137]); select(current_selection,group_obj[72]); select(current_selection,group_obj[19]); select(current_selection,group_obj[73]); select(current_selection,group_obj[25]); select(current_selection,group_obj[123]); select(current_selection,group_obj[1]); select(current_selection,group_obj[2]); select(current_selection,group_obj[30]); select(current_selection,group_obj[83]); if(model==5) { select(current_selection,group_obj[114]); select(current_selection,group_obj[115]); select(current_selection,group_obj[116]); select(current_selection,group_obj[117]); select(current_selection,group_obj[118]); } group(current_selection); deselect(current_selection); } else { mark(18); current_selection=newselection("OBJECT"); select(current_selection,group_obj[18]); select(current_selection,group_obj[137]); select(current_selection,group_obj[72]); select(current_selection,group_obj[19]); select(current_selection,group_obj[73]); select(current_selection,group_obj[25]); select(current_selection,group_obj[123]); select(current_selection,group_obj[1]); select(current_selection,group_obj[2]); select(current_selection,group_obj[30]); select(current_selection,group_obj[83]); if(model==5) { select(current_selection,group_obj[114]); select(current_selection,group_obj[115]); select(current_selection,group_obj[116]); select(current_selection,group_obj[117]); select(current_selection,group_obj[118]); } group(current_selection); deselect(current_selection); } siirtoy=4; if((model==1)||(sleeve_model==0)) { kaula_etu=arclength(10,39,18); current_object=newobject("poly"); addpoint((x[103]+siirtox)/2.54, (y[103]+siirtoy)/2.54, "line"); addpoint((x[130]+siirtox)/2.54, (y[130]+siirtoy)/2.54, "xarc_start"); addpoint((x[12]-1+siirtox)/2.54, (y[12]-1+siirtoy)/2.54, "xarc_corner"); addpoint((x[20]+siirtox)/2.54, (y[20]+siirtoy)/2.54, "line"); addpoint((x[17]+siirtox)/2.54, (y[17]+siirtoy)/2.54, "line"); addpoint((x[10]+siirtox)/2.54, (y[10]+siirtoy)/2.54, "xarc_start"); addpoint((x[39]+siirtox)/2.54, (y[39]+siirtoy)/2.54, "xarc_corner"); addpoint((x[18]+siirtox)/2.54, (y[18]+siirtoy)/2.54, "line"); } else { kaula_etu=arclength(10,39,18); current_object=newobject("poly"); addpoint((x[181]+siirtox)/2.54, (y[181]+siirtoy)/2.54, "line"); addpoint((x[34]+siirtox)/2.54, (y[34]+siirtoy)/2.54, "xarc_start"); addpoint((x[39]+siirtox)/2.54, (y[39]+siirtoy)/2.54, "xarc_corner"); addpoint((x[18]+siirtox)/2.54, (y[18]+siirtoy)/2.54, "line"); addpoint((x[180]+siirtox)/2.54, (y[180]+siirtoy)/2.54, "line"); } group_obj[20]=current_object; if (language == 0) { current_object=newobject("text","Upper front piece 2 copies",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[103]+.2+siirtox)/2.54, (y[103]+.2+siirtoy)/2.54, "LINE"); group_obj[74]=current_object; current_object=newobj_dot((x[103]+siirtox)/2.54, (y[103]+siirtoy)/2.54); addpoint((x[18]+siirtox)/2.54, (y[18]+siirtoy)/2.54, "open"); group_obj[21]=current_object; if (language == 0) { current_object=newobject("text","CF3",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[18]+.2+siirtox)/2.54, (y[18]-2+siirtoy)/2.54, "LINE"); group_obj[75]=current_object; if(sv>0) { offset_mark(20); select(current_selection,group_obj[74]); select(current_selection,group_obj[21]); select(current_selection,group_obj[75]); group(current_selection); deselect(current_selection); } else { mark(20); current_selection=newselection("OBJECT"); select(current_selection,group_obj[20]); select(current_selection,group_obj[74]); select(current_selection,group_obj[21]); select(current_selection,group_obj[75]); group(current_selection); deselect(current_selection); } siirtox=-ktk/2-4; current_object=newobject("poly"); addpoint((x[18]+siirtox)/2.54, (y[18]+siirtoy)/2.54, "xarc_start"); addpoint((x[10]+siirtox)/2.54, (y[18]+siirtoy)/2.54, "xarc_corner"); addpoint((x[10]+siirtox)/2.54, (y[10]+siirtoy)/2.54, "line"); addpoint((x[100]+siirtox)/2.54, (y[100]+siirtoy)/2.54, "xarc_start"); addpoint((x[106]+siirtox)/2.54, (y[106]+siirtoy)/2.54, "xarc_corner"); addpoint((x[105]+siirtox)/2.54, (y[105]+siirtoy)/2.54, "xarc_start"); addpoint((x[107]+siirtox)/2.54, (y[107]+siirtoy)/2.54, "xarc_corner"); addpoint((x[104]+siirtox)/2.54, (y[104]+siirtoy)/2.54, "line"); addpoint((x[103]+siirtox)/2.54, (y[103]+siirtoy)/2.54, "line"); group_obj[22]=current_object; if (language == 0) { current_object=newobject("text","Zipper",-1.570796,0.2,0.2,"SIMP.CHR"); } addpoint((x[103]+.2+siirtox)/2.54, (y[103]+5+siirtoy)/2.54, "LINE"); group_obj[76]=current_object; if(sv>0) { offset_mark(22); select(current_selection,group_obj[76]); group(current_selection); deselect(current_selection); } else { mark(22); current_selection=newselection("OBJECT"); select(current_selection,group_obj[22]); select(current_selection,group_obj[76]); group(current_selection); deselect(current_selection); } siirtox=0; siirtoy=0; } kaula_etu=arclength(34,39,18); if(model<5) { if((model==0)||(model>1)) { if (language == 0) { current_object=newobject("text","Front piece Cut 2",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[4]+.2+siirtox)/2.54, (y[4]+.2+siirtoy)/2.54, "LINE"); group_obj[77]=current_object; if((model<3)||(model>4)) { current_object=newobj_dot((x[4]+siirtox)/2.54, (y[4]+siirtoy)/2.54); addpoint((x[18]+siirtox)/2.54, (y[18]+siirtoy)/2.54, "open"); group_obj[24]=current_object; } if (language == 0) { current_object=newobject("text","CF4",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[4]+.2+siirtox)/2.54, (y[4]+2+siirtoy)/2.54, "LINE"); group_obj[78]=current_object; if((model==3)||(model==4)) { current_object=newobject("poly"); addpoint((x[138]+siirtox)/2.54, (y[138]+siirtoy)/2.54, "line"); addpoint((x[139]+siirtox)/2.54, (y[139]+siirtoy)/2.54, "open"); group_obj[61]=current_object; if (language == 0) { current_object=newobject("text","Zipper cover plant line",-1.570796,0.2,0.2,"SIMP.CHR"); } addpoint((x[138]+.2+siirtox)/2.54, (y[138]+siirtoy)/2.54, "LINE"); group_obj[114]=current_object; } if((sleeve_model==0)&&(model!=4)) { current_object=newobject("poly"); addpoint((x[4]+siirtox)/2.54, (y[4]+siirtoy)/2.54, "xarc_start"); addpoint((x[4]+dist(4,8)/2+siirtox)/2.54, (y[4]+siirtoy)/2.54, "xarc_corner"); addpoint((x[8]+siirtox)/2.54, (y[8]+siirtoy)/2.54, "open"); group_obj[138]=current_object; kaula_etu=arclength(10,39,18); current_object=newobject("poly"); addpoint((x[8]+siirtox)/2.54, (y[8]+siirtoy)/2.54, "line"); addpoint((x[7]+siirtox)/2.54, (y[7]+siirtoy)/2.54, "line"); addpoint((x[5]+siirtox)/2.54, (y[5]+siirtoy)/2.54, "xarc_start"); addpoint((x[13]+siirtox)/2.54, (y[13]+siirtoy)/2.54, "xarc_corner"); addpoint((x[12]+siirtox)/2.54, (y[12]+siirtoy)/2.54, "xarc_start"); addpoint((x[20]+siirtox)/2.54, (y[20]+siirtoy)/2.54, "xarc_corner"); addpoint((x[17]+siirtox)/2.54, (y[17]+siirtoy)/2.54, "line"); addpoint((x[10]+siirtox)/2.54, (y[10]+siirtoy)/2.54, "xarc_start"); addpoint((x[39]+siirtox)/2.54, (y[39]+siirtoy)/2.54, "xarc_corner"); if((model==3)||(model==4)) { addpoint((x[18]+siirtox)/2.54, (y[18]+siirtoy)/2.54, "line"); addpoint((x[4]+siirtox)/2.54, (y[4]+siirtoy)/2.54, "open"); } else { addpoint((x[18]+siirtox)/2.54, (y[18]+siirtoy)/2.54, "open"); } group_obj[23]=current_object; if(sv>0) { sv = -sv; offset_mark2(23); sv = -sv; select(current_selection,group_obj[138]); select(current_selection,group_obj[30]); select(current_selection,group_obj[83]); select(current_selection,group_obj[77]); if((model<3)||(model>4)) { select(current_selection,group_obj[24]); } select(current_selection,group_obj[78]); select(current_selection,group_obj[25]); select(current_selection,group_obj[123]); if(model==2) { select(current_selection,group_obj[1]); select(current_selection,group_obj[2]); } if((model==3)||(model==4)) { select(current_selection,group_obj[61]); select(current_selection,group_obj[114]); select(current_selection,group_obj[1]); select(current_selection,group_obj[2]); } group(current_selection); deselect(current_selection); } else { mark(23); current_selection=newselection("OBJECT"); select(current_selection,group_obj[23]); select(current_selection,group_obj[138]); select(current_selection,group_obj[30]); select(current_selection,group_obj[83]); select(current_selection,group_obj[77]); if((model<3)||(model>4)) { select(current_selection,group_obj[24]); } select(current_selection,group_obj[78]); select(current_selection,group_obj[25]); select(current_selection,group_obj[123]); if(model==2) { select(current_selection,group_obj[1]); select(current_selection,group_obj[2]); } if((model==3)||(model==4)) { select(current_selection,group_obj[61]); select(current_selection,group_obj[114]); select(current_selection,group_obj[1]); select(current_selection,group_obj[2]); } group(current_selection); deselect(current_selection); } } else { current_object=newobject("poly"); addpoint((x[4]+siirtox)/2.54, (y[4]+siirtoy)/2.54, "xarc_start"); addpoint((x[4]+dist(4,8)/2+siirtox)/2.54, (y[4]+siirtoy)/2.54, "xarc_corner"); addpoint((x[8]+siirtox)/2.54, (y[8]+siirtoy)/2.54, "open"); group_obj[139]=current_object; kaula_etu=arclength(10,39,18); current_object=newobject("poly"); addpoint((x[8]+siirtox)/2.54, (y[8]+siirtoy)/2.54, "line"); addpoint((x[7]+siirtox)/2.54, (y[7]+siirtoy)/2.54, "line"); addpoint((x[5]+siirtox)/2.54, (y[5]+siirtoy)/2.54, "xarc_start"); addpoint((x[13]+siirtox)/2.54, (y[13]+siirtoy)/2.54, "xarc_corner"); addpoint((x[30]+siirtox)/2.54, (y[30]+siirtoy)/2.54, "line"); addpoint((x[34]+siirtox)/2.54, (y[34]+siirtoy)/2.54, "xarc_start"); addpoint((x[39]+siirtox)/2.54, (y[39]+siirtoy)/2.54, "xarc_corner"); if((model==3)||(model==4)) { addpoint((x[18]+siirtox)/2.54, (y[18]+siirtoy)/2.54, "line"); addpoint((x[4]+siirtox)/2.54, (y[4]+siirtoy)/2.54, "open"); } else { addpoint((x[18]+siirtox)/2.54, (y[18]+siirtoy)/2.54, "open"); } group_obj[26]=current_object; if(sv>0) { sv = -sv; offset_mark2(26); sv = -sv; select(current_selection,group_obj[139]); select(current_selection,group_obj[30]); select(current_selection,group_obj[83]); select(current_selection,group_obj[77]); if((model<3)||(model>4)) { select(current_selection,group_obj[24]); } select(current_selection,group_obj[78]); select(current_selection,group_obj[25]); select(current_selection,group_obj[123]); if(model==2) { select(current_selection,group_obj[1]); select(current_selection,group_obj[2]); } if((model==3)||(model==4)) { select(current_selection,group_obj[61]); select(current_selection,group_obj[114]); select(current_selection,group_obj[1]); select(current_selection,group_obj[2]); } group(current_selection); deselect(current_selection); } else { mark(26); current_selection=newselection("OBJECT"); select(current_selection,group_obj[26]); select(current_selection,group_obj[139]); select(current_selection,group_obj[30]); select(current_selection,group_obj[83]); select(current_selection,group_obj[77]); if((model<3)||(model>4)) { select(current_selection,group_obj[24]); } select(current_selection,group_obj[78]); select(current_selection,group_obj[25]); select(current_selection,group_obj[123]); if(model==2) { select(current_selection,group_obj[1]); select(current_selection,group_obj[2]); } if((model==3)||(model==4)) { select(current_selection,group_obj[61]); select(current_selection,group_obj[114]); select(current_selection,group_obj[1]); select(current_selection,group_obj[2]); } group(current_selection); deselect(current_selection); } } } } if(sex==1) { coord(1,3,0,-sp); coord(3,4,0,-pit); } siirtox=sl/4*3; if ((model<2)||(model>2)) { siirtoy=9; current_object=newobject("poly"); addpoint((x[1]+siirtox)/2.54, (y[1]+siirtoy)/2.54, "xarc_start"); addpoint((x[9]+siirtox)/2.54, (y[9]+siirtoy)/2.54, "xarc_corner"); addpoint((x[10]+siirtox)/2.54, (y[10]+siirtoy)/2.54, "line"); addpoint((x[129]+siirtox)/2.54, (y[129]+siirtoy)/2.54, "xarc_start"); addpoint((x[128]+siirtox)/2.54, (y[128]+siirtoy)/2.54, "xarc_corner"); addpoint((x[127]+siirtox)/2.54, (y[127]+siirtoy)/2.54, "open"); group_obj[31]=current_object; if (language == 0) { current_object=newobject("text","Back facing",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[1]+.2+siirtox)/2.54, (y[1]-1+siirtoy)/2.54, "LINE"); group_obj[84]=current_object; current_object=newobj_dot((x[1]+siirtox)/2.54, (y[1]+siirtoy)/2.54); addpoint((x[127]+siirtox)/2.54, (y[127]+siirtoy)/2.54, "open"); group_obj[116]=current_object; if (language == 0) { current_object=newobject("text","CB1",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[127]+.2+siirtox)/2.54, (y[127]+1+siirtoy)/2.54, "open"); group_obj[117]=current_object; if(sv>0) { offset_mark(31); select(current_selection,group_obj[84]); select(current_selection,group_obj[116]); select(current_selection,group_obj[117]); group(current_selection); deselect(current_selection); } else { mark(31); current_selection=newselection("OBJECT"); select(current_selection,group_obj[31]); select(current_selection,group_obj[84]); select(current_selection,group_obj[116]); select(current_selection,group_obj[117]); group(current_selection); deselect(current_selection); } } siirtoy=0; current_object=newobject("poly"); addpoint((x[3]+siirtox)/2.54, (y[3]+siirtoy)/2.54, "line"); addpoint((x[7]+siirtox)/2.54, (y[7]+siirtoy)/2.54, "open"); group_obj[49]=current_object; if (language == 0) { current_object=newobject("text","Waistline",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[3]+.2+siirtox)/2.54, (y[3]+.2+siirtoy)/2.54, "LINE"); group_obj[93]=current_object; current_object=newobj_dot((x[1]+siirtox)/2.54, (y[1]+siirtoy)/2.54); addpoint((x[4]+siirtox)/2.54, (y[4]+siirtoy)/2.54, "open"); group_obj[32]=current_object; if (language == 0) { current_object=newobject("text","CB2",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[4]+.2+siirtox)/2.54, (y[4]+2+siirtoy)/2.54, "LINE"); group_obj[85]=current_object; current_object=newobject("poly"); addpoint((x[4]+siirtox)/2.54, (y[4]+siirtoy)/2.54, "line"); addpoint((x[4]+siirtox)/2.54, (y[4]-5+siirtoy)/2.54, "line"); if(sv==0) { addpoint((x[8]+siirtox)/2.54, (y[8]-5+siirtoy)/2.54, "line"); addpoint((x[8]+siirtox)/2.54, (y[8]+siirtoy)/2.54, "open"); } else { addpoint((x[8]+sv+siirtox)/2.54, (y[8]-5+siirtoy)/2.54, "line"); addpoint((x[8]+sv+siirtox)/2.54, (y[8]+siirtoy)/2.54, "open"); } group_obj[34]=current_object; if (language == 0) { current_object=newobject("text","Hem seam allowance",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[4]+.2+siirtox)/2.54, (y[4]-2+siirtoy)/2.54, "LINE"); group_obj[87]=current_object; if(sv>0) { ; } kaula_taka=arclength(1,9,10); if((sleeve_model==0)&&(model!=4)) { current_object=newobject("poly"); addpoint((x[4]+siirtox)/2.54, (y[4]+siirtoy)/2.54, "xarc_start"); addpoint((x[4]+dist(4,8)/2+siirtox)/2.54, (y[4]+siirtoy)/2.54, "xarc_corner"); addpoint((x[8]+siirtox)/2.54, (y[8]+siirtoy)/2.54, "line"); group_obj[140]=current_object; kaula_taka=arclength(1,9,10); current_object=newobject("poly"); addpoint((x[8]+siirtox)/2.54, (y[8]+siirtoy)/2.54, "line"); addpoint((x[7]+siirtox)/2.54, (y[7]+siirtoy)/2.54, "line"); addpoint((x[5]+siirtox)/2.54, (y[5]+siirtoy)/2.54, "xarc_start"); addpoint((x[13]+siirtox)/2.54, (y[13]+siirtoy)/2.54, "xarc_corner"); addpoint((x[12]+siirtox)/2.54, (y[12]+siirtoy)/2.54, "xarc_start"); addpoint((x[20]+siirtox)/2.54, (y[20]+siirtoy)/2.54, "xarc_corner"); addpoint((x[17]+siirtox)/2.54, (y[17]+siirtoy)/2.54, "line"); addpoint((x[10]+siirtox)/2.54, (y[10]+siirtoy)/2.54, "xarc_start"); addpoint((x[9]+siirtox)/2.54, (y[9]+siirtoy)/2.54, "xarc_corner"); addpoint((x[1]+siirtox)/2.54, (y[1]+siirtoy)/2.54, "open"); group_obj[33]=current_object; if (language == 0) { current_object=newobject("text","Back piece 1 copy on fold",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[4]+.2+siirtox)/2.54, (y[4]+.2+siirtoy)/2.54, "LINE"); group_obj[86]=current_object; if(sv>0) { sv = -sv; offset_mark2(33); sv = -sv; select(current_selection,group_obj[140]); select(current_selection,group_obj[86]); select(current_selection,group_obj[34]); select(current_selection,group_obj[87]); select(current_selection,group_obj[32]); select(current_selection,group_obj[85]); select(current_selection,group_obj[49]); select(current_selection,group_obj[93]); group(current_selection); deselect(current_selection); } else { mark(33); current_selection=newselection("OBJECT"); select(current_selection,group_obj[33]); select(current_selection,group_obj[140]); select(current_selection,group_obj[86]); select(current_selection,group_obj[34]); select(current_selection,group_obj[87]); select(current_selection,group_obj[32]); select(current_selection,group_obj[85]); select(current_selection,group_obj[49]); select(current_selection,group_obj[93]); group(current_selection); deselect(current_selection); } } else { current_object=newobject("poly"); addpoint((x[4]+siirtox)/2.54, (y[4]+siirtoy)/2.54, "xarc_start"); addpoint((x[4]+dist(4,8)/2+siirtox)/2.54, (y[4]+siirtoy)/2.54, "xarc_corner"); addpoint((x[8]+siirtox)/2.54, (y[8]+siirtoy)/2.54, "open"); group_obj[140]=current_object; current_object=newobject("poly"); addpoint((x[8]+siirtox)/2.54, (y[8]+siirtoy)/2.54, "line"); addpoint((x[7]+siirtox)/2.54, (y[7]+siirtoy)/2.54, "line"); addpoint((x[5]+siirtox)/2.54, (y[5]+siirtoy)/2.54, "xarc_start"); addpoint((x[13]+siirtox)/2.54, (y[13]+siirtoy)/2.54, "xarc_corner"); addpoint((x[30]+siirtox)/2.54, (y[30]+siirtoy)/2.54, "line"); addpoint((x[29]+siirtox)/2.54, (y[29]+siirtoy)/2.54, "line"); addpoint((x[37]+siirtox)/2.54, (y[37]+siirtoy)/2.54, "line"); addpoint((x[1]+siirtox)/2.54, (y[1]+siirtoy)/2.54, "open"); group_obj[35]=current_object; if (language == 0) { current_object=newobject("text","Back piece 1 copy fold",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[4]+.2+siirtox)/2.54, (y[4]+.2+siirtoy)/2.54, "LINE"); group_obj[88]=current_object; if(sv>0) { sv = -sv; offset_mark2(35); sv = -sv; select(current_selection,group_obj[140]); select(current_selection,group_obj[88]); select(current_selection,group_obj[34]); select(current_selection,group_obj[87]); select(current_selection,group_obj[32]); select(current_selection,group_obj[85]); select(current_selection,group_obj[49]); select(current_selection,group_obj[93]); group(current_selection); deselect(current_selection); } else { mark(35); current_selection=newselection("OBJECT"); select(current_selection,group_obj[35]); select(current_selection,group_obj[140]); select(current_selection,group_obj[88]); select(current_selection,group_obj[34]); select(current_selection,group_obj[87]); select(current_selection,group_obj[32]); select(current_selection,group_obj[85]); select(current_selection,group_obj[49]); select(current_selection,group_obj[93]); group(current_selection); deselect(current_selection); } } cont(8,5,97,-5); x[98]=x[1]; y[98]=y[97]; x[99]=x[29]; y[99]=y[98]; rotate(30,29,1/dist(29,99)); rotate(13,29,1/dist(29,99)); rotate(5,29,1/dist(29,99)); rotate(97,29,1/dist(29,99)); rotate(99,29,1/dist(29,99)); siirtoy=hupunkorkeus+14; if(model==4) { current_object=newobject("poly"); addpoint((x[98]+siirtox)/2.54, (y[98]+siirtoy)/2.54, "line"); addpoint((x[99]+siirtox)/2.54, (y[99]+siirtoy)/2.54, "line"); addpoint((x[97]+siirtox)/2.54, (y[97]+siirtoy)/2.54, "line"); addpoint((x[5]+siirtox)/2.54, (y[5]+siirtoy)/2.54, "xarc_start"); addpoint((x[13]+siirtox)/2.54, (y[13]+siirtoy)/2.54, "xarc_corner"); addpoint((x[30]+siirtox)/2.54, (y[30]+siirtoy)/2.54, "line"); addpoint((x[29]+siirtox)/2.54, (y[29]+siirtoy)/2.54, "line"); addpoint((x[37]+siirtox)/2.54, (y[37]+siirtoy)/2.54, "line"); addpoint((x[1]+siirtox)/2.54, (y[1]+siirtoy)/2.54, "open"); group_obj[37]=current_object; if (language == 0) { current_object=newobject("text","Back piece 1 copy on fold",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[98]+.2+siirtox)/2.54, (y[98]+.2+siirtoy)/2.54, "LINE"); group_obj[90]=current_object; current_object=newobj_dot((x[98]+siirtox)/2.54, (y[98]+siirtoy)/2.54); addpoint((x[1]+siirtox)/2.54, (y[1]+siirtoy)/2.54, "open"); group_obj[38]=current_object; if (language == 0) { current_object=newobject("text","CB3",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[98]+.2+siirtox)/2.54, (y[98]-1+siirtoy)/2.54, "LINE"); group_obj[91]=current_object; if(sv>0) { offset_mark(37); select(current_selection,group_obj[90]); select(current_selection,group_obj[38]); select(current_selection,group_obj[91]); group(current_selection); deselect(current_selection); } else { mark(37); current_selection=newselection("OBJECT"); select(current_selection,group_obj[37]); select(current_selection,group_obj[90]); select(current_selection,group_obj[38]); select(current_selection,group_obj[91]); group(current_selection); deselect(current_selection); } } rotate(30,29,-1/dist(29,99)); rotate(13,29,-1/dist(29,99)); rotate(5,29,-1/dist(29,99)); rotate(97,29,-1/dist(29,99)); rotate(99,29,-1/dist(29,99)); siirtoy=0; siirtox=siirtox+2*ktk; if(model==5) { current_object=newobject("poly"); addpoint((x[172]+siirtox)/2.54, (y[172]+siirtoy)/2.54, "line"); addpoint((x[173]+siirtox)/2.54, (y[173]+siirtoy)/2.54, "line"); addpoint((x[174]+siirtox)/2.54, (y[174]+siirtoy)/2.54, "line"); addpoint((x[175]+siirtox)/2.54, (y[175]+siirtoy)/2.54, "line"); if(sleeve_model==1) { addpoint((x[175]+dist(174,175)+siirtox)/2.54, (y[175]+siirtoy)/2.54, "line"); addpoint((x[172]+dist(174,175)+siirtox)/2.54, (y[172]+siirtoy)/2.54, "line"); addpoint((x[172]+siirtox)/2.54, (y[172]+siirtoy)/2.54, "line"); } group_obj[130]=current_object; current_object=newobject("poly"); addpoint((x[176]+siirtox)/2.54, (y[176]+siirtoy)/2.54, "line"); addpoint((x[178]+siirtox)/2.54, (y[178]+siirtoy)/2.54, "line"); addpoint((x[179]+siirtox)/2.54, (y[179]+siirtoy)/2.54, "line"); if(sleeve_model==0) { addpoint((x[177]+siirtox)/2.54, (y[177]+siirtoy)/2.54, "open"); } else { addpoint((x[177]+siirtox)/2.54, (y[177]+siirtoy)/2.54, "line"); addpoint((x[177]+dist(179,177)+siirtox)/2.54, (y[177]+siirtoy)/2.54, "line"); addpoint((x[176]+dist(179,177)+siirtox)/2.54, (y[176]+siirtoy)/2.54, "line"); addpoint((x[176]+siirtox)/2.54, (y[176]+siirtoy)/2.54, "line"); } group_obj[131]=current_object; if (language == 0) { current_object=newobject("text","Zipper",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[179]+.2+siirtox)/2.54, (y[179]+.2+siirtoy)/2.54, "LINE"); group_obj[132]=current_object; siirtox=siirtox-18; siirtoy=ktk; current_object=newobject("poly"); addpoint((x[172]+siirtox)/2.54, (y[172]+siirtoy)/2.54, "line"); addpoint((x[173]+siirtox)/2.54, (y[173]+siirtoy)/2.54, "line"); addpoint((x[174]+siirtox)/2.54, (y[174]+siirtoy)/2.54, "line"); addpoint((x[175]+siirtox)/2.54, (y[175]+siirtoy)/2.54, "open"); group_obj[133]=current_object; if (language == 0) { current_object=newobject("text","Sleeve pocket Cut 4",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[173]+1+siirtox)/2.54, (y[173]-1+siirtoy)/2.54, "LINE"); group_obj[134]=current_object; current_object=newobj_dot((x[172]+siirtox)/2.54, (y[172]+siirtoy)/2.54); addpoint((x[175]+siirtox)/2.54, (y[175]+siirtoy)/2.54, "open"); group_obj[135]=current_object; current_object=newobject("poly"); addpoint((x[176]+siirtox)/2.54, (y[176]+siirtoy)/2.54, "line"); addpoint((x[178]+siirtox)/2.54, (y[178]+siirtoy)/2.54, "line"); addpoint((x[179]+siirtox)/2.54, (y[179]+siirtoy)/2.54, "line"); addpoint((x[177]+siirtox)/2.54, (y[177]+siirtoy)/2.54, "open"); group_obj[136]=current_object; if(sv>0) { offset_mark(133); select(current_selection,group_obj[134]); select(current_selection,group_obj[135]); select(current_selection,group_obj[136]); group(current_selection); deselect(current_selection); } else { mark(133); current_selection=newselection("OBJECT"); select(current_selection,group_obj[133]); select(current_selection,group_obj[134]); select(current_selection,group_obj[135]); select(current_selection,group_obj[136]); group(current_selection); deselect(current_selection); } } siirtox=siirtox+18; siirtoy=0; if((sleeve_model==0)&&(model!=4)) { current_object=newobject("poly"); addpoint((x[22]+siirtox)/2.54, (y[22]+siirtoy)/2.54, "line"); addpoint((x[24]+siirtox)/2.54, (y[24]+siirtoy)/2.54, "line"); addpoint((x[23]+siirtox)/2.54, (y[23]+siirtoy)/2.54, "xarc_start"); addpoint((x[25]+siirtox)/2.54, (y[25]+siirtoy)/2.54, "xarc_corner"); addpoint((x[26]+siirtox)/2.54, (y[26]+siirtoy)/2.54, "xarc_start"); addpoint((x[28]+siirtox)/2.54, (y[28]+siirtoy)/2.54, "xarc_corner"); addpoint((x[0]+siirtox)/2.54, (y[0]+siirtoy)/2.54, "open"); group_obj[41]=current_object; current_object=newobj_dot((x[22]+siirtox)/2.54, (y[22]+siirtoy)/2.54); addpoint((x[0]+siirtox)/2.54, (y[0]+siirtoy)/2.54, "open"); group_obj[42]=current_object; if (language == 0) { current_object=newobject("text","Sleeve Shoulder Cut 2",-1.570796,0.2,0.2,"SIMP.CHR"); } addpoint((x[0]-1+siirtox)/2.54, (y[0]-.2+siirtoy)/2.54, "LINE"); group_obj[95]=current_object; if(sv>0) { offset_mark(41); select(current_selection,group_obj[42]); select(current_selection,group_obj[95]); if(model==5) { select(current_selection,group_obj[130]); select(current_selection,group_obj[131]); select(current_selection,group_obj[132]); } group(current_selection); deselect(current_selection); } else { mark(41); current_selection=newselection("OBJECT"); select(current_selection,group_obj[41]); select(current_selection,group_obj[42]); select(current_selection,group_obj[95]); if(model==5) { select(current_selection,group_obj[130]); select(current_selection,group_obj[131]); select(current_selection,group_obj[132]); } group(current_selection); deselect(current_selection); } } else { double siirtox_hiha, siirtoy_hiha; siirtox_hiha=x[0]-x[17]; siirtoy_hiha=y[0]-y[17]; shift(9,siirtox_hiha, siirtoy_hiha); shift(10,siirtox_hiha, siirtoy_hiha); shift(17,siirtox_hiha, siirtoy_hiha); shift(34,siirtox_hiha, siirtoy_hiha); shift(29,siirtox_hiha, siirtoy_hiha); ang=angle(x[17],y[17],x[10],y[10])-angle(x[22],y[22],x[17],y[17]); rotate(9,17,-ang); rotate(10,17,-ang); rotate(34,17,-ang); rotate(29,17,-ang); rotate(37,17,-ang); cont(34,25,32,-5); ang=angle(x[22],y[22],x[17],y[17])-angle(x[22],y[22],x[17]+3,y[17]); rotate(24,22,ang); rotate(23,22,ang); rotate(25,22,ang); rotate(32,22,ang); rotate(34,22,ang); rotate(10,22,ang); rotate(17,22,ang); rotate(29,22,ang); if(model==4) { cont(24,23,90,-5); x[91]=x[0]; y[91]=y[90]+2; x[93]=x[34]; y[93]=y[91]; center(90,93,95); y[95]=y[91]; rotate(32,34,-1/dist(34,93)); rotate(25,34,-1/dist(34,93)); rotate(23,34,-1/dist(34,93)); rotate(90,34,-1/dist(34,93)); rotate(95,34,-1/dist(34,93)); rotate(93,34,-1/dist(34,93)); siirtoy=hupunkorkeus; if(model==4) { current_object=newobject("poly"); addpoint((x[91]+siirtox)/2.54, (y[91]+siirtoy)/2.54, "line"); addpoint((x[93]+siirtox)/2.54, (y[93]+siirtoy)/2.54, "xarc_start"); addpoint((x[95]+siirtox)/2.54, (y[95]+siirtoy)/2.54, "xarc_corner"); addpoint((x[90]+siirtox)/2.54, (y[90]+siirtoy)/2.54, "line"); addpoint((x[23]+siirtox)/2.54, (y[23]+siirtoy)/2.54, "xarc_start"); addpoint((x[25]+siirtox)/2.54, (y[25]+siirtoy)/2.54, "xarc_corner"); addpoint((x[32]+siirtox)/2.54, (y[32]+siirtoy)/2.54, "line"); addpoint((x[34]+siirtox)/2.54, (y[34]+siirtoy)/2.54, "line"); addpoint((x[10]+siirtox)/2.54, (y[10]+siirtoy)/2.54, "line"); addpoint((x[17]+3+siirtox)/2.54, (y[17]+siirtoy)/2.54, "open"); group_obj[115]=current_object; if (language == 0) { current_object=newobject("text","Sleeve Yoke Cut 2",-1.570796,0.2,0.2,"SIMP.CHR"); } addpoint((x[0]+.2+siirtox)/2.54, (y[0]-.2+siirtoy)/2.54, "LINE"); group_obj[99]=current_object; if (language == 0) { current_object=newobject("text","Front",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[25]+siirtox)/2.54, (y[25]+siirtoy)/2.54, "LINE"); group_obj[106]=current_object; if(sv>0) { offset_mark(115); select(current_selection,group_obj[99]); select(current_selection,group_obj[106]); group(current_selection); deselect(current_selection); } else { mark(115); current_selection=newselection("OBJECT"); select(current_selection,group_obj[115]); select(current_selection,group_obj[99]); select(current_selection,group_obj[106]); group(current_selection); deselect(current_selection); } } rotate(32,34,1/dist(34,93)); rotate(25,34,1/dist(34,93)); rotate(23,34,1/dist(34,93)); rotate(90,34,1/dist(34,93)); rotate(95,34,1/dist(34,93)); rotate(93,34,1/dist(34,93)); } siirtoy=0; if (language == 0) { current_object=newobject("text","Sleeve Front Cut 2",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[25]+siirtox)/2.54, (y[25]+siirtoy)/2.54, "LINE"); group_obj[96]=current_object; current_object=newobj_dot((x[22]+siirtox)/2.54, (y[22]+siirtoy)/2.54); addpoint((x[17]+3+siirtox)/2.54, (y[17]+siirtoy)/2.54, "open"); group_obj[121]=current_object; if (language == 0) { current_object=newobject("text","Sleeve Shoulder Cut 2",-1.570796,0.2,0.2,"SIMP.CHR"); } addpoint((x[17]+2+siirtox)/2.54, (y[17]-.2+siirtoy)/2.54, "LINE"); group_obj[122]=current_object; current_object=newobject("poly"); addpoint((x[22]+siirtox)/2.54, (y[22]+siirtoy)/2.54, "line"); addpoint((x[24]+siirtox)/2.54, (y[24]+siirtoy)/2.54, "line"); addpoint((x[23]+siirtox)/2.54, (y[23]+siirtoy)/2.54, "xarc_start"); addpoint((x[25]+siirtox)/2.54, (y[25]+siirtoy)/2.54, "xarc_corner"); addpoint((x[32]+siirtox)/2.54, (y[32]+siirtoy)/2.54, "line"); addpoint((x[34]+siirtox)/2.54, (y[34]+siirtoy)/2.54, "line"); addpoint((x[10]+siirtox)/2.54, (y[10]+siirtoy)/2.54, "line"); addpoint((x[17]+3+siirtox)/2.54, (y[17]+siirtoy)/2.54, "open"); x[22]=x[22]+2*(x[0]-x[22]); x[24]=x[24]+2*(x[0]-x[24]); x[23]=x[23]+2*(x[0]-x[23]); x[25]=x[25]+2*(x[0]-x[25]); x[32]=x[32]+2*(x[0]-x[32]); x[29]=x[29]+2*(x[0]-x[29]); x[9]=x[9]+2*(x[0]-x[9]); x[10]=x[10]+2*(x[0]-x[10]); x[37]=x[37]+2*(x[0]-x[37]); rotate(24,22,-ang); rotate(23,22,-ang); rotate(25,22,-ang); rotate(32,22,-ang); rotate(29,22,-ang); rotate(10,22,-ang); rotate(17,22,-ang); rotate(37,22,-ang); addpoint((x[10]+siirtox)/2.54, (y[10]+siirtoy)/2.54, "line"); addpoint((x[29]+siirtox)/2.54, (y[29]+siirtoy)/2.54, "line"); addpoint((x[32]+siirtox)/2.54, (y[32]+siirtoy)/2.54, "xarc_start"); addpoint((x[25]+siirtox)/2.54, (y[25]+siirtoy)/2.54, "xarc_corner"); addpoint((x[23]+siirtox)/2.54, (y[23]+siirtoy)/2.54, "line"); addpoint((x[24]+siirtox)/2.54, (y[24]+siirtoy)/2.54, "line"); addpoint((x[22]+siirtox)/2.54, (y[22]+siirtoy)/2.54, "line"); group_obj[46]=current_object; if (language == 0) { current_object=newobject("text","Sleeve Back",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[25]+siirtox)/2.54, (y[25]+siirtoy)/2.54, "LINE"); group_obj[100]=current_object; if(sv>0) { offset_mark(46); select(current_selection,group_obj[96]); select(current_selection,group_obj[121]); select(current_selection,group_obj[122]); select(current_selection,group_obj[100]); if(model==5) { select(current_selection,group_obj[130]); select(current_selection,group_obj[131]); select(current_selection,group_obj[132]); } group(current_selection); deselect(current_selection); } else { mark(46); current_selection=newselection("OBJECT"); select(current_selection,group_obj[96]); select(current_selection,group_obj[46]); select(current_selection,group_obj[121]); select(current_selection,group_obj[122]); select(current_selection,group_obj[100]); if(model==5) { select(current_selection,group_obj[130]); select(current_selection,group_obj[131]); select(current_selection,group_obj[132]); } group(current_selection); deselect(current_selection); } if(model==4) { cont(24,23,92,-5); x[94]=x[29]; y[94]=y[91]; center(92,94,96); y[96]=y[91]; rotate(32,29,1/dist(29,94)); rotate(25,29,1/dist(29,94)); rotate(23,29,1/dist(29,94)); rotate(92,29,1/dist(29,94)); rotate(96,29,1/dist(29,94)); rotate(94,29,1/dist(29,94)); siirtoy=hupunkorkeus; current_object=newobject("poly"); addpoint((x[17]+siirtox)/2.54, (y[17]+siirtoy)/2.54, "line"); addpoint((x[10]+siirtox)/2.54, (y[10]+siirtoy)/2.54, "line"); addpoint((x[29]+siirtox)/2.54, (y[29]+siirtoy)/2.54, "line"); addpoint((x[32]+siirtox)/2.54, (y[32]+siirtoy)/2.54, "xarc_start"); addpoint((x[25]+siirtox)/2.54, (y[25]+siirtoy)/2.54, "xarc_corner"); addpoint((x[23]+siirtox)/2.54, (y[23]+siirtoy)/2.54, "line"); addpoint((x[92]+siirtox)/2.54, (y[92]+siirtoy)/2.54, "xarc_start"); addpoint((x[96]+siirtox)/2.54, (y[96]+siirtoy)/2.54, "xarc_corner"); addpoint((x[94]+siirtox)/2.54, (y[94]+siirtoy)/2.54, "line"); addpoint((x[91]+siirtox)/2.54, (y[91]+siirtoy)/2.54, "open"); group_obj[44]=current_object; current_object=newobject("poly"); addpoint((x[0]+siirtox)/2.54, (y[0]+siirtoy)/2.54, "line"); addpoint((x[91]+siirtox)/2.54, (y[91]+siirtoy)/2.54, "open"); group_obj[45]=current_object; if(sv>0) { offset_mark(44); select(current_selection,group_obj[45]); // select(current_selection,group_obj[115]); 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]); // select(current_selection,group_obj[115]); group(current_selection); deselect(current_selection); } rotate(32,29,-1/dist(29,94)); rotate(25,29,-1/dist(29,94)); rotate(23,29,-1/dist(29,94)); rotate(92,29,-1/dist(29,94)); rotate(96,29,-1/dist(29,94)); rotate(94,29,-1/dist(29,94)); } rotate(24,22,ang); rotate(23,22,ang); rotate(25,22,ang); rotate(32,22,ang); rotate(29,22,ang); rotate(10,22,ang); rotate(17,22,ang); rotate(37,22,ang); } siirtox=0; siirtoy=6; kauluspituus=kaula_etu+kaula_taka; coord(0,40,0,4); coord(40,41,0,kauluskorkeus); coord(40,42,kauluspituus,0); if(collar==0) { y[42]=y[42]+2; } coord(42,43,0,kauluskorkeus); if(collar==0) { x[43]=x[43]-2; } coord(40,44,kaula_taka,0); coord(44,45,0,kauluskorkeus); center(40,44,46); center(41,45,47); center(44,42,48); center(45,43,49); if(collar==1) { ang=1/kauluskorkeus; rotate(47,46,-ang); rotate(44,46,-ang); rotate(45,46,-ang); rotate(48,46,-ang); rotate(49,46,-ang); rotate(42,46,-ang); rotate(43,46,-ang); rotate(45,44,-ang); rotate(48,44,-ang); rotate(49,44,-ang); rotate(42,44,-ang); rotate(43,44,-ang); rotate(49,48,-ang); rotate(42,48,-ang); rotate(43,48,-ang); y[45]=y[41]; cont(42,43,50,-2); cont(49,43,51,-2); } if(collar==0) { current_object=newobject("poly"); addpoint((x[41]+siirtox)/2.54, (y[41]+siirtoy)/2.54, "line"); addpoint((x[45]+siirtox)/2.54, (y[45]+siirtoy)/2.54, "xarc_start"); addpoint((x[49]+siirtox)/2.54, (y[45]+siirtoy)/2.54, "xarc_corner"); addpoint((x[43]+siirtox)/2.54, (y[43]+siirtoy)/2.54, "line"); addpoint((x[42]+siirtox)/2.54, (y[42]+siirtoy)/2.54, "xarc_start"); addpoint((x[48]+siirtox)/2.54, (y[40]+siirtoy)/2.54, "xarc_corner"); current_point=addpoint((x[44]+siirtox)/2.54, (y[40]+siirtoy)/2.54, "line"); notch_type(current_point,"NOTCH",0); addpoint((x[40]+siirtox)/2.54, (y[40]+siirtoy)/2.54, "open"); group_obj[48]=current_object; } if(collar==1) { current_object=newobject("poly"); addpoint((x[41]+siirtox)/2.54, (y[41]+siirtoy)/2.54, "line"); addpoint((x[47]+siirtox)/2.54, (y[47]+siirtoy)/2.54, "xarc_start"); addpoint((x[45]+siirtox)/2.54, (y[45]+siirtoy)/2.54, "xarc_corner"); addpoint((x[49]+siirtox)/2.54, (y[49]+siirtoy)/2.54, "line"); addpoint((x[51]+siirtox)/2.54, (y[51]+siirtoy)/2.54, "xarc_start"); addpoint((x[43]+siirtox)/2.54, (y[43]+siirtoy)/2.54, "xarc_corner"); addpoint((x[50]+siirtox)/2.54, (y[50]+siirtoy)/2.54, "line"); addpoint((x[42]+siirtox)/2.54, (y[42]+siirtoy)/2.54, "line"); addpoint((x[48]+siirtox)/2.54, (y[48]+siirtoy)/2.54, "line"); current_point=addpoint((x[44]+siirtox)/2.54, (y[44]+siirtoy)/2.54, "line"); notch_type(current_point,"NOTCH",0); addpoint((x[46]+siirtox)/2.54, (y[46]+siirtoy)/2.54, "line"); addpoint((x[40]+siirtox)/2.54, (y[40]+siirtoy)/2.54, "open"); group_obj[48]=current_object; } if((collar==0)||(collar==1)) { if (language == 0) { current_object=newobject("text","Collar Cut 2 on fold",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[41]+.2+siirtox)/2.54, (y[41]-1+siirtoy)/2.54, "LINE"); group_obj[102]=current_object; current_object=newobj_dot((x[41]+siirtox)/2.54, (y[41]+siirtoy)/2.54); addpoint((x[40]+siirtox)/2.54, (y[40]+siirtoy)/2.54, "open"); group_obj[49]=current_object; if (language == 0) { current_object=newobject("text","CB4",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[41]+.2+siirtox)/2.54, (y[41]-2+siirtoy)/2.54, "LINE"); group_obj[103]=current_object; if(sv>0) { offset_mark(48); select(current_selection,group_obj[102]); select(current_selection,group_obj[49]); select(current_selection,group_obj[103]); group(current_selection); deselect(current_selection); } else { mark(48); current_selection=newselection("OBJECT"); select(current_selection,group_obj[48]); select(current_selection,group_obj[102]); select(current_selection,group_obj[49]); select(current_selection,group_obj[103]); group(current_selection); deselect(current_selection); } } coord(0,70,-6,0); coord(70,71,-kaula_etu-kaula_taka+1,0); coord(71,72,-4,hupunkorkeus); coord(70,73,0,hupunkorkeus); coord(71,74,0,6); center(70,74,75); center(74,75,76); center(75,70,77); coord(72,78,-1.5,-dist(71,72)/4); coord(70,79,0,dist(70,73)/3-1); coord(79,80,-dist(72,73)/8-1.5,0); coord(80,81,0,+dist(72,73)/8+1.5); coord(73,82,-dist(72,73)/8-1.5,-0.5); center(72,73,83); y[77]=y[70]; y[76]=y[74]; x[84]=x[82]-5; y[84]=y[79]-5; cont(83,82,85,-5); if(hood==1) { siirtox=-25; siirtoy=0; current_object=newobject("poly"); addpoint((x[70]+siirtox)/2.54, (y[70]+siirtoy)/2.54, "xarc_start"); addpoint((x[77]+siirtox)/2.54, (y[77]+siirtoy)/2.54, "xarc_corner"); current_point=addpoint((x[75]+siirtox)/2.54, (y[75]+siirtoy)/2.54, "xarc_start"); notch_type(current_point,"NOTCH",0); addpoint((x[76]+siirtox)/2.54, (y[76]+siirtoy)/2.54, "xarc_corner"); addpoint((x[74]+siirtox)/2.54, (y[74]+siirtoy)/2.54, "line"); addpoint((x[78]+siirtox)/2.54, (y[78]+siirtoy)/2.54, "xarc_start"); addpoint((x[72]+siirtox)/2.54, (y[72]+siirtoy)/2.54, "xarc_corner"); addpoint((x[83]+siirtox)/2.54, (y[83]+siirtoy)/2.54, "line"); addpoint((x[73]+siirtox)/2.54, (y[82]+siirtoy)/2.54, "line"); group_obj[50]=current_object; if (language == 0) { current_object=newobject("text","Hood Cut 4",-1.570796,0.2,0.2,"SIMP.CHR"); } addpoint((x[73]-1+siirtox)/2.54, (y[82]-1+siirtoy)/2.54, "LINE"); group_obj[104]=current_object; if(sv>0) { offset_mark(50); select(current_selection,group_obj[104]); group(current_selection); deselect(current_selection); } else { mark(50); current_selection=newselection("OBJECT"); select(current_selection,group_obj[50]); select(current_selection,group_obj[104]); group(current_selection); deselect(current_selection); } siirtox=0; } if(hood==2) { siirtox=siirtox-5; current_object=newobject("poly"); addpoint((x[70]+8+siirtox)/2.54, (y[70]+siirtoy)/2.54, "line"); addpoint((x[70]+siirtox)/2.54, (y[70]+siirtoy)/2.54, "xarc_start"); addpoint((x[77]+siirtox)/2.54, (y[77]+siirtoy)/2.54, "xarc_corner"); current_point=addpoint((x[75]+siirtox)/2.54, (y[75]+siirtoy)/2.54, "xarc_start"); addpoint((x[76]+siirtox)/2.54, (y[76]+siirtoy)/2.54, "xarc_corner"); addpoint((x[74]+siirtox)/2.54, (y[74]+siirtoy)/2.54, "line"); addpoint((x[78]+siirtox)/2.54, (y[78]+siirtoy)/2.54, "xarc_start"); addpoint((x[72]+siirtox)/2.54, (y[72]+siirtoy)/2.54, "xarc_corner"); addpoint((x[83]+siirtox)/2.54, (y[83]+siirtoy)/2.54, "line"); addpoint((x[82]+siirtox)/2.54, (y[82]+siirtoy)/2.54, "line"); addpoint((x[81]+siirtox)/2.54, (y[81]+siirtoy)/2.54, "xarc_start"); addpoint((x[80]+siirtox)/2.54, (y[80]+siirtoy)/2.54, "xarc_corner"); addpoint((x[79]+siirtox)/2.54, (y[79]+siirtoy)/2.54, "line"); addpoint((x[79]+8+siirtox)/2.54, (y[79]+siirtoy)/2.54, "line"); group_obj[53]=current_object; if (language == 0) { current_object=newobject("text","Hood cut 4",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[70]+.2+siirtox)/2.54, (y[70]+2+siirtoy)/2.54, "LINE"); group_obj[107]=current_object; current_object=newobj_dot((x[70]+siirtox)/2.54, (y[70]+siirtoy)/2.54); addpoint((x[79]+siirtox)/2.54, (y[79]+siirtoy)/2.54, "open"); group_obj[54]=current_object; if (language == 0) { current_object=newobject("text","CF5",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[70]+.2+siirtox)/2.54, (y[70]+.2+siirtoy)/2.54, "LINE"); group_obj[108]=current_object; if(sv>0) { offset_mark(53); select(current_selection,group_obj[107]); select(current_selection,group_obj[54]); select(current_selection,group_obj[108]); group(current_selection); deselect(current_selection); } else { mark(53); current_selection=newselection("OBJECT"); select(current_selection,group_obj[53]); select(current_selection,group_obj[107]); select(current_selection,group_obj[54]); select(current_selection,group_obj[108]); group(current_selection); deselect(current_selection); } siirtox=0; siirtoy=0; } coord(18,60,0,0); coord(60,61,-suoj_lev,0); coord(4,62,0,5); coord(62,63,-suoj_lev,0); coord(60,64,-suoj_lev/2,0); coord(61,65,3,0); coord(61,66,0,-3); coord(63,67,0,3); coord(63,68,3,0); coord(62,69,-suoj_lev/2,0); coord(18,138,suoj_lev/2,0); coord(4,139,suoj_lev/2,5); siirtox=-6; siirtoy=0; if((model==3)||(model==4)) { current_object=newobject("poly"); addpoint((x[60]+siirtox)/2.54, (y[60]+siirtoy)/2.54, "line"); 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[61]+siirtox)/2.54, (y[61]+siirtoy)/2.54, "xarc_corner"); addpoint((x[66]+siirtox)/2.54, (y[66]+siirtoy)/2.54, "line"); addpoint((x[67]+siirtox)/2.54, (y[67]+siirtoy)/2.54, "xarc_start"); addpoint((x[63]+siirtox)/2.54, (y[63]+siirtoy)/2.54, "xarc_corner"); addpoint((x[68]+siirtox)/2.54, (y[68]+siirtoy)/2.54, "line"); addpoint((x[69]+siirtox)/2.54, (y[69]+siirtoy)/2.54, "line"); addpoint((x[62]+siirtox)/2.54, (y[62]+siirtoy)/2.54, "open"); group_obj[58]=current_object; if (language == 0) { current_object=newobject("text","Zipper cover Cut 2",-1.570796,0.2,0.2,"SIMP.CHR"); } addpoint((x[60]-1+siirtox)/2.54, (y[60]-.2+siirtoy)/2.54, "LINE"); group_obj[112]=current_object; current_object=newobj_dot((x[60]+siirtox)/2.54, (y[60]+siirtoy)/2.54); addpoint((x[62]+siirtox)/2.54, (y[62]+siirtoy)/2.54, "open"); group_obj[59]=current_object; current_object=newobject("poly"); addpoint((x[64]+siirtox)/2.54, (y[64]+siirtoy)/2.54, "line"); addpoint((x[69]+siirtox)/2.54, (y[3]+siirtoy)/2.54, "open"); group_obj[60]=current_object; if (language == 0) { current_object=newobject("text","CF6",0.0,0.2,0.2,"SIMP.CHR"); } addpoint((x[64]+0.2+siirtox)/2.54, (y[64]-1+siirtoy)/2.54, "LINE"); group_obj[113]=current_object; siirtox=0; siirtoy=0; if(sv>0) { offset_mark(58); select(current_selection,group_obj[112]); select(current_selection,group_obj[59]); select(current_selection,group_obj[60]); select(current_selection,group_obj[113]); group(current_selection); deselect(current_selection); } else { mark(58); current_selection=newselection("OBJECT"); select(current_selection,group_obj[58]); select(current_selection,group_obj[112]); select(current_selection,group_obj[59]); select(current_selection,group_obj[60]); select(current_selection,group_obj[113]); 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 == 4) { index = index + 1; } } if (index == 8) { done=1; } } Backward() { if (index == 4) { if (model == 4) { index = index - 1; } } index = index - 1; } dialog_model() { if (language == 0) { start_pict_dialog("MODEL"); add_pict_item("T-shirt","OJ_t-shirt_jewel.jpg"); add_pict_item("Pullover with collar","OJ_shirt.jpg"); add_pict_item("Sweatshirt","OJ_sweatshirt.jpg"); add_pict_item("Sport jacket","OJ_sport_jkt.jpg"); add_pict_item("Raglan sleeve jacket","OJ_raglan_jkt.jpg"); add_pict_item("Anorak","OJ_anorak.jpg"); run_pict("Next"); model=get_pict_result(); Forward(); } } 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_ease() { if (language == 0) { start_pict_dialog("GARMENT EASE"); add_pict_item("SweatShirt, 16cm (6 1/2 in)"," "); add_pict_item("Overgarment, 18cm (7 1/8 in)"," "); add_pict_item("Overgarment wide, 22cm (8 3/4 in)"," "); if (run_pict("Back","Next")) { ease=get_pict_result(); Forward(); } else { ease=0; Backward(); } } } 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_sleeve_model() { if (language == 0) { start_pict_dialog("SLEEVE MODEL"); add_pict_item("Normal","sleeve_normal.bmp"); add_pict_item("Raglan","sleeve_raglan.bmp"); if (run_pict("Back","Next")) { sleeve_model=get_pict_result(); Forward(); } else { sleeve_model=0; Backward(); } } } dialog_neck_opening() { if (language == 0) { start_pict_dialog("SIZE OF NECK OPENING"); add_pict_item("Normal","neck_normal.bmp"); add_pict_item("Large","neck_large.bmp"); if (run_pict("Back","Next")) { neck_opening=get_pict_result(); Forward(); } else { neck_opening=0; Backward(); } } } dialog_collar() { if (language == 0) { start_pict_dialog("COLLAR STYLE"); add_pict_item("Standing collar","collar_standing.bmp"); add_pict_item("Convertible Collar","collar_convertible.bmp"); add_pict_item("No Collar","collar_none.bmp"); if (run_pict("Back","Next")) { collar=get_pict_result(); Forward(); } else { collar=0; Backward(); } } } dialog_hood() { if (language == 0) { start_pict_dialog("HOOD MODEL"); add_pict_item("No hood","OJ_hood_none.jpg"); add_pict_item("Straight Hood","OJ_hood_straight.jpg"); add_pict_item("Curved Hood","OJ_hood_curved.jpg"); if (run_pict("Back","Next")) { hood=get_pict_result(); Forward(); } else { hood=0; Backward(); } } } newobj_dot(double x, double y) { object temp; line("CENTER_LINE"); temp = newobject("poly"); addpoint(x, y, "line"); line("SOLID_LINE"); return temp; } 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(); } arc_through_point(double start, double end, double pass_through, double corner) { double root2, temp; root2=-sqrt(2)/2; temp=x[start]*(root2+1)+x[end]*(root2+1)-x[pass_through]; x[corner] =(temp/(root2+root2+1)); temp=y[start]*(root2+1)+y[end]*(root2+1)-y[pass_through]; y[corner] =(temp/(root2+root2+1)); } 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 cvdistanceance) { double ang; ang=angle(x[cstart], y[cstart], x[cend], y[cend]); polar(x[cend], y[cend], ang, cvdistanceance); x[cdest]=getresultx(); y[cdest]=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_mark2(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(); current_point=last_point(current_object); save_x = pointx(current_point); save_y = pointy(current_point); if (is_open(current_point)) { remove_point(current_object, current_point); addpoint(save_x, save_y, "LINE"); } current_point=first_point(current_object); addpoint(save_x, pointy(current_point), "LINE"); 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; } 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(); current_point=last_point(current_object); if (is_open(current_point)) { save_x = pointx(current_point); save_y = pointy(current_point); remove_point(current_object, current_point); addpoint(save_x, save_y, "LINE"); } 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; } 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(); } 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); } } } double xar[13], yar[13]; double save_rx, save_ry; arclength(double start, double corner, double end) { double ct, last_x, last_y; double a_dist; last_x = x[start]; last_y = y[start]; a_dist=0; for (ct=1; ct < 12; ct = ct + 1) { fts(start, corner, end, ct); a_dist = a_dist + distance(save_rx, save_ry, last_x, last_y); last_x=save_rx; last_y=save_ry; } return a_dist; } double A1, A2, B1, B2; double sx, sy, cx, cy, ex, ey; double t0[2], t1[2]; double ftc[2]; fts(double start, double corner, double end, double pos) { if (pos<1) { save_rx=x[start]; save_ry=y[start]; } else { if (pos<2) { sx = x[start]; sy = y[start]; cx = x[corner]; cy = y[corner]; ex = x[end]; ey = y[end]; A1=cx - sx; A2=cy - sy; B1=cx - ex; B2=cy - ey; A1=-A1; B1=-B1; A2=-A2; B2=-B2; t0[0]=A1; t0[1]=B1; t1[0]=A2; t1[1]=B2; ftc[0]= cx + (t0[0] + t0[1]); ftc[1]= cy + (t1[0] + t1[1]); save_rx = t0[0]*(xar[pos])+t0[1]*(yar[pos])+ ftc[0]; save_ry = t1[0]*(xar[pos])+t1[1]*(yar[pos])+ ftc[1]; } else { if (pos>10) { save_rx=x[end]; save_ry=y[end]; } else { save_rx = t0[0]*(xar[pos])+t0[1]*(yar[pos])+ ftc[0]; save_ry = t1[0]*(xar[pos])+t1[1]*(yar[pos])+ ftc[1]; } } } } init_xarc_array() { double ang_start, ang_end, step, theta, ct; double XARC_PIECES; XARC_PIECES = 12; ang_start = -3.14159/2; ang_end= -3.14159; ct=0; step= (ang_end - ang_start)/(XARC_PIECES-1); for (theta=ang_start; ct < XARC_PIECES; theta = theta + step) { xar[ct] = cos(theta); yar[ct] = sin(theta); ct=ct+1; } } max(double aa, double bb) { if (aa > bb) { return aa; } else { return bb; } } min(double aa, double bb) { if (aa < bb) { return aa; } else { return bb; } }