William44850 Posté(e) le 8 février 2022 Posté(e) le 8 février 2022 Bonjour, Y a t'il un moyen rapide pour créer 1 fichier dwg par calque ? Par exemple, j'ai un dwg composé de 3 calques (A, B et C) et je veux obtenir 1 dwg qui s'appelle A, 1 qui s'appelle B et enfin "C". J'essaie aussi à partir de FME...et je ne trouve ni avec l'un ni avec l'autre. Je vous remercie par avance Citer
je56 Posté(e) le 8 février 2022 Posté(e) le 8 février 2022 Bonjour William, une petite recherche sur le site t'aurai permis de trouver ce sujet 😉 Bonne journée Eric Citer
William44850 Posté(e) le 8 février 2022 Auteur Posté(e) le 8 février 2022 Bonjour Eric, J'ai bien testé cette commande.....sauf que je ne trouve pas les dwg...s'ils ont été créés Merci. Citer
lecrabe Posté(e) le 8 février 2022 Posté(e) le 8 février 2022 Hello SVP tu vas utiliser cette excellente routine "LayerToDwg_2" de notre Grand Maitre Gilles ! En plus elle te permet de choisir les Calques a traiter ... MERCI Gilles ! La Sante, Bye, lecrabe PS: Routine tiree de mon stock de 3001 routines ... ;; ;; LAYERTODWG par GC (gile) version 2.0 pour Patrice B. ;; ;; Cree un fichier DWG pour chaque calque selectionne ;; ;; Commande au clavier LAYERTODWG_2 ;; ;; ATTENTION: svp verifier votre systeme d'unites ;; (defun c:LayerToDwg_2 (/ acdoc layers prefix name llst ss) (vl-load-com) (setq acdoc (vla-get-ActiveDocument (vlax-get-acad-object)) layers (vla-get-Layers acdoc) prefix (getvar 'dwgprefix) ) (vlax-for l layers (setq name (vla-get-Name l)) (if (not (wcmatch name "*|*")) (setq llst (cons name llst)) ) ) (setq llst (vl-sort llst '<) llst (ListBox "LayerToDwg" "Selectionnez les calques a traiter " (mapcar 'cons llst llst) 2 ) ) (foreach name llst (if (ssget "_X" (list '(410 . "Model") (cons 8 name))) (progn (setq ss (vla-get-ActiveSelectionSet acdoc)) (vla-Wblock acdoc (strcat prefix name ".dwg") ss) (vla-delete ss) ) ) ) (princ) ) ;; ListBox par GC ;; Boite de dialogue permettant un ou plusieurs choix dans une liste ;; ;; Arguments ;; title : le titre de la boite de dialogue (chaîne) ;; msg ; message (chaîne), "" ou nil pour aucun ;; keylab : une liste d'association du type ((key1 . label1) (key2 . label2) ...) ;; flag : 0 = liste deroulante ;; 1 = liste choix unique ;; 2 = liste choix multipes ;; ;; Retour : la cle de l'option (flag = 0 ou 1) ou la liste des cles des options (flag = 2) ;; ;; Exemple d'utilisation ;; (listbox "Presentation" "Choisir une presentation" (mapcar 'cons (layoulist) (layoutlist)) 1) (defun ListBox (title msg keylab flag / tmp file dcl_id choice) (setq tmp (vl-filename-mktemp "tmp.dcl") file (open tmp "w") ) (write-line (strcat "ListBox:dialog{label=\"" title "\";") file ) (if (and msg (/= msg "")) (write-line (strcat ":text{label=\"" msg "\";}") file) ) (write-line (cond ((= 0 flag) "spacer;:popup_list{key=\"lst\";") ((= 1 flag) "spacer;:list_box{key=\"lst\";") (T "spacer;:list_box{key=\"lst\";multiple_select=true;") ) file ) (write-line "}spacer;ok_cancel;}" file) (close file) (setq dcl_id (load_dialog tmp)) (if (not (new_dialog "ListBox" dcl_id)) (exit) ) (start_list "lst") (mapcar 'add_list (mapcar 'cdr keylab)) (end_list) (action_tile "accept" "(or (= (get_tile \"lst\") \"\") (if (= 2 flag) (progn (foreach n (str2lst (get_tile \"lst\") \" \") (setq choice (cons (nth (atoi n) (mapcar 'car keylab)) choice))) (setq choice (reverse choice))) (setq choice (nth (atoi (get_tile \"lst\")) (mapcar 'car keylab))))) (done_dialog)" ) (start_dialog) (unload_dialog dcl_id) (vl-file-delete tmp) choice ) ;; str2lst ;; Transforme un chaine avec separateur en liste de chaines ;; ;; Arguments ;; str : la chaine a transformer en liste ;; sep : le separateur ;; ;; Exemples ;; (str2lst "a b c" " ") -> ("a" "b" "c") ;; (str2lst "1,2,3" ",") -> ("1" "2" "3") ;; (mapcar 'read (str2lst "1,2,3" ",")) -> (1 2 3) (defun str2lst (str sep / pos) (if (setq pos (vl-string-search sep str)) (cons (substr str 1 pos) (str2lst (substr str (+ (strlen sep) pos 1)) sep) ) (list str) ) ) Citer Autodesk Expert Elite Team
William44850 Posté(e) le 8 février 2022 Auteur Posté(e) le 8 février 2022 Et bien, il semble malgré tout que la perfection soit de ce monde. Merci lecrabe, Gilles et Je56 Citer
fabcad Posté(e) le 10 février 2022 Posté(e) le 10 février 2022 Bonjour, Quand feras-tu un zip de tes routines mon cher ami Lecrabe ? Bonne journée, Fabcad Citer
Messages recommandés