| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: entmake attributsblock (1093 mal gelesen)
|
CADblue Mitglied
 
 Beiträge: 117 Registriert: 20.07.2011 ACAD18,Linear19
|
erstellt am: 11. Mai. 2012 13:00 <-- editieren / zitieren --> Unities abgeben:         
Hallo!!! Ich versuche gerade krampfhaft mir mit "entmake" einen attributsblock zu kopieren, leider funktioniert es aber irgendwie nicht. Testweise Ausgangsform: (entmake(entget(car(entsel)))) dann dachte ich mir viell. liegt es am gleichen objektnamen was autocad nicht erkennt da ja evtl der gleiche block mit gleichem objektnamen vorhanden ist also habe ich mal das versucht (entmake (cdr(entget(car(entsel))))) sodass viell. von acad ein neuer objektname vergeben wird. Ich habe die beiden versionen mit normalen blöcken kopiert, das war alles kein problem aber mit attributsblöcken bekomme ich es einfach nicht hin. Woran liegt das? eigentlich will ich nur einen vorhandenen attributsblock mit entmod einen neuen namen zuweisen jedoch auch das wird nicht aktezpiert ... mfg blue Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13530 Registriert: 30.11.2003 .
|
erstellt am: 11. Mai. 2012 13:15 <-- editieren / zitieren --> Unities abgeben:          Nur für CADblue
|
CADblue Mitglied
 
 Beiträge: 117 Registriert: 20.07.2011 ACAD18,Linear19
|
erstellt am: 11. Mai. 2012 13:27 <-- editieren / zitieren --> Unities abgeben:         
ok cadmi danke soweit, das sieht doch etwas aufwändiger aus den block zu clonen. werde ich mir evtl am wochenende mal zu gemühte führen. wie sieht es aus wenn ich den block umbenennen will? denn die einzige antwort die ich bekomme ist "nil" Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13530 Registriert: 30.11.2003 .
|
erstellt am: 11. Mai. 2012 13:43 <-- editieren / zitieren --> Unities abgeben:          Nur für CADblue
|
Andreas Kraus Ehrenmitglied Elektrotechniker
    
 Beiträge: 1500 Registriert: 11.01.2006 WIN 11 ACAD 2022 BricsCAD V25.1.07
|
erstellt am: 11. Mai. 2012 16:09 <-- editieren / zitieren --> Unities abgeben:          Nur für CADblue
Das geht nicht mit entmake weil die Attribute fehlen. Das hier sollte reichen: (defun c:clone (/ ENT_DATA ENT_LIST ENT_NAME PIC) ;;; wählen (if (setq pic (entsel)) (progn ;;; Daten in Liste (setq ent_data (entget (setq ent_name (car pic)))) (setq ent_list (cons ent_data ent_list)) ;;; wenn Folgeobjekte (Attribute) (if (= (cdr (assoc 66 ent_data)) 1) (progn (while (/= (cdr (assoc 0 ent_data)) "SEQEND") (setq ent_data (entget (setq ent_name (entnext ent_name)))) (setq ent_list (cons ent_data ent_list)) ) ) ) ;;; neues Objekt erstellen, vorher Elementnamen aus Daten löschen (foreach ent_data (reverse (mapcar '(lambda (ent_data) (vl-remove (assoc -1 ent_data) ent_data) ) ent_list ) ) (entmakex ent_data) ) ) ) (princ) ) ------------------ Geht nicht, gibts nicht Gruß Andreas http://kraus-cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADblue Mitglied
 
 Beiträge: 117 Registriert: 20.07.2011 ACAD18,Linear19
|
erstellt am: 14. Mai. 2012 14:24 <-- editieren / zitieren --> Unities abgeben:         
|