Navigation:  Macro > Exemples >

EXEMPLE MACRO05

AiM Services
Previous pageReturn to chapter overviewNext page

Liste entités

Cette macro liste tous les éléments faisant partie du groupe dans un format compilable par l'ordre COMPILE MACRO. Dans cet exemple seuls les éléments de type ligne, cercle, point et arc de cercle sont traités.
 

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