Aller au contenu

Création de côte avec soustraction constante


Johann

Messages recommandés

Bonjour,

 

Créer des côtes directement, je ne sais pas faire.

 

Par contre une autre solution est possible:

Tu crée ta/tes cotations de manière classique sans te préoccuper de la valeur de la côte, puis tu applique le lisp suivant.

 

Inconvénient: Tes côtes ne seront plus associatives, les lignes d'attaches sont déplacées (ce n'est peut être pas ce que tu souhaite?), donc la valeur de la côte correspond aux position des lignes d'attaches.

 

(defun c:dim-n ( / js n ent_dim dxf_ent p1 p2 p_nw1 p_nw2)
 (if (not value)
   (progn
     (initget 2)
     (setq value (getreal "\nValeur à retrancher à la côte sélectionnée <0.20>: "))
     (if (not value) (setq value 0.2))
   )
 )
 (or
   (setq js (ssget "_I" '((0 . "DIMENSION"))))
   (setq js (ssget "_P" '((0 . "DIMENSION"))))
 )
 (cond
   (js
     (sssetfirst nil js)
     (initget "Existant Nouveau _Existent New")
     (if (eq (getkword "\nTraiter jeu de sélection [Existant/Nouveau] <Existant>: ") "New")
       (progn (sssetfirst nil nil) (setq js (ssadd) js (ssget '((0 . "DIMENSION")))))
     )
   )
   (T (setq js (ssget '((0 . "DIMENSION")))))
 )
 (cond
   (js
     (repeat (setq n (sslength js))
       (setq ent_dim (ssname js (setq n (1- n))))
       (setq dxf_ent (entget ent_dim))
       (cond
         ((or (zerop (rem (cdr (assoc 70 dxf_ent)) 32)) (eq (rem (cdr (assoc 70 dxf_ent)) 32) 1))
           (setq p1 (cdr (assoc 13 dxf_ent)) p2 (cdr (assoc 14 dxf_ent)))
           (setq p_nw1 (polar p1 (angle p1 p2) (/ value 2.0)) p_nw2 (polar p2 (angle p2 p1) (/ value 2.0)))
           (setq dxf_ent (subst (cons 13 p_nw1) (assoc 13 dxf_ent) dxf_ent))
           (setq dxf_ent (subst (cons 14 p_nw2) (assoc 14 dxf_ent) dxf_ent))
           (entmod dxf_ent)
         )
         (T
           (princ "\nN'est pas une côte alignée, pivotée, horizontale ou verticale.")
         )
       )
     )
   )
 )
 (prin1)
)

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Lien vers le commentaire
Partager sur d’autres sites

en même temps incapable de savoir ce que fait exactement le lisp de bonuscad!!

 

Généralement quand on côte, on s'accroche en règle générale aux extrémités d'objets (ou on sélectionne directement l'objet) de façon à avoir la côte réelle. Nous sommes bien d'accord?

 

Dans son cas il voulait réduire sa côte de 0.20. Pour fixer les points en relatif par rapport aux extrémité en manuel, bonjour la gymmastique, avec le lisp ça se fait tout seul.

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Lien vers le commentaire
Partager sur d’autres sites

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é