Navigation:  Macro > Exemples >

EXEMPLE MACRO17

AiM Services
Previous pageReturn to chapter overviewNext page

Points

Cette macro génère une suite de points entre deux positions spécifiées.
 

Exemple

 MACRO "ponts.mac"
 !
   LOOP
 ! Entrée de la position du premier point
     CALL Getpoint("Point de départ ?",Xd,Yd)
 ! Entrée de la position du dernier point
     CALL Getpoint("Point d'arrivée ?",Xa,Ya)
 ! Entrée du nombre de points
 Inp: INPUT NUMBER "Nombre de points ?";Nb_point
     Nb=Nb_point-1
 ! Test si le nombre de points est valide
     IF Nb<=0 THEN
       ERROR "LE NOMBRE DE POINTS EST TROP PETIT"
       GOTO Inp
     END IF
 ! Calcul de l'espace entre les points
     Deltax=(Xa-Xd)/Nb
     Deltay=(Ya-Yd)/Nb
 ! Génération du premier point
     POINT Xd,Yd
     N=NB_ELEM
 ! Génération de la suite de points
     TRANSFORM ELEM N COPY Nb MOVE Deltax,Deltay
   END LOOP
   END
 ! Entrée de la position d'un point
   SUB Getpoint(Text$,X,Y)
     DISP Text$
     DIGITIZE X,Y
   SUBEND
   END MACRO