MCVSMcircles VectorScripts Ïj$9$zcirclesgZIn diesem Bereich bestimmen Sie, unter welchen Bedingungen das Objekt neu gezeichnet wird. Ë, Ë,D  ùùùùùùùùùùùùùùùùùùùùùùìììùùìììùùìììùùùùùùùùùùùùùùùùùùùùùùü@@@@C„C„C„@@@@üü@@@@C„C„C„@@@@ü¶hšhe4 PROCEDURE faltkarte; CONST pageWidth=210; pageHeight=297; pageFoldY=148.5; randabstand=30; width= 6; VAR objectX1,objectX2,objectY1,objectY2,objectY3:REAL; depth,height: REAL; nVolumes: INTEGER; i:INTEGER; makeRandomHeight:BOOLEAN; BEGIN {*werte in variablen speichern*} nVolumes:=14; makeRandomHeight:=true; {*din a4 blatt zeichnen*} penFore(0,0,65535); moveto(0,0); lineto(pageWidth,0); lineto(pageWidth,pageHeight); lineto(0,pageHeight); lineto(0,0); {*zum ersten papierfaltpunkt bewegen*} moveto(0,pageFoldY); IF (makerandomheight=true) THEN BEGIN height:=12; END ELSE BEGIN height:=44; END; {*in dieser Schleife werden die Volumes gezeichnet*} FOR i:=0 TO nVolumes-1 DO BEGIN {*links und rechts des Volumes berechnen*} objectX1:=i*width+randabstand; objectX2:=objectX1+width; {*Tiefe des Kšrpers berechnen, steigt von volume zu volume*} depth:=(-6+(14-i)*(-i/2))/2+50; {*Wenn gewŸnscht, dann hšhe zufŠllig berechnen*} {*yWerte fŸr die Linien berechnen*} objectY1:=pageFoldY - depth; objectY3:=pageFoldY + height; objectY2:=(objectY3)-depth; {*papier faltkanten zeichnen*} penFore(65535,0,0); lineTo(objectX1,pageFoldY); {*schnittkanten zeichnen*} penFore(0,0,65535); moveto(objectX1,objectY1); lineto(objectX1,objectY2); moveto(objectX2,objectY1); lineto(objectX2,objectY2); IF (i=0) THEN BEGIN moveto(objectX1,objectY1); lineto(objectX1,objectY3+12); END; IF (i=nVolumes-1) THEN BEGIN moveto(objectX2,objectY1); lineto(objectX2,pageFoldY); END; {*volumen faltkanten zeichnen*} penFore(65535,0,0); moveto(objectX1,objectY1); lineto(objectX2,objectY1); moveto(objectX1,objectY2); lineto(objectX2,objectY2); {*oberster faltstrich des volumens*} IF (i=0) THEN BEGIN moveto(objectX1,objectY3+12); lineto(96,objectY3+12); END; {*zum nŠchsten papierfaltpunkt bewegen*} moveto(objectX2,pageFoldY); END; BEGIN {*werte in variablen speichern*} nVolumes:=14; makeRandomHeight:=true; {*din a4 blatt zeichnen*} penFore(0,0,65535); moveto(0,0); lineto(pageWidth,0); lineto(pageWidth,pageHeight); lineto(0,pageHeight); lineto(0,0); {*zum ersten papierfaltpunkt bewegen*} moveto(0,pageFoldY); IF (makerandomheight=true) THEN BEGIN height:=12; END ELSE BEGIN height:=44; END; {*in dieser Schleife werden die Volumes gezeichnet*} FOR i:=0 TO nVolumes-1 DO BEGIN {*links und rechts des Volumes berechnen*} objectX1:=i*width+randabstand; objectX2:=objectX1+width; {*Tiefe des Kšrpers berechnen, steigt von volume zu volume*} depth:=(-3+(14-i)*(i/2))/2+70; {*Wenn gewŸnscht, dann hšhe zufŠllig berechnen*} {*yWerte fŸr die Linien berechnen*} objectY1:=pageFoldY - depth; objectY3:=pageFoldY + height; objectY2:=objectY3-depth; {*papier faltkanten zeichnen*} penFore(65535,0,0); lineTo(objectX1,pageFoldY); {*schnittkanten zeichnen*} penFore(0,0,65535); moveto(objectX1,objectY1); lineto(objectX1,objectY2); moveto(objectX2,objectY1); lineto(objectX2,objectY2); IF (i=0) THEN BEGIN moveto(objectX1,objectY1); lineto(objectX1,objectY3); END; IF (i=nVolumes-1) THEN BEGIN moveto(objectX2,objectY1); lineto(objectX2,pageFoldY); END; {*volumen faltkanten zeichnen*} penFore(65535,0,0); moveto(objectX1,objectY1); lineto(objectX2,objectY1); moveto(objectX1,objectY2); lineto(objectX2,objectY2); {*oberster faltstrich des volumens*} IF (i=0) THEN BEGIN moveto(objectX1,objectY3+12); lineto(96,objectY3+12); END; {*zum nŠchsten papierfaltpunkt bewegen*} moveto(objectX2,pageFoldY); END; END; BEGIN {*in dieser Schleife werden die Volumes gezeichnet*} FOR i:=0 TO nVolumes-1 DO BEGIN {*links und rechts des Volumes berechnen*} objectX1:=pageWidth-30-(nVolumes-i)*6; objectX2:=objectX1+width; {*Tiefe des Kšrpers berechnen, steigt von volume zu volume*} depth:=height; {*Wenn gewŸnscht, dann hšhe zufŠllig berechnen*} {*yWerte fŸr die Linien berechnen*} objectY1:=pageFoldY - height; objectY3:=pageFoldY + 6+(nVolumes-i-1)*(i/2)+60; objectY2:=pageFoldY + 6+(nVolumes-i-1)*(i/2)-height+60; {*papier faltkanten zeichnen*} penFore(65535,0,0); lineTo(objectX1,pageFoldY); {*schnittkanten zeichnen*} penFore(0,0,65535); moveto(objectX1,objectY2); lineto(objectX1,objectY3); moveto(objectX2,objectY2); lineto(objectX2,objectY3); IF (i=0) THEN BEGIN moveto(objectX1,pageFoldY); lineto(objectX1,objectY3); END; IF (i=nVolumes-1) THEN BEGIN moveto(objectX2,objectY1-12); lineto(objectX2,objectY3); END; {*volumen faltkanten zeichnen*} penFore(65535,0,0); moveto(objectX1,objectY3); lineto(objectX2,objectY3); moveto(objectX1,objectY2); lineto(objectX2,objectY2); {*unterster faltstrich des volumens*} IF (i=nVolumes-1) THEN BEGIN moveto(objectX2,objectY1-12); lineto(114,objectY1-12); END; {*zum nŠchsten papierfaltpunkt bewegen*} moveto(objectX2,pageFoldY); END; END; BEGIN {*in dieser Schleife werden die Volumes gezeichnet*} FOR i:=0 TO nVolumes-1 DO BEGIN {*links und rechts des Volumes berechnen*} objectX1:=pageWidth-30-(nVolumes-i)*6; objectX2:=objectX1+width; {*Tiefe des Kšrpers berechnen, steigt von volume zu volume*} depth:=height; {*Wenn gewŸnscht, dann hšhe zufŠllig berechnen*} {*yWerte fŸr die Linien berechnen*} objectY1:=pageFoldY - height; objectY3:=pageFoldY + 6+(nVolumes-i-1)*(-i/2)+40; objectY2:=pageFoldY + 6+(nVolumes-i-1)*(-i/2)-height+40; {*papier faltkanten zeichnen penFore(65535,0,0); lineTo(objectX1,pageFoldY);*} {*schnittkanten zeichnen*} penFore(0,0,65535); moveto(objectX1,objectY2); lineto(objectX1,objectY3); moveto(objectX2,objectY2); lineto(objectX2,objectY3); IF (i=0) THEN BEGIN moveto(objectX1,pageFoldY); lineto(objectX1,objectY3); END; IF (i=nVolumes-1) THEN BEGIN moveto(objectX2,objectY1-12); lineto(objectX2,objectY3); END; {*volumen faltkanten zeichnen*} penFore(65535,0,0); moveto(objectX1,objectY3); lineto(objectX2,objectY3); moveto(objectX1,objectY2); lineto(objectX2,objectY2); {*unterster faltstrich des volumens*} IF (i=nVolumes-1) THEN BEGIN moveto(objectX2,objectY1-12); lineto(114,objectY1-12); END; {*zum nŠchsten papierfaltpunkt bewegen moveto(objectX2,pageFoldY); lineto(pageWidth,pageFoldY);*} END; {*letzten papierfaltpunkt zeichen*} moveto(pageWidth-30,pageFoldY); lineTo(pageWidth,pageFoldY); END; END; RUN(faltkarte);hšhe y Ausrichtung