Aller au contenu

Bloc dynamique


Messages recommandés

Posté(e)

Bonsoir Jazzpower.

 

Va dans ton bloc via l'éditeur de bloc puis insère ton nouveau bloc et ferme l'éditeur de bloc en enregistrant les modifications.

 

Cependant, quelles sont les actions de dynamisme qu'a ton bloc dynamique existant?

Si c'est un bloc avec des paramètres de visibilités, il va falloir que tu modifies les paramètres de visibilité en y incluant le bloc additionnel.

Si c'est un bloc avec des actions d'étirement ou d'échelle, idem, il va falloir modifier l'action de ces paramètres de manière à les ajouter au bloc additionnel.

Quoiqu'il en soit, il y aura des modifications à faire à l'intérieur du bloc dynamique existant, en ce qui concerne les paramètres et actions dynamique pour y inclure le bloc additionnel.

  • Upvote 1

Steven________________________________________

Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD.

Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD.

En rêve; AutoCAD sous Linux.

Posté(e)

Salut

 

Tu peux modifier le bloc de base et ensuite, clic droit sur le bloc dynamique -> reinitialiser le bloc et cela autant de fois que nécessaire.

Si cette solution te conviens, et éviter n clics droit pour traiter tous les blocs dans le dessin avec le lisp de lee-mac

 

Tu remplaces

(defun LM:AddObjectstoBlock ( doc block ss / lst mat )
 
 (setq lst (LM:ss->vla ss)
       mat (LM:Ref->Def block)
       mat (vlax-tmatrix (append (mapcar 'append (car mat) (mapcar 'list (cadr mat))) '((0. 0. 0. 1.))))
 )
 (foreach obj lst (vla-transformby obj mat))

 (vla-CopyObjects doc (LM:SafearrayVariant vlax-vbobject lst)
   (vla-item (vla-get-Blocks doc) (cdr (assoc 2 (entget block))))
 )
 (foreach obj lst (vla-delete obj))
 (vla-regen doc acAllViewports)
)

 

par

(defun LM:AddObjectstoBlock ( doc block ss / ele lst mat sel nom nombl)

 (defun nombl(bl)
   (if (vlax-property-available-p bl 'effectivename)
     (vla-get-effectivename bl)
     (vla-get-name bl)
   )
 )

 (setq lst (LM:ss->vla ss)
       mat (LM:Ref->Def block)
       mat (vlax-tmatrix (append (mapcar 'append (car mat) (mapcar 'list (cadr mat))) '((0. 0. 0. 1.))))
 )
 (foreach obj lst (vla-transformby obj mat))

 (vla-CopyObjects doc (LM:SafearrayVariant vlax-vbobject lst)
   (vla-item (vla-get-Blocks doc) (setq nom (nombl (vlax-ename->vla-object block))))
 )

 (and (ssget "x" (list (cons 0 "insert")))
   (progn
     (vlax-for ele (setq sel (vla-get-activeselectionset doc))
(and (eq (nombl ele) nom)
  (vla-resetblock ele)
)
     )
     (vla-delete sel)
   )
 )

 (foreach obj lst (vla-delete obj))
 (vla-regen doc acAllViewports)
)

 

@+

  • Upvote 1

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

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é