N° | Fonction | Catégorie | Version |
---|---|---|---|
BIG 02 | BiG_DeltaXY | Fonction Géométrique | 1.0 - Janvier 2007 |
But | Modifie les valeurs en X et Y des coordonnées d'un point 2D ou 3D |
Prototype | (BiG_DeltaXY Coord_Point Delta_enX Delta_enY ) |
Argument | Coord_Point - Coordonnées actuelles du point en X, Y (et Z) - Liste - Delta_enX - Distance à ajouter ou à retrancher en X - réel - Delta_enY - Distance à ajouter ou à retrancher en Y - réel - |
Retours | Les nouvelles coordonnées du point. - liste - |
Var. globales | Néant |
Description | Ajoute ou retranche une valeur aux coordonnées X et Y d'un point. |
Notes | Si la coordonnée en Z existe, elle est retournée sans changement. Utiliser la fonction BiG_DeltaXYZ pour modifier également la coordonnée en Z d'un point en 3D. |
Exemples | Command:(setq Pt1 (Getpoint)) ; Cliquer un 1er point à l'écran (170.0 110.0 0.0) ; Coordonnées XYZ du point. (BiG_DeltaXY Pt1 -50 15.5) retourne (120.0 125.5 0.0) Autre exemple Command: (setq Pt2 '(200.0 100.0)) (200.0 100.0) ; Coordonnées XY (BiG_DeltaXY Pt2 20 -50) retourne (220.0 50.0). En cas d'erreur : (BiG_DeltaXY Pt3 20 -50) retourne nil Pt3 est nil (BiG_DeltaXY 100 20 -50) retourne nil Le 1er argument doit être une liste. (BiG_DeltaXY Pt2 aa -50) retourne nil. aa n'est pas défini |
1- (defun BiG_DeltaXY (*Pt1 *DeltaX *DeltaY) 2- (if (and *Pt1 *DeltaX *DeltaY 3- (listp *Pt1) 4- ) 5- (if (caddr *Pt1) 6- (list 7- (+ (car *Pt1) *DeltaX) 8- (+ (cadr *Pt1) *DeltaY) 9- (caddr *Pt1) 10- ) 11- (list 12- (+ (car *Pt1) *DeltaX) 13- (+ (cadr *Pt1) *DeltaY) 14- ) 15- ) 16- ) 17- )
Ligne 2 : Si les arguments *Pt1, *DeltaX, et *DeltaY ne sont pas nuls, Ligne 3 : et si *Pt1 est bien une liste, Ligne 5 : Alors si la coordonnée en Z existe, Ligne 6 : Regroupe dans une liste, Ligne 7 : l'addition de *DeltaX avec le 1er élément de Pt1 Ligne 8 : l'addition de *DeltaY avec le 2ème élément de Pt1 Ligne 9 : le 3ème élément de Pt1. Ligne 10 : sinon (s'il n'y a pas de coordonnée en Z) Ligne 11 : Regroupe dans une liste, Ligne 12 : l'addition de *DeltaX avec le 1er élément de Pt1 Ligne 13 : l'addition de *DeltaY avec le 2ème élément de Pt1;