Aller au contenu

Messages recommandés

Posté(e)

Bonsoir à tous,

Depuis autocad 2006 et plus particulièrement grâce aux blocks dynamics j'ai modifié ma façon de travailler. Je m'explique, avant lorsque j'insérais une fenêtre dans un mur (en vue en plan) je le faisais via un petit lisp que j'avais mis au point. Maintenant j'ai créé des fenêtres en blocs dynamics avec ce que j'appelle des caches c-à-d des wipeout. Cela me permet d'éviter des tas de trim et lors de modification il suffit de faire un simple move. J'en suis super content, le seul problème est que lorsque j'insère le bloc via le tool palettes je n'ai que le contour du bloc le frame ce trouvant à chaque fois au dessus. Je dois, donc, éditer le bloc et faire un draworder du bloc et le mettre devant le frame, mais c'est chiant. Si qlq à compris mon problème et qui a une solution, merci de m'éclairer.

 

PS: lorsque je crée le bloc je mets bien le frame à l'arrière du dessin

 

Posté(e)

Un truc dans ce genre pourrait-il te simplifier la tâche?

 

((lambda ( / js_blk name_blk js_front js_back)
(princ "\nChoix d'une insertion de bloc à traiter: ")
(setq js_blk (ssget "_+.:E:S" '((0 . "INSERT"))))
(cond
	(js_blk
		(setq name_blk (assoc 2 (entget (ssname js_blk 0))))
		(setq js_front (ssget "_X" (list '(0 . "INSERT") name_blk)))
		(setq js_back (ssget "_X" '((0 . "WIPEOUT"))))
		(if (not (null js_back))
			(progn
				(sssetfirst nil js_back)
				(ai_draworder "_front")
			)
		)
		(if (not (null js_front))
			(progn
				(sssetfirst nil js_front)
				(ai_draworder "_front")
			)
		)
	)
)
))

 

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Posté(e)

Bonjour et bonne année a tous !

 

J'ai le meme probleme et le LISP ne me donne aucun résultat !

 

Je dois faire édit bloc pour le wipe out et après faire battman pour les attributs ! :o

 

Résultat je suis revenu à l'encienne méthode .. sniff.. monde cruel :casstet:

 

[Edité le 8/1/2007 par Aviglémy]

Posté(e)

Comme dirais Garcimore

Parfois ca marche, parfois ca marche pas

 

Méthode pour tes prochains blocs :

Penser à faire en premier le wipeout et [surligneur]créer[/surligneur] les autres éléments du bloc par dessus! Méthode longue mais au moins tu es sûr du résultat.

 

draworder n'en fait qu'à sa tête parfois!

Dessinateur AutoCAD, Modeleur BIM, consultant informatique logiciels métier

Lenovo ThinkStation P330 i9 9900K 32Gb RAM 512 SSD + 1To

GstarCAD, Fisa-CAD, Revit, FisaBIM CVC, Microsoft Office

 

PlaquetteDeplianteMars2024.pdf

Posté(e)

ok pour wipe out !

(nb: c'est idem pour les hachures)

 

mais je reviens sur battman... ;)

 

Serait-il possible de syncorniser tous les attributs des blocs du dessin en une seul commande ? Et meme les annonymes ?

 

Un super battman koi ! :P

Posté(e)

Comment Patrick_.35? tu oses marcher sur les plate-bandes de Tramber??

Effectivement tu peux scripter mais une bonne connaissance d'AutoCAd est nécessaire!

 

Trève de plaisanterie :

mais je reviens sur battman...

 

Serait-il possible de syncorniser tous les attributs des blocs du dessin en une seul commande ? Et meme les annonymes ?

 

Un super battman koi !

 

Aviglémy : pour la synchronisation de tous les attributs des blocs tu peux peut-être utiliser la commande _ATTSYNC .

 

Sinon faudra appeler Super...Man

 

 

 

[Edité le 5/1/2007 par Maximilien]

Dessinateur AutoCAD, Modeleur BIM, consultant informatique logiciels métier

Lenovo ThinkStation P330 i9 9900K 32Gb RAM 512 SSD + 1To

GstarCAD, Fisa-CAD, Revit, FisaBIM CVC, Microsoft Office

 

PlaquetteDeplianteMars2024.pdf

Posté(e)

le LISP ne me donne aucun résultat !

 

Je viens de m'apercevoir que j'ai mal compris la question, donc cela m'étonne pas qu'il n'y ait aucun résultat. Je suis partie sur la considération que le wipeout était indépendant du bloc :calim:

 

Donc j'ai essayé de reprendre la chose dans le bonne ordre, mais pas de résultat.

En fait j'ai un problème avec (ssadd) et (sssetfirst) qui ont l'air ne ne pas fonctionner pour les entités imbriqués.

 

Je donne quand même le code qui serait censé fonctionner, si quelqu'un à un 'tilt"...

 

((lambda ( / js_blk s_ent l_e l_dxf js_front js_back)
(princ "\nChoix d'une insertion de bloc à traiter: ")
(setq js_blk (ssget "_+.:E:S" '((0 . "INSERT"))))
(cond
	(js_blk
		(setq s_ent (cdr (assoc -2 (tblsearch "BLOCK" (cdr (assoc 2 (entget (ssname js_blk 0))))))))
		(while s_ent
			(setq l_e (cons s_ent l_e))
			(setq s_ent (entnext s_ent))
		)
		(setq l_dxf (mapcar 'entget l_e) js_back (ssadd) js_front (ssadd))
		(foreach n l_dxf
			(if (eq (cdr (assoc 0 n)) "WIPEOUT")
				(ssadd (cdar n) js_back)
				(ssadd (cdar n) js_front)
			)
		)
		(if (not (zerop (sslength js_back)))
			(progn
				(sssetfirst js_back js_back)
				(ai_draworder "_front")
			)
		)
		(if (not (zerop (sslength js_front)))
			(progn
				(sssetfirst js_front js_front)
				(ai_draworder "_front")
			)
		)
	)
)
(prin1)
))

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Posté(e)

Salut à tous,

je viens d'essayer ce que maximilien a dit (d'abord le wipeout) ça a l'air de fonctionner.

Le problème c'est de modifier un nombre important de blocs.

Pour ce qui concerne le lisp je l'ai essayé et ça ne fonctionne pas.

Merci quand même

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é