procedure ddd; var count:integer; x,y,clip,clip1,clip_d,yoko,oku,haba,dtype,sep,nokori:integer; face,ashi:integer; h,h1,h2,h3:handle; cc,dd,ii:string; procedure inp; begin getorigin(x,y); setorigin(-x,-y); clip1:=IntDialog('クリップ数(高さ)最初が1クリップ','10') ; yoko:=IntDialog('横スパン','3') ; oku:=IntDialog('奥スパン','3') ; dtype:=IntDialog('サイズ 1:6feet 2:7feet 3:9feet 4:4feet 5:3feet','1') ; face:=IntDialog('フェスベイ  1:あり 2:なし ','1') ; ashi:=IntDialog('ジャッキベースの高さ','100') ; if dtype=1 then dtype:=1835 else if dtype=2 then dtype:=2135 else if dtype=3 then dtype:=2735 else if dtype=4 then dtype:=1225 else dtype:=935; setpref(1,true); clip:=clip1-2; sep:=3; clip_d:=clip DIV sep; nokori:=clip1-1-clip_d*3; end; procedure maketop;{上から見た面} begin DoMenutext('上'); Arc(-60,60,60,-60, #0, #360); rect(-25,25,25,-25); for count :=1 to yoko do duplicate(-dtype,0); SelectAll; group; for count :=1 to oku do duplicate(0,dtype); selectall; group; DoMenutext('3D多角形に変換'); DoMenutext('カット'); rect(-25,25,-dtype+25,-25); for count :=2 to yoko do duplicate(-dtype,0); SelectAll; group; for count :=1 to oku do duplicate(0,dtype); selectall; group; DoMenutext('3D多角形に変換'); DoMenutext('ペースト(同位置)'); selectall; group; DoMenutext('カット'); rect(-25,dtype-25,25,25); for count :=1 to yoko do duplicate(-dtype,0); SelectAll; group; for count :=2 to oku do duplicate(0,dtype); selectall; group; DoMenutext('3D多角形に変換'); DoMenutext('ペースト(同位置)'); selectall; group; DoMenutext('カット'); end; procedure fb_top; begin moveto(0,-935); relative; Arc(-60,60,60,-60, #0, #360); rect(-25,25,25,-25); for count :=1 to yoko do duplicate(-dtype,0); SelectAll; group; DoMenutext('3D多角形に変換'); DoMenutext('ペースト(同位置)'); selectall; group; DoMenutext('カット'); rect(-25,25,-dtype+25,-25); for count :=2 to yoko do duplicate(-dtype,0); SelectAll; group; DoMenutext('3D多角形に変換'); DoMenutext('ペースト(同位置)'); selectall; group; DoMenutext('カット'); rect(-25,935-25,25,25); for count :=1 to yoko do duplicate(-dtype,0); SelectAll; group; DoMenutext('3D多角形に変換'); DoMenutext('ペースト(同位置)'); selectall; group; DoMenutext('カット'); absolute; end; procedure makefr; begin DoMenutext('前'); rect(-25,500,25,0); for count :=1 to yoko do duplicate(-dtype,0); selectall; group; for count :=1 to clip do duplicate(0,500); selectall; group; DoMenutext('3D多角形に変換'); DoMenutext('ペースト(同位置)'); selectall; DoMenutext('カット'); rect(-25,25,-dtype+25,-25); for count :=2 to yoko do duplicate(-dtype,0); SelectAll; group; for count :=1 to clip_d do duplicate(0,1500); duplicate(0,500*nokori); selectall; group; DoMenutext('3D多角形に変換'); DoMenutext('ペースト(同位置)'); selectall; group; DoMenutext('カット'); end; procedure mkfrashi; begin DoMenutext('前'); rect(-25,-ashi,25,0); for count :=1 to yoko do duplicate(-dtype,0); selectall; group; DoMenutext('3D多角形に変換'); DoMenutext('ペースト(同位置)'); selectall; DoMenutext('カット'); end; procedure makergt; begin DoMenutext('右'); rect(-25,500,25,0); for count :=1 to oku do duplicate(dtype,0); selectall; group; for count :=1 to clip do duplicate(0,500); selectall; group; DoMenutext('3D多角形に変換'); DoMenutext('ペースト(同位置)'); selectall; DoMenutext('カット'); rect(-25,25,dtype-25,-25); for count :=2 to oku do duplicate(dtype,0); SelectAll; group; for count :=1 to clip_d do duplicate(0,1500); duplicate(0,500*nokori); selectall; group; DoMenutext('3D多角形に変換'); domenutext('ペースト(同位置)'); selectall; DoMenutext('カット'); end; procedure mkrgtashi; begin DoMenutext('右'); rect(-25,-ashi,25,0); for count :=1 to oku do duplicate(dtype,0); selectall; group; DoMenutext('3D多角形に変換'); DoMenutext('ペースト(同位置)'); end; procedure fb_side; begin selectall; DoMenutext('カット'); DoMenutext('右'); moveto(-935,0); relative; rect(-25,-ashi,25,0); DoMenutext('3D多角形に変換'); DoMenutext('ペースト(同位置)'); selectall; DoMenutext('カット'); rect(-25,500,25,0); for count :=1 to clip do duplicate(0,500); selectall; group; DoMenutext('3D多角形に変換'); DoMenutext('ペースト(同位置)'); selectall; DoMenutext('カット'); rect(-25,25,935-25,-25); for count :=1 to clip_d do duplicate(0,1500); duplicate(0,500*nokori); selectall; group; DoMenutext('3D多角形に変換'); domenutext('ペースト(同位置)'); absolute; end; begin{本体} inp; maketop; if face=1 then fb_top; makefr; mkfrashi; makergt; mkrgtashi; if face=1 then fb_side; DoMenutext('前'); DSelectAll; setpref(1,false); end; Run(ddd);