MCVSM faltobjekt VectorScripts ˆK faltobjektgZIn diesem Bereich bestimmen Sie, unter welchen Bedingungen das Objekt neu gezeichnet wird.ÿÿÿÿÿÿ  þ@EèÓt» ‹ Ð •J « ”/P ´€ ùùùùùùùùùùùùùùùùùùùùùùìììùùìììùùìììùùùùùùùùùùùùùùùùùùùùùùü@@@@C„C„C„@@@@üü@@@@C„C„C„@@@@ü¾ × ð pageWidth276.2 pageHeight197.2objektA110PROCEDURE faltkarte; {*CAD Uebung Vectorscript, BaTeamIN*} {*Konzept Sanduhr ( vereinfacht ) : 2 Volumen, eine Aussen und andere Innen. Aussere Volumen als Box. Innere Volumen ist am kleinsten in der Mitte *} VAR pageWidth: REAL; pageHeight: REAL; pageFold: REAL; distance: REAL; {*zur Kante*} objectA1: INTEGER; {*objanzahl( wenn ungerade Zahl, wird kleine Streifen in der Mitte in 2 geteilt) *} objectB1: REAL; {*breite kleine Streifen fŸrs innere*} height: REAL; PROCEDURE streifen; VAR i:INTEGER; BEGIN FOR i:=1 TO objectA1 DO BEGIN; {*Aeusserestreifen*} {*Reihe auf der horizontalen Linie nach Distance und objectB1*} moveto(distance+((i-1)*(3*objectB1)),height); lineto(distance+((i-1)*(3*objectB1)),3*height); moveto(distance+(2*objectB1)+((i-1)*(3*objectB1)),height); lineto(distance+(2*objectB1)+((i-1)*(3*objectB1)),3*height); END; END; PROCEDURE streifeninner; VAR i:INTEGER; BEGIN FOR i:=1 TO objectA1/2 DO BEGIN; {*von Links nach Rechst wird es kleiner*} {*innerestreifen*} moveto(distance+objectB1+((i-1)*(3*objectB1)),height+(i*objectB1)); lineto(distance+objectB1+((i-1)*(3*objectB1)),3*height-(i*objectB1)); {*von Rechts nach Links wird es kleiner*} moveto(pageWidth-distance-objectB1-((i-1)*(3*objectB1)),height+(i*objectB1)); lineto(pageWidth-distance-objectB1-((i-1)*(3*objectB1)),3*height-(i*objectB1)); END; END; PROCEDURE faltkanten; VAR i:INTEGER; BEGIN FOR i:=1 TO objectA1/2 DO BEGIN {*von Links nach Rechst kleiner*} moveto(distance+objectB1+((i-1)*(3*objectB1)),height+(i*objectB1)); lineto(distance+(2*objectB1)+((i-1)*(3*objectB1)),height+(i*objectB1)); moveto(distance+objectB1+((i-1)*(3*objectB1)),3*height-(i*objectB1)); lineto(distance+(2*objectB1)+((i-1)*(3*objectB1)),3*height-(i*objectB1)); {*von Rechts nach Links kleiner*} moveto(pageWidth-distance-objectB1-((i-1)*(3*objectB1)),height+(i*objectB1)); lineto(pageWidth-distance-(2*objectB1)-((i-1)*(3*objectB1)),height+(i*objectB1)); moveto(pageWidth-distance-objectB1-((i-1)*(3*objectB1)),3*height-(i*objectB1)); lineto(pageWidth-distance-(2*objectB1)-((i-1)*(3*objectB1)),3*height-(i*objectB1)); END; END; PROCEDURE faltkanten2; VAR i:INTEGER; BEGIN FOR i:=1 TO objectA1 DO BEGIN moveto(distance+((i-1)*(3*objectB1)),height); lineto(distance+(2*objectB1)+((i-1)*(3*objectB1)),height); moveto(distance+((i-1)*(3*objectB1)),3*height); lineto(distance+(2*objectB1)+((i-1)*(3*objectB1)),3*height); END; END; BEGIN pageWidth:=ppageWidth; {*A4 Horizontal. Gedacht fŸr A4. Breite muss kleiner als 890mm *} pageHeight:=ppageHeight; pageFold:= pageHeight/2; distance:=pageHeight/8; objectA1:=pobjektA1; objectB1:=(pageWidth-(2*distance)) /((objectA1*3)-1); height:=(pageHeight/4); penPat(2); penFore(0,0,55555); {*A4 horizontal*} moveto(0,0); lineto(pageWidth,0); lineto(pageWidth,pageHeight); lineto(0,pageHeight); lineto(0,0); streifen; streifeninner; penFore(55555,0,0); penPat(-2); faltkanten; faltkanten2; moveto(0,pageFold); lineto(PageWidth,pageFold); END; RUN(faltkarte); pageWidth pageHeightobjektA1