Exemple
MACRO "entities.mac"
!
! Liste des éléments du groupe
FOR I=1 TO NB_ELEM
! Lecture et test si l'élément fait partie du groupe
REQUEST I,#GROUP;Groupe
IF Groupe THEN
! Lecture du type de l'élément
REQUEST I,#CODE;C
SELECT C
! Décodage si ligne
CASE #LINE
REQUEST I,#X1;X1
REQUEST I,#Y1;Y1
REQUEST I,#X2;X2
REQUEST I,#Y2;Y2
PRINT USING Fmt_l;X1,Y1,X2,Y2
Fmt_l: IMAGE "LINE ",K,",",K,",",K,",",K
! Décodage si cercle
CASE #CIRCLE
REQUEST I,#X;X
REQUEST I,#Y;Y
REQUEST I,#R;R
PRINT USING Fmt_c;X,Y,R
Fmt_c: IMAGE "CIRCLE ",K,",",K,",",K
! Décodage si arc de cercle
CASE #ARC
REQUEST I,#A1;A1
REQUEST I,#A2;A2
REQUEST I,#X;X
REQUEST I,#Y;Y
REQUEST I,#R;R
PRINT USING Fmt_a;X,Y,R,A1,A2
Fmt_a: IMAGE "ARC ",K,",",K,",",K,",",K,",",K
! Décodage si point
CASE #POINT
REQUEST I,#X;X
REQUEST I,#Y;Y
REQUEST I,#Z;Z
PRINT USING Fmt_p;X,Y,Z
Fmt_p: IMAGE "POINT ",K,",",K,",",K
END SELECT
END IF
NEXT I
END
END MACRO

ARC -21.38848732702,22.50352346326,-20.18012865231,313.5447664556,273.2260928536
LINE -20.25282646561,2.355375488031,-62.4999760984,-0.0259071193323
ARC -62.2815797789,-3.900550960722,3.880793971598,93.22609285358,183.2991537099
LINE -66.15594198164,-4.123887863095,-65.30307569351,-18.91908236809
ARC -64.68317774107,-18.88334846371,0.620927035456,183.2991537099,324.195086519
LINE -64.17959743834,-19.24660768529,-55.20810122196,-6.80956958071
ARC -52.06072432989,-9.079939715569,-3.880793971598,144.195086519,89.91274563007
LINE -52.05481436401,-5.199150244044,-17.77704702513,-5.251351075052
ARC -17.8077788477,-25.43145632698,-20.18012865231,89.91274563007,54.99927221917
ARC 0,0,10.86622312048,234.9992722192,133.5447664556
CIRCLE 0,0,8.561363876946
CIRCLE 0,0,1.499042473316
|