Aller au contenu

[RÉSOLU] Insérer des blocs dont la rotation dépend des pts d'insertion ...


Messages recommandés

Posté(e)

Bonjour à tous.

 

Lors du dessin de plans scannés, j'ai souvent à représenter des entrées charretières.

Pour me faciliter la vie, j'ai déjà plusieurs solutions (align / bloc dynamique / etc.)

 

Mais j'aimerais maintenant un LISP permettant de positionner des blocs à 3 endroits

"trait" "flèche" "trait" visuellement ça donnerait donc qqchose comme ça :

   |    ↑    | 

 

J'arrive à insérer les 2 blocs déjà existants dans mon dessin sur les 3 points d'insertion qui me conviennent

Mais je ne sais pas comment faire pour que la rotation de ces blocs corresponde à la droite imaginaire qui relit le 1er point d'insertion et le 3ème.

 

Quelqu'un pour m'aider.

 

Voici ma base :

 

 

;; EE en rapport avec le mot EntrÉE

(defun c:ee (/ pt pt2 pt3)

(setq pt (getpoint "\nSpécifiez le point d'insertion : \n")   )
(command "_insert" "trait" pt 1 1 0)

(setq pt2 (getpoint "\nSpécifiez le point d'insertion : \n")   )
(command "_insert" "entree" pt2 1 1 0)

(setq pt3 (getpoint "\nSpécifiez le point d'insertion : \n")   )
(command "_insert" "trait" pt3 1 1 0)

)

 

Par avance, merci.

Une seule chose à dire : MERCI CADxp !

Posté(e)

Bonjour,

 

en saisisant d'abord les points avec la commande getpoint

 

(setq PT1 (getpoint "\nEntrer le premier point : "))
(setq PT2 (getpoint PT1 "\nEntrer le deuxième point : "))

 

Ensuite, on peut calculer le point central et, finalement, lancer la commande _insert en mettant un point à la place de l'angle 0 qui donnera l'angle entre PT1 et PT2. Mettre un point plutôt qu'un angle, ça évite de s'embêter à savoir si on est en radian, en degré ou en grades ou en Dieu sait quoi.

 

En tout cas, les fonctions angle et polar utilisent les radians. La fonction _insert utilise l'unité définie dans les unités de dessin. Donc pas forcément des radians, on s'en doute.

 

(setq PTC (polar PT1 (angle PT1 PT2) (/ (distance PT1 PT2) 2.0)))
(command "_insert" "trait" "_non" PT1 1 1 "_non" PT2)
(command "_insert" "entree" "_non" PTC 1 1 "_non" PT2)
(command "_insert" "trait" "_non" PT2 1 1 "_non" (polar PT2 (angle PT1 PT2) 1))

 

Les "_non" c'est pour éviter d'être pollué par des accrochages aux objets et les 3 commandes angle, distance et polar sont indispensables pour bien commencer le lisp et je t'invite à consulter l'aide à leur propos.

 

Amicalement

Vincent

C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme)

C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)

  • 2 semaines après...
Posté(e)

Bonjour.

J'ai oublié de venir confirmer l'efficacité du lisp ^^

Il me reste à potasser tout ça pour espérer (un jour) réussir à le refaire seul ...

:unsure:

Une seule chose à dire : MERCI CADxp !

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é