Aller au contenu

Messages recommandés

Posté(e)

hello

 

 

voila j'ai des entites invisibles avec un code 60 dans des blocs parametrique

surement suite au jeu de visibilité et ses differents états

qui sont donc invisible et non selectionnable sauf a la rigueur par "CRTL+A"

 

 

je voudrais soit mettre le code 60 sur 0 ( et le rendre visible )

soit viré le code 60 de l'entité

 

pour toutes les entites du fichier

ou pour toutes les entites du fichiers qui sont dans un état (nommé) du jeu de visibilté

 

ca se complique la

 

quelq'un a une idée ??

 

merci

 

phil

 

 

 

 Commande: dxfl

[Entité/Sous-entité]< E >:

Choix de l'objet: d

(-1 . )
(0 . "LINE")
(330 . )
(5 . "52C")
(100 . "AcDbEntity")
(67 . 0)
(410 . "Model")
(8 . "C_AXES")
(6 . "Continuous")
(60 . 1)
(100 . "AcDbLine")
(10 10.2208 149.0 0.0)
(11 10.2208 -50.0 0.0)
(210 0.0 0.0 1.0)

 

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Posté(e)

Salut philphil!

 

Petites fonctions faites en vlisp

;---------------------------------;
; nom: invisible                  ;
; role: permet de rendre invisible;
;       l'entité ent              ;
; param: ent => entité            ;
; retour: aucun                   ;
; date: 14/03/2008                ;
; BLAES Sébastien                 ;
;---------------------------------;
(defun invisible( ent / vln)
 	(cond
  	((= ent nil)
	 	(setq res nil)
	)
	((= (setq vln (vlax-ename->vla-object ent)) nil)
	 	(setq res nil)
	)
	(t
	 	(vla-put-visible vln :vlax-false)
	 	(setq res t)
	)
) ; cond

) ; invisible
(defun c:invi()
 
 	(while (/= (invisible (car(entsel "sélectionnez l'entité:"))) nil))

 	(princ)
) ; c:invi

;-------------------------------;
; nom: visible                  ;
; role: permet de rendre visible;
;       l'entité ent            ;
; param: ent => entité          ;
; retour: aucun                 ;
; date: 14/03/2008              ;
; BLAES Sébastien               ;
;-------------------------------;
(defun visible( ent / vln)
(cond
  	((= ent nil)
	)
	((= (setq vln (vlax-ename->vla-object ent)) nil)
	)
	(t
	 	(vla-put-visible vln :vlax-true)
	)
) ; cond

 	(princ)
) ; visible
(defun c:visi( / s e)
 	(setq s (ssget "x"))
 	(cond
  	((= s nil)
	 	(print "pas d'entités")
	)
	(t
	 	(while (/= (setq e (ssname s 0)) nil)
			(visible e)
		  
		  	; on supprime e de la sélection
		  	(ssdel e s)
		) ; while
	)
) ; cond

 	(princ)
) ; c:visi

 

visi se lance sur tout, mais si tu as l'entité (car(entsel)) par exemple tu fais visible dessus.

 

a+

Tous pour lisp, Lisp pour tous!

Avec Revit, cela ne vas trop vite...

Posté(e)

salut,

 

Tu peux essayer ça (pas testé)

 

(vl-load-com)
(vlax-for blk (vla-get-Blocks
      (vla-get-ActiveDocument
	(vlax-get-acad-object)
      )
    )
 (vlax-for obj blk
   (if	(vlax-property-available-p obj 'Visible)
     (vla-put-Visible obj :vlax-true)
   )
 )
) 

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

Posté(e)

Re,

 

Attention, le code que je donne rends tous les objets visibles et en relisant ta demande je vois qu'il faudrait tenir compte des paramètres de visibilité dans les blocs dynamiques, et là, c'est plus compliqué ...

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

Posté(e)

hello gile

 

t'inquiete pas

 

ca a bien rendu toutes les entites visible

mais je pense qu'il y a un bug avec autocad ou plus imblement avec mon bloc

 

le jeu d'invisibilité et ses differents états n'aiment pas trop que l'on repasse derriere pour rajouter ou soustraire des entites apparement

 

donc je preconise de mettre le jeu d'invisibilite en tout dernier dans un bloc et de pas rajouter d'entites ensuite

 

merci

 

phil

 

 

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Posté(e)

Re,

 

J'ai déjà fait des blocs avec des états de visibilité, je n'ai pas eu de problème avec.

Il faut juste bien faire les blocs.

 

Par contre si tu sais comment changer d'état de visibilité en lisp, sans passer par la souris

et le petit triangle des vues.

Tous pour lisp, Lisp pour tous!

Avec Revit, cela ne vas trop vite...

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é