Aller au contenu

changer l'état de visibilité d'une entité à l'intérieur d'une définition de bloc dynamique


Messages recommandés

Posté(e)

Salut à toutes et a tous,

j'ai créé un bloc dynamique servant de base à une annotation.

Il est très simple, un point, une ligne repère, 11 attributs,

un étirement polaire des la ligne repère et des 11 attributs.

+ un état de visibilité sur la ligne repère visible ou invisible.

A partir des ce bloc "cellule souche", je défini 80 blocs à partir de cette cellule souche, en ajoutant des entités diverses pour avoir un symbole + évolué qu'un simple point.

sauf que l'ajout des entités se fait dans un état de visibilité ou l'autre.

Du coup, c'est soit je vois la ligne repère soit les entités ... (voir exemple joint)

si je trouvais où est stocké l'état de visibilité, je pourrai le corriger par la programmation, ça serait mieux que de me palucher 80 blocs ...

mais la je sèche.

Lee mac drive les blocdynamique, mais il ne fait pas ça...

a+

Gégé

 

 

applique.dwg

----------------------------------------------------------------------

Site: https://www.g-eaux.fr

Blog: http://g-eaux.over-blog.com

Posté(e)

Salut,

À ma connaissance il n'y a pas de fonction Visual LISP (ni en .NET d'ailleurs) pour modifier les paramètres dynamiques de définitions de bloc.

Reste peut-être le DXF, si on a le courage décrypter les dictionnaires d'extension des définitions de bloc, mais il n'est pas certain qu'on puisse les modifier...

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

salut Gilles,

c'est bien ce que je pensais,

et je sais trop bien combien ça coute d'énergie de "décrypter les dictionnaires d'extension des définitions de bloc"

pour s'apercevoir finalement qu'on ne peut les modifier...

mais heureusement je crois que j'ai trouvé une combine pour m'affranchir de ce pb,

je teste et je vous tiens au courant.

merci a+

gégé

----------------------------------------------------------------------

Site: https://www.g-eaux.fr

Blog: http://g-eaux.over-blog.com

Posté(e)

Salut,

donc je suis arrivé à contourner le problème, OUF!

dans mon bloc "cellule souche" j'ai ajouté un bloc basique, un cercle avec le bon état de visibilisé.

pour créer mes 80 blocs, j'ai fait un entmod sur le bloc basique avec le bloc représentation voulu.

ça marche très bien !

Au passage, je me suis aperçu (Alléluia) que la caractéristique "dubloc" fonctionne de manière imbriquée, je n'avais jamais fait attention à ça.

 

;;********************************************************
;§**/blocs/ prépare la copie des bocs avant de la lancer la redéfinition les blocs dynamique du pproto  / none

(defun c:prepare_Redef_pt_Topo_Dyn	(/ el el1 el2 tmp reinit rep ss1 ss2)
  (PW_CHARGER_xml (strcat aclsp-chem "ini/topo/INERIS.xml"))
  (setq lblocs (pw_reduct_list (mapcar 'cadr ineris)))
  (foreach l (pw_reduct_list lblocs)
    (print l)
    (PW_COPY_BLOCK_DEF l (strcat l "_FOND"))
  )
)

;;********************************************************
;§**/blocs/redéfinie les blocs dynamique du pproto  / none
;;cette opération est à faire:
;;lorsque l'on décide une redfinition des blocs "TCPOINT_11att", par exemple en ajoutant ou en supprimant des attributs,
;;

(defun c:Redef_pt_Topo_Dyn (/ el el1 el2 tmp reinit rep ss1 ss2)
  (vla-StartUndoMark pw-acaddocument)
  (alert
    "\nRedéfinition des blocs dynamiques du pproto à partir des tcpt_11_att dynamique\nil faut purger les autres blocs avant de la lancer  "
  )
  (Getstring
    "\nEchap pour annuler cette commande très spéciale, valider pour continuer"
  )
  (PW_CHARGER_xml (strcat aclsp-chem "ini/topo/INERIS.xml"))
  (setq lblocs (pw_reduct_list (mapcar 'cadr ineris)))
  (foreach l lblocs
    (cond
      ((wcmatch l "*_EP")
       (setq tcpt "TCPOINT_11att_EP_dyn")
      )
      ((wcmatch l "*_EU")
       (setq tcpt "TCPOINT_11att_EU_dyn")
      )
      (t
       (setq tcpt "TCPOINT_11att_dyn")
      )
    )
    (command "_bedit" tcpt)
    (setq eblocSouche (ssname (ssget "x"'((0 . "insert")(2 . "tcpoint_symbole"))) 0))
    ;;(setq egsouche (entget eblocSouche))
    (pw_entmodifi eblocSouche 2 (strcat l "_FOND"))
    (command "_bsaveas"	     l	     "_y"    )
  )
  (vla-EndUndoMark pw-acaddocument)
)

 

----------------------------------------------------------------------

Site: https://www.g-eaux.fr

Blog: http://g-eaux.over-blog.com

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é