Fraid Posté(e) le 28 février 2018 Posté(e) le 28 février 2018 Bonjour, J'ai des plans avec des groupes de calques.Si je fait un wbloc d'objet, le calque suit(normal), mais pas le groupe.la plupart du temps, cela m'arrange bien.mais la, suis obligé de le recréer, ou le récupérer avec design center.pas vu de variable, mais peut etre l'ai je ratée, ou autre chose...vous me direz, encore une occasion de coder...mais pas facile à atteindre https://github.com/Fraiddd
lecrabe Posté(e) le 28 février 2018 Posté(e) le 28 février 2018 Hello Si je me souviens bien Gilles avait développé une Routine LSP qui permettait le transfert inter-DWG de l'UN des 2 types de groupes de calque... A vérifier ?! Bye, lecrabe Autodesk Expert Elite Team
nG! Hebus Posté(e) le 1 mars 2018 Posté(e) le 1 mars 2018 Salut Fraid, Les Groupes de calques sont liés au fichier/dessin/gabarit... Donc pas importables... Mais si tu charge ton gabarit tu devrait récupérer tes groupes. (comme les filtres de propriétés d'ailleurs...) "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."
Fraid Posté(e) le 1 mars 2018 Auteur Posté(e) le 1 mars 2018 Merci pour ce conseil, vais tout de suite enregistrer mon fichier principale vidé de ses objets en dwt.je ne vais pas me lancer a coder cela, d'autres chantier lisp en cours..et c'est vraiment rare pour moi de devoir gérer des groupes...à tantôt https://github.com/Fraiddd
lecrabe Posté(e) le 2 mars 2018 Posté(e) le 2 mars 2018 Hello Ayant farfouille dans "mes" 2000 routines Lisp/VLisp ... http://cadxp.com/topic/26629-importexport-filtres-de-calque/ Par contre je n'ai pas teste cette routine du Grand Maitre Gilles sur des ACADs modernes ! Je l'avais teste a l'epoque sur du AutoCAD 2012/2013 ... SVP tu nous diras, Bye, lecrabe Autodesk Expert Elite Team
(gile) Posté(e) le 2 mars 2018 Posté(e) le 2 mars 2018 Salut, LayerFilterImportExport devrait fonctionner sur des "AutoCAD modernes".Charger LayerFilterImportExport.dll jusqu'à AutoCAD 2012 et LayerFilterImportExport_19 pour 2013 et plus.Par contre, je rappelle que LayerFilterImportExport permet d'importer ou d'exporter les filtres de propriété. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Fraid Posté(e) le 2 mars 2018 Auteur Posté(e) le 2 mars 2018 Bonjour, -LayerFilterImportExport.dll ne fonctionne pas avec les Groupes de calques sur 2018 (import/export)-le dwt, le wbloc ouvre systématiquement l'acadiso vais pas le remplaceret ne trouve pas la variable qui gére les gabarits utilisés au moment d'un wbloc...je ne sait plus ou j'ai vu que cela fonctionnais avec design center, marche pah non plus,les lisp de Bred non plus...reste, ce code moissonné grace à lui, sur un site japonais (defun y_layergroup_get( / ACADOBJ E_DATA E_NAME_LIST ) (setq ACADOBJ (vlax-get-property (vlax-get-property (vlax-get-acad-object) 'ActiveDocument) 'Layers)) (setq ACADOBJ (vlax-invoke-method ACADOBJ 'GetExtensionDictionary)) (setq E_DATA (entget (vlax-vla-object->ename ACADOBJ))) ;AutoLISP ;(setq E_DATA (entget (cdr (assoc 360 (entget (cdr (assoc 330 (entget (tblobjname "layer" "0"))))))))) (setq E_DATA (entget (cdadr (member '(3 . "ACLYDICTIONARY") E_DATA)))) (foreach n E_DATA (if (= (car n) 350) (setq E_NAME_LIST (append E_NAME_LIST (list (cdr n)))) ) ) E_NAME_LIST ) (defun y_layergroup_create( GROUP_NAME / TBL_E_DATA DIC_E_DATA AD_E_DATA E_NAME ) (setq TBL_E_DATA (entget (y_dxfdata 330 (entget (tblobjname "layer" "0"))))) (setq DIC_E_DATA (entget (y_dxfdata 360 TBL_E_DATA))) (setq AD_E_DATA (entget (cdadr (member '(3 . "ACLYDICTIONARY") DIC_E_DATA)))) (setq E_NAME (entmakex (list '(0 . "XRECORD") '(102 . "{ACAD_REACTORS") (cons 330 (y_dxfdata -1 AD_E_DATA)) '(102 . "}") (cons 330 (y_dxfdata -1 AD_E_DATA)) '(100 . "AcDbXrecord") '(280 . 1) '(290 . 1) '(1 . "AcLyLayerGroup") '(90 . 1) (cons 300 GROUP_NAME) ) ) ) (setq E_NAME (y_dxfdata -1 (entmod (append AD_E_DATA (list (cons 3 "*") (cons 350 E_NAME))) ) ) ) (setq E_NAME (y_dxfdata -1 (entmod (append (reverse (cdr (reverse DIC_E_DATA))) (list (cons 360 E_NAME)) ) ) ) ) (y_dxfchange 360 E_NAME TBL_E_DATA) ) (defun y_dxfdata ( D_CODE E_DATA / ) (cdr (assoc D_CODE E_DATA)) ) (defun y_dxfchange( D_CODE NEW_DATA E_DATA / ) (if (y_dxfdata D_CODE E_DATA) (entmod (subst (cons D_CODE NEW_DATA) (assoc D_CODE E_DATA) E_DATA)) (entmod (append E_DATA (list (cons D_CODE NEW_DATA)))) ) ) vais testé cela ce week endMerci https://github.com/Fraiddd
Fraid Posté(e) le 2 mars 2018 Auteur Posté(e) le 2 mars 2018 tester pendant l'apéro sa marche imppécablevais me servir de y_layergroup_createj'ai deja une liste consultable de correspondance calques/Groupes du genre (defun ListGroupe (num / ListCod) (setq ListCod '((22 . "MACHIN") (32 . "TRUC") (84 . "LAUTRE" ;.... ) ) (mapcar '(lambda (x) (if (= (car x) (atoi num)) (setq Txt (cdr x)))) ListCod ) (eval Txt) ) num etant le nom du calque qui sont des entiers qui arrive en string (il fait chaud a st malo) (y_layergroup_create (ListeGroupe (num)) https://github.com/Fraiddd
Fraid Posté(e) le 2 mars 2018 Auteur Posté(e) le 2 mars 2018 En attendant j'ai soulevé un canard avec DWT VS WBLOC..... https://github.com/Fraiddd
Fraid Posté(e) le 3 mars 2018 Auteur Posté(e) le 3 mars 2018 aprés une petite recherche, wbloc n'utilise pas de dwt, mais un "clone" du dessin ou est executé wbloc... https://github.com/Fraiddd
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant