Aller au contenu

creer un fichier DWG par bloc


sepacap

Messages recommandés

Bonjour a tous,

tous mes vœux pour 2015

 

Je viens vers vous car j'ai fouillé le forum et je n'est pas trouvé ce que je cherche.

Voila mon problème je dois récupérer les blocs d'un fichier en DWG et les enregistrer en mode 1 fichier pour 1 bloc et je ne prouve pas de lisp ou autre astuce pour y parvenir.

J'ai bien essayer la commande Wbloc mais cela est laborieux, alors si une âme charitable peux m'aider je la remercie par avance

 

PS: j'ai plus de 150 blocs a traiter

Lien vers le commentaire
Partager sur d’autres sites

Bjr à tous,

 

Un Lisp récupéré je ne sais où et dont je ne connais pas l'auteur ...

 

(defun c:wblockm () 
 (setq cmdecho (getvar "CMDECHO")) 
 (setvar "CMDECHO" 0) 
 ; 
 (if (not dos_getdir) 
   (setq path (getstring "\nDS> Target Folder: " T)) 
   (setq path (dos_getdir "Target Folder" (getvar "DWGPREFIX"))) 
 ) 
 (if (/= path nil) 
   (progn 
     (if (= (substr path (strlen path) 1) "\\") 
       (setq path (substr path 1 (1- (strlen path)))) 
     )  
     (princ "\nDS> Building List of Blocks ... ") 
     (setq lst nil) 
     (setq itm (tblnext "BLOCK" T)) 
     (while (/= itm nil) 
       (setq nam (cdr (assoc 2 itm))) 
       (setq pass T) 
       (if (/= (cdr (assoc 1 itm)) nil) 
         (setq pass nil) 
         (progn 
           (setq ctr 1) 
           (repeat (strlen nam) 
             (setq chk (substr nam ctr 1)) 
             (if (or (= chk "*")(= chk "|")) 
               (setq pass nil) 
             ) 
             (setq ctr (1+ ctr)) 
           ) 
         ) 
       ) 
       (if (= pass T) 
         (setq lst (cons nam lst)) 
       ) 
       (setq itm (tblnext "BLOCK")) 
     ) 
     (setq lst (acad_strlsort lst)) 
     (princ "Done.") 
     ; 
     (foreach blk lst 
       (setq fn (strcat path (chr 92) blk)) 
       (if (findfile (strcat fn ".dwg")) 
         (command "_.WBLOCK" fn "_Y" blk) 
         (command "_.WBLOCK" fn blk) 
       ) 
     ) 
   ) 
 ) 
 ; 
 (setvar "CMDECHO" cmdecho) 
 (princ) 
)

 

Il faut juste renseigner le répertoire où stocker les blocs en autant de plans séparés.

En espérant répondre à ton besoin ;o)

Lien vers le commentaire
Partager sur d’autres sites

Hello

 

J'ai fourni cette routine Lisp (il y a bien longtemps) !

http://cadxp.com/topic/5292-wbloc-multiple/page__pid__24827#entry24827

 

Cette routine provient de dotsoft.com ...

http://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/wblockm-setting/td-p/1151545

 

Par contre avec MAP (et sans doute aussi avec CIVIL), il y a cette "foutue" case de dialogue !

 

Bye, lecrabe

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Bonjour à tous,

 

Pouvez vous me dire comment faire pour sélectionner tous les calques et pas entrer manuellement les noms des calques un par un? Ou alors je suis un boulet et je n'ai pas vu parmis toutes les options proposées qu'il y a moyen de tout faire en un seul coup :rolleyes:

 

Merci pour ce LISP en tout cas.

 

Ok sorry j'ai trouvé !

 

CECI EST OFFICIEL JE SUIS UN BOULET !

"98% des soucis informatiques sont assis entre la chaise et le bureau !"

 

"C'est parce que la vitesse de la lumière est supérieure à celle du son que tant de gens paraissent brillants avant d'avoir l'air con."
Lien vers le commentaire
Partager sur d’autres sites

Hello Sepacap

 

Tu changes les 2 lignes concernees comme ceci (on ajoute en fait un "_Y" a la fin) :

 

(command "_.WBLOCK" fn "_Y" blk "_Y" )

(command "_.WBLOCK" fn blk "_Y" )

 

Et tu fais un CMDDIA = 0 AVANT de lancer WBLOCKM

et tu refais APRES un CMDDIA = 1

 

Ainsi tu auras un WBLOCKM special pour MAP & CIVIL ...

 

Bye, lecrabe

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

  • 7 mois après...

Bonjour,

 

J'ai un petit problème lors du chargement d'AutoWblock19.dll sous mon AutoCAD MAP 2014.

 

AutoCAD me répond :

Commande: (load "AutoDenisH.lsp")

Impossible de charger l'assemblage. Détails de l'erreur: System.IO.FileLoadException: Impossible de charger le fichier ou l'assembly 'file:///C:\...Répertoire dans Options, Fichiers... \AutoWblock19.dll' ou une de ses dépendances. L'opération n'est pas prise en charge. (Exception de HRESULT : 0x80131515)

Nom de fichier : 'file:///C:\...Répertoire dans Options, Fichiers... \AutoWblock19.dll' ---> System.NotSupportedException: Tentative de chargement d'un assembly à partir d'un emplacement réseau qui aurait entraîné l'utilisation de l'assembly en mode Bac à sable (sandbox) dans les versions antérieures du .NET Framework. Cette version du .NET Framework n'activant pas la stratégie CAS par défaut, ce chargement peut être dangereux. Si ce chargement n'est pas destiné à utiliser l'assembly en mode Bac à sable (sandbox), activez le commutateur loadFromRemoteSources. Pour plus d'informations, consultez http://go.microsoft.com/fwlink/?LinkId=155569.

à System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)

à System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)

à System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)

à System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark)

à System.Reflection.Assembly.LoadFrom(String assemblyFile)

à Autodesk.AutoCAD.Runtime.ExtensionLoader.Load(String fileName)

à loadmgd()

 

Et le lien : "http://go.microsoft.com/fwlink/?LinkId=155569" arrive sur une page "générale"...

 

Si quelqu'un a une astuce ou une réponce à mon problème...

 

Denis...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

C'est exactement ça... Merci mille fois (gile)...

 

Petite précision : recharger la DLL avec "netload" n'a pas fonctionné, il m'a fallu redémarrer AutoCAD... Je dis ça pour le cas ou d'autres auraient rencontré se genre de problèmes...

 

Denis...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

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é