Aller au contenu

2/3 Routines LSP UTILES en 3D - Une 3eme SVP ?


lecrabe

Messages recommandés

Hello Les 3D Pros

 

Voir ci-apres 2 Routines Lisp utiles en 3D :

- "C3P3D" Dessin d'un Cercle par 3 points XYZ

- "Pol3P3D" Dessin d'une Polyligne 2D (= Triangle) par 3 points XYZ

 

Bien sur aucun besoin de creer un SCU, les routines s'en occupent !?

 

SVP est ce que qq'un pourrait deriver de "Pol3P3D" une 3eme Routine ?

Nommee "Rect3P3D" qui dessinerait une Polyligne 2D (= Rectangle)

depuis les 3 Points XYZ ... Merci d'avance !

En fait il suffit de "deriver" le 4eme Point depuis les 3 autres ...

 

LA SANTE (Stay Safe), Bye, lecrabe "triste"

Automne 2020, la retraite ...

 

 


;;
;; https://forums.autodesk.com/t5/autocad-forum/circle-in-3-points-plane/td-p/5259293
;; 

(defun C:C3P3D (/ pt1 pt2 pt3 pta ptb ptc); = Circle, 3-Point, in 3D plane
 (setq
   pt1 (getpoint "\n1 - First point of 3D 3-Point Circle: ")
   pt2 (getpoint pt1 "\n2 - Second point of 3D 3-Point Circle: ")
   pt3 (getpoint pt1 "\n3 - Third point of 3D 3-Point Circle: ")
   pta (trans pt1 1 0); to World coordinates
   ptb (trans pt2 1 0)
   ptc (trans pt3 1 0)
 ); setq
 (command
   "_.ucs" "_new" "_3point" pt1 pt2 pt3
   "_.circle" "_3p" (trans pta 0 1) (trans ptb 0 1) (trans ptc 0 1); to current-UCS coordinates
   "_.ucs" "_previous"
   "_.ucs" "_delete" "C3P3D"
 ); command
); defun



;;
;; https://forums.autodesk.com/t5/autocad-forum/circle-in-3-points-plane/td-p/5259293
;; 
;; Micro-Micro Modif par Patrice pour avoir un Triangle en Polyligne 2D
;; 

(defun C:Pol3P3D (/ pt1 pt2 pt3 pta ptb ptc); = Circle, 3-Point, in 3D plane
 (setq
   pt1 (getpoint "\n1 - First point of 3D 3-Point 2D PLine: ")
   pt2 (getpoint pt1 "\n2 - Second point of 3D 3-Point 2D PLine: ")
   pt3 (getpoint pt1 "\n3 - Third point of 3D 3-Point 2D PLine: ")
   pta (trans pt1 1 0); to World coordinates
   ptb (trans pt2 1 0)
   ptc (trans pt3 1 0)
 ); setq
 (command
   "_.ucs" "_new" "_3point" pt1 pt2 pt3
   "_.pline"   (trans pta 0 1) (trans ptb 0 1) (trans ptc 0 1) "_c"; to current-UCS coordinates
   "_.ucs" "_previous"
   "_.ucs" "_delete" "C3P3D"
 ); command
); defun

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...
(defun c:Rect3P3D	(/ pt1 pt2 pt3 pt4 pta ptb ptc)
 (setq
   pt1	(getpoint "\n1 - First point of 3D rectangle 2D PLine: ")
   pt2	(getpoint pt1 "\n2 - Second point of 3D rectangle 2D PLine: ")
   pt3	(getpoint pt2 "\n3 - Third point of 3D rectangle 2D PLine: ")
   pta	(trans pt1 1 0)			; to World coordinates
   ptb	(trans pt2 1 0)
   ptc	(trans pt3 1 0)
 )
 (command 
   "_.ucs" "_new" "_3point" "_non" pt1 "_non" pt2 "_non" pt3)
 (setq
   pt1	(trans pta 0 1)
   pt2	(trans ptb 0 1)
   pt3	(trans ptc 0 1)
   pt3	(list (car pt2) (cadr pt3) 0.)
   pt4	(list (car pt1) (cadr pt3) 0.)
 )
 (command
   "_.pline" "_non" pt1 "_non" pt2 "_non" pt3 "_non" pt4 "_c"
   "_.ucs" "_previous"
 )
 (princ)
)

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Une autre qui dessine un parallélogramme.

(defun c:Paral3P3D       (/ pt1 pt2 pt3 pt4 pta ptb ptc)
 (setq
   pt1 (getpoint "\n1 - First point of 3D parallelogram 2D PLine: ")
   pt2 (getpoint pt1 "\n2 - Second point of 3D parallelogram 2D PLine: ")
   pt3 (getpoint pt2 "\n3 - Third point of 3D parallelogram 2D PLine: ")
   pta (trans pt1 1 0)                 ; to World coordinates
   ptb (trans pt2 1 0)
   ptc (trans pt3 1 0)
 )
 (command 
   "_.ucs" "_new" "_3point" "_non" pt1 "_non" pt2 "_non" pt3)
 (setq
   pt1 (trans pta 0 1)
   pt2 (trans ptb 0 1)
   pt3 (trans ptc 0 1)
   pt4 (polar pt1 (angle pt2 pt3) (distance pt2 pt3))
 )
 (command
   "_.pline" "_non" pt1 "_non" pt2 "_non" pt3 "_non" pt4 "_c"
   "_.ucs" "_previous"
 )
 (princ)
)

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

L'inconvénient (GROS AVANTAGE) de (Gile), c'est que même quand tu ne demandes pas, il s’embête à te filer des routines en plus :P

"98% des soucis informatiques sont assis entre la chaise et le bureau !"

 

"C'est parce que la vitesse de la lumière est supérieure à celle du son que tant de gens paraissent brillants avant d'avoir l'air con."
Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité