// Adv. Fab32 V2.1 3/19/92 Macro File // e:\sm6\afdata\sq_rnd.mcl // CREATED: 03/20/1992 // // #BASEEL=1000000 #END=1000000 #END=TOTEL() IF (#SPCTYPE=0) #SP=1 ENDIF IF (#SPCTYPE=1) #SP=0 ENDIF // test, can not make arc and square at same level IF(#ARCZCEN=#ZSQCEN) PAUSE[TX=" ERROR: Z Values can not be the same. ", SR=2, SC=40, PT=0] GOTO(EXIT) // quit the macro ENDIF // force insert position to end of file, makes grouping easy ELMT_SEQ[BA=1, EL=#END, ME=0] ON_LAYER[LY=#sq_lay, PT=?] // make 4 arcs, split to match square sections ARC[DR=1, XC=#arcxcen, YC=#arcycen, RA=#arcrad, AS=225, AE=315, SE=2, SS=2, SI=2, SC=2, LV=#arczcen] ARC[DR=1, XC=#arcxcen, YC=#arcycen, RA=#arcrad, AS=315, AE=45, SE=2, SS=2, SI=2, SC=2, LV=#arczcen] ARC[DR=1, XC=#arcxcen, YC=#arcycen, RA=#arcrad, AS=45, AE=135, SE=2, SS=2, SI=2, SC=2, LV=#arczcen] ARC[DR=1, XC=#arcxcen, YC=#arcycen, RA=#arcrad, AS=135, AE=225, SE=2, SS=2, SI=2, SC=2, LV=#arczcen] // make 4 square sections START_PROF[XE=#xsqcen-(#length/2), YE=#ysqcen-(#width/2), LV=#zsqcen] LINE_PROF[XE=#xsqcen+(#length/2), YE=#ysqcen-(#width/2), ZE=#zsqcen, SE=2, SS=2, SP=2] LINE_PROF[ZE=#zsqcen, AN=90, DS=#width, SE=2, SS=2, SP=2] LINE_PROF[ZE=#zsqcen, AN=180, DS=#length, SE=2, SS=2, SP=2] LINE_PROF[ZE=#zsqcen, AN=270, DS=#width, SE=2, SS=2, SP=2] // GET_VIEW[VN="ISO"] FULL[] #ELV12=#EL // make ruled matched to each arc-line section FABRULE[E1=(#ELV12-7), E2=(#ELV12-7), E3=(#ELV12-3), E4=(#ELV12-3), PD=0, SP=#SP, SV=#SQFACE,ZT=0, DI=0, DV=0.1, GC=0, OF=0, OA=0, CM=1] FABRULE[E1=(#ELV12-6), E2=(#ELV12-6), E3=(#ELV12-2), E4=(#ELV12-2), PD=0, SP=#SP, SV=#SQFACE,ZT=0, DI=0, DV=0.1, GC=0, OF=0, OA=0, CM=1] FABRULE[E1=(#ELV12-5), E2=(#ELV12-5), E3=(#ELV12-1), E4=(#ELV12-1), PD=0, SP=#SP, SV=#SQFACE,ZT=0, DI=0, DV=0.1, GC=0, OF=0, OA=0, CM=1] FABRULE[E1=(#ELV12-4), E2=(#ELV12-4), E3=#ELV12, E4=#ELV12, PD=0, SP=#SP, SV=#SQFACE,ZT=0, DI=0, DV=0.1, GC=0, OF=0, OA=0, CM=1] // group for undo, with-out unfold #BASEEL=TOTEL() RANGE_GRP[E1=(#END+1),E2=#BASEEL,AR=0] // // test for unfolding IF(#SQFOLD=1) NEW_GRP[] // regroup for unfold RANGE_GRP[E1=(#END+9),E2=#BASEEL,AR=0] UNFOLD[BE=(#BASEEL-2), BS=0, ML=0, CP=1, AM=0, IR=0, KF=0, HC=0, MT=0, AD=0] NEW_GRP[] // regroup for undo, after unfold RANGE_GRP[E1=(TOTEL()),E2=(#ELV12-7),AR=0] ENDIF // // set-up undo GRP_DELETE[] UNDO[] @EXIT