Aller au contenu

[résolu] 1 dwg de X calques -> X nouveau dwg de 1 calque


Messages recommandés

Posté(e)

Bonjour à tous,

 

Je cherche décomposer un dwg en X dwg, chacun correspondant à un calque (et l'ensemble des entités qui s'y trouvent) du dwg d'origine.

Soit 1 dwg de X calques -> X nouveaux dwg de 1 calque.

 

Suis-je contraint de copier chaque calque 1 à 1 ? Merci pour vos idées.

Windows10 - Autocad 2018 - Covadis 17

Posté(e)

hello

un lisp doit être r&alisable

je ne connais aps le nb de calques de ton fichier d'origine, ni le nombre de fichiers à traiter mais si tu n'as qu'un fichier qui n'a aps trop de calque je connais une technique bidouille

avec le lisp de (gile) SSL tu peux sélectionner toutes les entités qui sont sur un calque, il te suffit dès lors de faire un WBLOC... calque apr calque... c'est laborieux mais ça marche et tu n'as aucune erreur, assure toi au préalavble que tes blocs ne sont consitutés des d'entités sur le calque 0.

si t'as 400 calques et 153 ficheirs c'est aps pareil... après j'ai du mal à comprendre pourquoi tronçonner le ficheir de cette façon...

++

Phil

Projeteur Revit Indépendant - traitement des eaux/CVC

Posté(e)

Bonjour à tous,

 

Je cherche décomposer un dwg en X dwg, chacun correspondant à un calque (et l'ensemble des entités qui s'y trouvent) du dwg d'origine.

Soit 1 dwg de X calques -> X nouveaux dwg de 1 calque.

 

Suis-je contraint de copier chaque calque 1 à 1 ? Merci pour vos idées.

 

Bonjour,

Tu peux essayer ceci, tu copie-colle ce qui suit directement en ligne de commande

((lambda ( / flag def_lay nam_lay js)
(setq flag T)
(while (setq def_lay (tblnext "LAYER" flag))
	(setq nam_lay (cdr (assoc 2 def_lay)) flag nil)
	(cond
		((setq js (ssget "_X" (list (cons 8 nam_lay))))
			(command "_.-wblock" (strcat (getvar "dwgname") "$" nam_lay) "" "*0.0,0.0,0.0" js "")
		)
	)
)
(prin1)
))

 

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

Posté(e)

Bonjour,

Tu peux essayer ceci, tu copie-colle ce qui suit directement en ligne de commande

((lambda ( / flag def_lay nam_lay js)
(setq flag T)
(while (setq def_lay (tblnext "LAYER" flag))
	(setq nam_lay (cdr (assoc 2 def_lay)) flag nil)
	(cond
		((setq js (ssget "_X" (list (cons 8 nam_lay))))
			(command "_.-wblock" (strcat (getvar "dwgname") "$" nam_lay) "" "*0.0,0.0,0.0" js "")
		)
	)
)
(prin1)
))

 

Super, ça semble fonctionner parfaitement ! Merci beaucoup.

J'ai juste mis un peu de temps pour trouver le répertoire de création des nouveaux fichiers (Users/.../Document/)

 

+.K

Windows10 - Autocad 2018 - Covadis 17

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é