| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY WIRD VON NVIDIA ZUM HÄNDLER DES JAHRES GEWÄHLT, eine Pressemitteilung
|
Autor
|
Thema: Pläne abgleichen - Daten v. INSERTs aus XREF (1639 mal gelesen)
|
Geos Mitglied Vermessungstechniker i.R.
Beiträge: 1017 Registriert: 21.09.2001 ACAD Map 2010, Win 7 Pro eigene Lisp's<P>HW: Core i7 860, 2.8 GHz 3.3 GB, NVIDIA GeForce GTS 250
|
erstellt am: 11. Okt. 2013 14:38 <-- editieren / zitieren --> Unities abgeben:
Servus Aufgabe: 2 Pläne über's gleiche Gebiet - aus der (ältern, detailreicheren) DWG-A sollen Objekte in die (neuere) DWG-B übernommen werden. Zum Vergleich/Beurteilung/Entscheidung werden die Pläne übereinander gelegt (z.B. XREF). Bei Linien, Bögen, Texten, etc. kann man diese nun mit (nentsel) auswählen und deren EListe (entmake)n. Und jedes Mal, wenn die Aufgabe ansteht, nehme ich mir vor, das Programm zu erweitern, um auch Blockreferenzen so zu übernehmen - bin aber jedesmal dran gescheitert, dass ich zwar die E-Liste des beispielsweise angeklickten Attributs bekomme, nicht aber die restlichen Daten. Gibts da eine Möglichkeit?
------------------ Schöne Grüße Ernst www.geopaint.at Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22298 Registriert: 03.06.2002 Alles
|
erstellt am: 11. Okt. 2013 15:06 <-- editieren / zitieren --> Unities abgeben: Nur für Geos
Wenn du schon nentsel nutzt: Schau auch mal in die Hilfe und sieh dir an was es dir zurück gibt. auch direkt in der DWG ansehen (wenn du ein Objekt aus einem Block klickst sieht die Rückmeldung anders aus wie bei einer unverschachtelten Linie im Xref, viel Spaß beim entdecken ) ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD [Diese Nachricht wurde von cadffm am 11. Okt. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Geos Mitglied Vermessungstechniker i.R.
Beiträge: 1017 Registriert: 21.09.2001 ACAD Map 2010, Win 7 Pro eigene Lisp's<P>HW: Core i7 860, 2.8 GHz 3.3 GB, NVIDIA GeForce GTS 250
|
erstellt am: 15. Okt. 2013 09:43 <-- editieren / zitieren --> Unities abgeben:
Zitat: Wenn du schon nentsel nutzt...
Du darfst mir gern auch andere Lösungen vorschlagen ;) Zitat: ...Schau auch mal in die Hilfe und sieh dir an was es dir zurück gibt...
Was glaubst, was ich bisher gemacht habe? Zitat: ...bin aber jedesmal dran gescheitert, dass ich zwar die E-Liste des beispielsweise angeklickten Attributs bekomme ...
nur als Beispiel - oder eben eines Kreises, Linie, usw. F1, SuFu, Suchmaschine, Try&Error - alles schon probiert ... ------------------ Schöne Grüße Ernst www.geopaint.at Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22298 Registriert: 03.06.2002 Alles
|
erstellt am: 15. Okt. 2013 10:14 <-- editieren / zitieren --> Unities abgeben: Nur für Geos
Ja da bin ich jetzt zugegeben etwas platt. Wenn ich das mache (nentsel-Abfrage) dann schaut das so aus:
Befehl: (plist(nentsel))
1.Kreis in XREF Objekt wählen: <Objektname: 7ddb5f78> (41895.9 109205.0 0.0) ((1000.0 0.0 0.0) (0.0 1000.0 0.0) (0.0 0.0 1000.0) (0.0 0.0 0.0)) (<Objektname: 7e575f48> ) 2.Insert/Blockobjekt im XREF Objekt wählen: <Objektname: 7ddb5ec0> (20913.8 29318.9 0.0) ((1000.0 0.0 0.0) (0.0 1000.0 0.0) (0.0 0.0 1000.0) (0.0 0.0 0.0)) (<Objektname: 7ddb5ed8> <Objektname: 7e575f48> )
3.Attribut eines Inserts im XREF Objekt wählen: <Objektname: 7ddb5ee8> (103708.0 70678.1 0.0) ((1000.0 0.0 0.0) (0.0 1000.0 0.0) (0.0 0.0 1000.0) (0.0 0.0 0.0)) (<Objektname: 7e575f48> )
1.) Es wird der INSERT angegeben in dem es verschachtelt ist - also das XRef-Insert 2.) Es wird das INSERT angegeben in dem es verschachtelt ist - UND das XRef-Insert 3.) Es wird das INSERT angegeben in dem es verschachtelt ist - also das XRef-Insert (Zu welchem Insert es gehört steht ja direkt im Attribut) Und jetzt meine Gegenfrage: Was brauchst du noch für Informationen die hier nicht stehen, oder habe ich einfach die Frage falsch verstanden ? <habe oben nochmal das Wort Block gegen Insert getauscht, aber ich denke nicht das es daran lag..> ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD [Diese Nachricht wurde von cadffm am 15. Okt. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Geos Mitglied Vermessungstechniker i.R.
Beiträge: 1017 Registriert: 21.09.2001 ACAD Map 2010, Win 7 Pro eigene Lisp's<P>HW: Core i7 860, 2.8 GHz 3.3 GB, NVIDIA GeForce GTS 250
|
erstellt am: 15. Okt. 2013 13:46 <-- editieren / zitieren --> Unities abgeben:
Ich weiß zwar nicht, was Deine Funktion (plist ..) macht, aber bei mir schaut das so aus: Teil eines Blocksymbols in der XREF (Kreis als Teil von "block1"):
Code: Befehl: (setq #x (entget (car (nentsel))))Objekt wählen: ((-1 . <Objektname: 7ec73f00>) (0 . "CIRCLE") (330 . <Objektname: 7edc0398>) (5 . "C508") (100 . "AcDbEntity") (67 . 0) (8 . "0") (100 . "AcDbCircle") (10 0.0 0.0 0.0) (40 . 0.994498) (210 0.0 0.0 1.0)) Befehl: (entget (cdr (assoc 330 #x))) nil
***** Kreis in der XREF:
Code: Befehl: (setq #x (entget (car (nentsel))))Objekt wählen: ((-1 . <Objektname: 7ec78220>) (0 . "CIRCLE") (330 . <Objektname: 7edc9c10>) (5 . "CDA4") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "xref1|ABC") (100 . "AcDbCircle") (10 2612.42 340267.0 0.0) (40 . 0.360779) (210 0.0 0.0 1.0)) Befehl: (entget (cdr (assoc 330 #x))) ((-1 . <Objektname: 7edc9c10>) (0 . "BLOCK_RECORD") (5 . "2") (102 . "{ACAD_XDICTIONARY") (360 . <Objektname: 7ec73840>) (102 . "}") (330 . <Objektname: 7edc9c08>) (100 . "AcDbSymbolTableRecord") (100 . "AcDbBlockTableRecord") (2 . "*Model_Space") (360 . <Objektname: 7edc9c18>) (340 . <Objektname: 7edc9c60>) (70 . 0) (280 . 1) (281 . 0))
***** Teil eines Blocksymbols in der XREF (Linie als Teil von "block2"):
Code: Befehl: (setq #x (entget (car (nentsel))))Objekt wählen: ((-1 . <Objektname: 7ec75340>) (0 . "LINE") (330 . <Objektname: 7ec12b20>) (5 . "C768") (100 . "AcDbEntity") (67 . 0) (8 . "0") (100 . "AcDbLine") (10 -0.499998 -0.499998 0.0) (11 -0.499998 0.499998 0.0) (210 0.0 0.0 1.0)) Befehl: (entget (cdr (assoc 330 #x))) nil
***** Linie in der XREF:
Code: Befehl: (setq #x (entget (car (nentsel))))Objekt wählen: ((-1 . <Objektname: 7ec78230>) (0 . "LINE") (330 . <Objektname: 7edc9c10>) (5 . "CDA6") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "xref1|ABC") (100 . "AcDbLine") (10 2612.26 340267.0 0.0) (11 2612.63 340267.0 0.0) (210 0.0 0.0 1.0)) Befehl: (entget (cdr (assoc 330 #x))) ((-1 . <Objektname: 7edc9c10>) (0 . "BLOCK_RECORD") (5 . "2") (102 . "{ACAD_XDICTIONARY") (360 . <Objektname: 7ec73840>) (102 . "}") (330 . <Objektname: 7edc9c08>) (100 . "AcDbSymbolTableRecord") (100 . "AcDbBlockTableRecord") (2 . "*Model_Space") (360 . <Objektname: 7edc9c18>) (340 . <Objektname: 7edc9c60>) (70 . 0) (280 . 1) (281 . 0))
***** Teil eines Blocksymbols in der XREF (Attribut als Teil von "block1")
Code: Befehl: (setq #x (entget (car (nentsel))))Objekt wählen: ((-1 . <Objektname: 7ec1f6a8>) (0 . "ATTRIB") (330 . <Objektname: 7ec1f698>) (5 . "2CDD") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "xref1|DEF") (100 . "AcDbText") (10 2613.02 340264.0 0.0) (40 . 0.36) (1 . "15.20") (50 . 0.0) (41 . 1.0) (51 . 0.0) (7 . "xref1|STANDARD") (71 . 0) (72 . 0) (11 0.0 0.0 0.0) (210 0.0 0.0 1.0) (100 . "AcDbAttribute") (280 . 0) (2 . "HOEHE") (70 . 0) (73 . 0) (74 . 0) (280 . 0)) Befehl: (entget (cdr (assoc 330 #x))) ((-1 . <Objektname: 7ec1f698>) (0 . "INSERT") (330 . <Objektname: 7edc9c10>) (5 . "2CDB") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "xref1|DEF") (100 . "AcDbBlockReference") (66 . 1) (2 . "xref1|block1") (10 2613.45 340265.0 0.0) (41 . 0.2) (42 . 0.2) (43 . 1.0) (50 . 0.0) (70 . 0) (71 . 0) (44 . 0.0) (45 . 0.0) (210 0.0 0.0 1.0))
Die INSERT-Daten - so wie hier - hab ich bei den obigen Beispielen noch nicht gefunden. Unter 330 steht zwar ein EName, aber der schmeckt dem (entget) nicht mehr. ------------------ Schöne Grüße Ernst www.geopaint.at Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22298 Registriert: 03.06.2002 Alles
|
erstellt am: 15. Okt. 2013 14:06 <-- editieren / zitieren --> Unities abgeben: Nur für Geos
Hallo Ernst, mein Lieber, <Achtung: es folgt eine Wiederholung> bitte schau dir an was dir NENTSEL zurück gibt ! 1. In der Hilfe nachlesen und 2. in der DWG Das habe ich auch in meiner letzten Antwort gemacht/gepostet, das was du machst (letzte Anwort) ist : Das geklickte Objekt untersuchen - statt der Rückgabe von nentsel (nentsel) das was Acad antwortet ist die Rückgabe !
und das sieht dann so aus wie bei mir (plist: gibt ein Listenelement einer Liste pro Zeile mit princ aus , mehr nicht) ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD
[Diese Nachricht wurde von cadffm am 15. Okt. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13529 Registriert: 30.11.2003 .
|
erstellt am: 15. Okt. 2013 14:08 <-- editieren / zitieren --> Unities abgeben: Nur für Geos
|
cadffm Moderator 良い精神
Beiträge: 22298 Registriert: 03.06.2002 Alles
|
erstellt am: 15. Okt. 2013 14:11 <-- editieren / zitieren --> Unities abgeben: Nur für Geos
Zitat: Original erstellt von Geos: Die INSERT-Daten - so wie hier - hab ich bei den obigen Beispielen noch nicht gefunden. Unter 330 steht zwar ein EName, aber der schmeckt dem (entget) nicht mehr.
Was willst du denn mit dem 330er ? Wird immer verrückter der Thread ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADwiesel Moderator CAD4FM UG
Beiträge: 1991 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 17. Okt. 2013 13:14 <-- editieren / zitieren --> Unities abgeben: Nur für Geos
|
Geos Mitglied Vermessungstechniker i.R.
Beiträge: 1017 Registriert: 21.09.2001 ACAD Map 2010, Win 7 Pro eigene Lisp's<P>HW: Core i7 860, 2.8 GHz 3.3 GB, NVIDIA GeForce GTS 250
|
erstellt am: 20. Okt. 2013 18:47 <-- editieren / zitieren --> Unities abgeben:
Sorry, dass ich erst jetzt zum Antworten komme. Ja so ist das mit den eingefahrenen Denkmustern - seit Jahren verwende ich nentsel wie entsel, nur eben mit der Meinung, dass nentsel halt den Namen des Unterelements liefert - speziell dafür braucht man natürlich auch kein F1, weiß man ja eh ... - Asche auf mein Haupt. Ich konnt's bisher nur kurz antesten, aber ich denke, ich finde jetzt die gesuchten Daten. @Martin Danke für das Angebot, aber ich will in die andere Richtung - XREF => aktuelle DWG ------------------ Schöne Grüße Ernst www.geopaint.at [Diese Nachricht wurde von Geos am 20. Okt. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |