philsogood Posté(e) le 15 mai 2023 Posté(e) le 15 mai 2023 hello j'ai un fichier qui comprend 51 MTXT et je souhaiterai savoir comment faire pour : - transformer ces textes en bloc avec un attribut (qui aura pour valeur le contenu du MTXT) comment vous y prendriez vous? dans un monde parfait je souhaiterai que le bloc porte tout le temps le même nom. Phil ensemble_tag.dwg Citer Projeteur Revit Indépendant - traitement des eaux/CVC
JPhil Posté(e) le 15 mai 2023 Posté(e) le 15 mai 2023 Une ressemblance avec ce post >>> ici <<< Citer
bonuscad Posté(e) le 15 mai 2023 Posté(e) le 15 mai 2023 Comme le dit JPhil voici le code ressemblant adapté à ton dessin exemple ((lambda ( / js n dxf_ent pt txt) (if (not (tblsearch "STYLE" "ROMANS")) (entmake '( (0 . "STYLE") (100 . "AcDbSymbolTableRecord") (100 . "AcDbTextStyleTableRecord") (2 . "ROMANS") (70 . 0) (40 . 0.0) (41 . 0.8) (50 . 0.0) (71 . 0) (42 . 0.0945) (3 . "romans.shx") (4 . "") ) ) ) (if (not (tblsearch "BLOCK" "MTX2BLK")) (progn (entmake '( (0 . "BLOCK") (100 . "AcDbEntity") (8 . "0") (2 . "MTX2BLK") (70 . 2) (4 . "") (8 . "0") (62 . 0) (6 . "ByBlock") (370 . -2) (10 0.0 0.0 0.0) ) ) (entmake '( (0 . "ATTDEF") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (62 . 0) (6 . "ByBlock") (370 . -2) (100 . "AcDbText") (10 -0.2034 -0.04725 0.0) (40 . 0.0945) (1 . "") (50 . 0.0) (41 . 0.8) (51 . 0.0) (7 . "ROMANS") (71 . 0) (72 . 1) (11 0.0 0.0 0.0) (210 0.0 0.0 1.0) (100 . "AcDbAttributeDefinition") (280 . 0) (3 . "Texte vers Attribut") (2 . "VALEUR") (70 . 0) (73 . 0) (74 . 2) (280 . 1) ) ) (entmake '( (0 . "LWPOLYLINE") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (62 . 0) (6 . "ByBlock") (370 . -2) (100 . "AcDbPolyline") (90 . 4) (70 . 1) (43 . 0.0) (38 . 0.0) (39 . 0.0) (10 -0.61349 0.100763) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (10 -0.61349 -0.100763) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (10 0.624823 -0.100763) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (10 0.624823 0.100763) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (210 0.0 0.0 1.0) ) ) (entmake '((0 . "ENDBLK") (100 . "AcDbEntity") (8 . "0") (62 . 0) (6 . "ByBlock") (370 . -2))) ) ) (setq js (ssget "_X" '((0 . "MTEXT") (67 . 0) (410 . "Model") (8 . "Repere")))) (cond (js (repeat (setq n (sslength js)) (setq ent (ssname js (setq n (1- n))) dxf_ent (entget ent) pt (cdr (assoc 10 dxf_ent)) txt (cdr (assoc 1 dxf_ent)) ) (entmake (list '(0 . "INSERT") '(100 . "AcDbEntity") '(67 . 0) '(410 . "Model") '(8 . "Repere") '(100 . "AcDbBlockReference") '(66 . 1) (cons 2 "MTX2BLK") (cons 10 pt) '(41 . 1.0) '(42 . 1.0) '(43 . 1.0) '(50 . 0.0) '(70 . 0) '(71 . 0) '(44 . 0.0) '(45 . 0.0) '(210 0.0 0.0 1.0) ) ) (entmake (list '(0 . "ATTRIB") '(100 . "AcDbEntity") '(67 . 0) '(410 . "Model") '(8 . "0") '(62 . 0) '(6 . "ByBlock") '(370 . -2) '(100 . "AcDbText") (cons 10 pt) '(40 . 0.0945) (cons 1 txt) '(50 . 0.0) '(41 . 1.0) '(51 . 0.0) '(7 . "ROMANS") '(71 . 0) '(72 . 1) (cons 11 pt) '(210 0.0 0.0 1.0) '(100 . "AcDbAttribute") '(280 . 0) '(2 . "VALEUR") '(70 . 0) '(73 . 0) '(74 . 2) '(280 . 1) ) ) (entmake (list '(0 . "SEQEND") '(100 . "AcDbEntity") '(67 . 0) '(410 . "Model") '(8 . "Repere"))) (entdel ent) ) ) ) (prin1) )) Citer Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Messages recommandés