Aller au contenu

Changement de diamètre d'une pastille


bonuscad

Messages recommandés

Bonjour,

 

J'ai un petit souci (pas bien dramatique...)

Je fais en ce moment des cartes en plaçant sur une carte des pastilles représentatives de valeur.

Pour faire cela j'utilise la commande ANNEAU avec un diamètre interne à zéro et le diamètre externe suivant la valeur à représenter.

 

Pour fair plus simple je place d'abord un anneau fixe partout où ils doivent se trouver (ou si je doit changer la valeur, par la suite, et c'est fréquent)

Comme la commande anneau est un peu fastidieuse si on change constamment de valeur, j'utilise un petit de code tout simple.

Il fonctionne dans l'ensemble correctement, sauf que des fois, sans que je trouve l'explication ma pastille est déplacée. Je travaille essentiellement dans le SCG, parfois dans un SCU (mais parrallèle au SCG).

 

Y a t-il une erreur ou ommission que je n'ai pas vue dans mon code? Un oeil extèrieur pourrait voir où j'ai fauté...

 

(defun c:chg_donut ( / js diam n pt lremov)
 (while (setq js (ssget "_+.:E:S" '((0 . "LWPOLYLINE"))))
   (setq pt (trans (osnap (trans (cdr (assoc 10 (setq n (entget (ssname js 0))))) 0 1) "_cen") 1 0))
   (setq diam (getreal (strcat "\nNouveau diamètre ?<" (rtos (* 2 (cdr (assoc 43 n)))) ">: ")))
   (if (not diam) (setq diam (cdr (assoc 43 n))) (setq diam (* 0.5 diam)))
   (foreach el n (if (member (car el) '(43 10 40 41 42)) (setq lremov (cons (car el) lremov))))
   (foreach m lremov
     (setq n (vl-remove (assoc m n) n))
   )
   (setq n
     (append
       n
       (list
         (cons 43 diam)
         (cons 10 (list (+ (car pt) (* diam 0.5)) (cadr pt)))
         (cons 40 diam)
         (cons 41 diam)
         (cons 42 1.0)
         (cons 10 (list (- (car pt) (* diam 0.5)) (cadr pt)))
         (cons 40 diam)
         (cons 41 diam)
         (cons 42 1.0)
       )
     )
   )
   (entmod n)
 )
 (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

Bon, y suffit que je pose la question, pour qu'enfin je trouve la réponse.

 

C'est (osnap pt "_cen") qui met le bazard (j'aurais dut y penser)

J'ai fais autrement (pris le milieu des 2 sommets) et plus de soucis.

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é