Navigation: Macro > Variables et constantes > Constantes des entités du dessin > #PATCH |
![]() ![]() ![]() ![]() |
#PATCH |
Valeur d'une entité de type carreau surfacique.
Codes définis pour un carreau surfacique
#CODE :Type de l'entité (= #PATCH).
REQUEST Num_elem,#CODE;C
IF C=#PATCH THEN GOTO C_surf
#LAYER :Couche de l'entité (valeur 0 à 255).
REQUEST Num_elem,#LAYER;Ly
MODIFY Num_elem,#LAYER;Ly
#GROUP :Groupe de l'entité (valeur 0 ou 1).
REQUEST Num_elem,#GROUP;Gr
MODIFY Num_elem,#GROUP;Gr
#PEN :Numéro de la plume de l'entité (valeur 1 à 8).
REQUEST Num_elem,#PEN;Pn
MODIFY Num_elem,#PEN;Pn
#LINET :Numéro du type de ligne de l'entité (0 à 255).
Se référer à l'instruction LINE TYPE pour la description
des types de ligne.
REQUEST Num_elem,#LINET;Lt
MODIFY Num_elem,#LINET;Lt
#COLOR :Numéro ou nom de la matière de l'entité.
Si le numéro de la matière est spécifié, elle doit
se trouver dans la liste des matières du dessin. Si
un nom de matière est spécifié, elle est ajoutée dans
la liste si nécessaire mais doit se trouver dans le
dossier des matières.
REQUEST Num_elem,#COLOR;Mat
MODIFY Num_elem,#COLOR;Mat
REQUEST Num_elem,#COLOR;Mat$
MODIFY Num_elem,#COLOR;"GOLD"
#VIEW :Visibilité de l'entité (0 à 255).
Si la valeur est nulle (0) l'entité est visible,
dans le cas contraire l'entité n'est pas visible à l'écran.
Certaines fonctions du logiciel utilisent temporairement les
valeurs de 2 à 7 (bits 1 et 2), il est donc nécessaire d'utiliser
ces valeurs avec précaution.
REQUEST Num_elem,#VIEW;V
MODIFY Num_elem,#VIEW;V
#NU :Degré du carreau en U (2 à 21)
Il n'est actuellement pas possible de modifier le degré d'un carreau
par l'instruction MODIFY. Si l'on désire modifier le degré d'un
carreau, il est nécessaire d'en créer un nouveau avec les instructions
START PATCH, PATCH POINT et END PATCH.
REQUEST Num_elem,#NU;Nu
#NV :Degré du carreau en V (2 à 21)
Il n'est actuellement pas possible de modifier le degré d'un carreau
par l'instruction MODIFY. Si l'on désire modifier le degré d'un
carreau, il est nécessaire d'en créer un nouveau avec les instructions
START PATCH, PATCH POINT et END PATCH.
REQUEST Num_elem,#NV;Nv
#CNT :Position du coefficient ou du pôle courant du carreau.
La position d'un coefficient ou d'un pôle se calcule selon la formule :
Num = Coef_v * NU + Coef_u.
REQUEST Num_elem,#NU;Nb_coefu
REQUEST Num_elem,#NV;Nb_coefv
FOR Num_coefv=1 TO Nb_coefv
FOR Num_coefu=1 TO Nb_coefu
MODIFY Num_elem,#CNT;Num_coefv*Nb_coefu+num_coefu
REQUEST Num_elem,#X;X
REQUEST Num_elem,#Y;Y
REQUEST Num_elem,#Z;Z
PRINT "(",Num_coefv,",",Num_coefu,")",X,Y,Z
NEXT Num_coefu
NEXT Num_coefv
#X :Valeur du coefficient référencé par #CNT sur l'axe X.
Si l'on demande ou modifie un coefficient en dehors du
degré en U ou en V du carreau le système retourne l'erreur 64.
REQUEST Num_elem,#CNT;Num_coef
REQUEST Num_elem,#X;X
MODIFY Num_elem,#X;X
#Y :Valeur du coefficient référencé par #CNT sur l'axe Y.
REQUEST Num_elem,#CNT;Num_coef
REQUEST Num_elem,#Y;Y
MODIFY Num_elem,#Y;Y
#Z :Valeur du coefficient référencé par #CNT sur l'axe Z.
REQUEST Num_elem,#CNT;Num_coef
REQUEST Num_elem,#Z;Z
MODIFY Num_elem,#Z;Z
#X1 :Coordonnée du pôle référencé par #CNT sur l'axe X.
Si l'on demande ou modifie un pôle en dehors du degré
en U ou en V du carreau le système retourne l'erreur 64.
REQUEST Num_elem,#CNT;Num_pole
REQUEST Num_elem,#X1;X1
MODIFY Num_elem,#X1;X1
#Y1 :Coordonnée du pôle référencé par #CNT sur l'axe Y.
REQUEST Num_elem,#CNT;Num_pole
REQUEST Num_elem,#Y1;Y1
MODIFY Num_elem,#Y1;Y1
#Z1 :Coordonnée du pôle référencé par #CNT sur l'axe Z.
REQUEST Num_elem,#CNT;Num_pole
REQUEST Num_elem,#Z1;Z1
MODIFY Num_elem,#Z1;Z1
#X2,Y2,Z2 :Centre de l'enveloppe sphérique du carreau.
#R2 :Rayon de l'enveloppe sphérique du carreau.
Il est nécessaire d'être prudent lors de la modification de
l'enveloppe sphérique d'un carreau car le système utilise ces
valeurs lors de diverses opérations. La fonction PATCH SPHERE
calcule l'enveloppe sphérique d'un carreau.
REQUEST Num_elem,#X2;X2
REQUEST Num_elem,#Y2;Y2
REQUEST Num_elem,#Z2;Z2
REQUEST Num_elem,#R2;R2
PRINT X2,Y2,Z2,R2
PATCH SPHERE Num_elem;X2,Y2,Z2,R2
MODIFY Num_elem,#X2;X2
MODIFY Num_elem,#Y2;Y2
MODIFY Num_elem,#Z2;Z2
MODIFY Num_elem,#R2;R2