Aller au contenu

dxf/lisp


Thelduin

Messages recommandés

Bonjour !

 

Je reviens vers vous (encore :D) car j'aimerais changer l'echelle du type de ligne d'une ligne ou polyligne. Je sais que le code dxf 48 correspond à l'echelle du type de ligne, seulement, il apparaît uniquement si l'echelle est différente de 1.

 

J'ai donc voulu ajouter à la liste dxf, la clé 48 avec une valeur quelconque pour pouvoir la changer par la suite avec subst. Le couple (48 . x) s'ajoute bien à la liste dxf, j'arrive à changer le x avec subst, mais quand je lance entmod, ça ne change rien, comme si ça ne prenait pas en compte l'echelle.

 

(setq dxlist(entget(entlast)))
(setq dxlist(cons 48 1.0)(cons dxlist))
(subst (cons 48 3) (assoc 48 dxlist) dxlist))
(entmod dxlist)

 

J'arrive à changer d'autres paramètres avec subst puis entmod, je vois le changement se faire, mais là vraiment, pour l'echelle du type de ligne, je sèche complètement ...

 

Merci d'avance,

 

Guillaume

Lien vers le commentaire
Partager sur d’autres sites

Coucou

 

Pas besoin de mettre une valeur bidon dans l'échelle de ligne

Il suffit de faire un test de présence, s'il y en a on la change et on la met s'il n'y en a pas

Par exemple :

 

(setq ent (entlast))
(setq ent-liste (entget ent))
(if (assoc 48 ent)
 (entmod (subst (cons 48 5) (assoc 48 ent) ent-liste)))
 (entmod (append ent-liste (list (cons 48 5))))  
)
(entupd ent)

 

Amicalement

Lien vers le commentaire
Partager sur d’autres sites

Hello

 

Un truc SEMBLABLE provenant de Gilles (gile) ou on voit bien qu'il teste la presence du code DXF 48 :

- Si present alors ENTMOD ...

- Si absent alors ENTMOD (append ...

 

MERCI Gilles, Bye, lecrabe

 

   (if    (setq lts (assoc 48 dxf))
     (entmod (subst (cons 48 (* scl (cdr lts))) lts dxf))
     (entmod (append dxf (list (cons 48 scl))))
   )

Autodesk Expert Elite Team

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é