| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Einzelteile einer Referenz auslesen (1824 mal gelesen)
|
Lary Mitglied Elektroniker f. Ger. & Sys., staatl. gepr. Elektrotechniker
Beiträge: 174 Registriert: 01.08.2002 AutoCAD 2019 Microsoft Windows 10 Pro Intel(R) Core(TM) i5-9400F CPU 2,90Ghz NVIDIA GeForce GT 730
|
erstellt am: 16. Sep. 2005 15:16 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, folgende Frage: Ist es möglich bei Blöcke mit Attributen die sich in der Referenz einer Zeichnung befinden die Blöcke auslesen zu könne ohne die Zeichnung binden und sprengen zu müssen? Wenn man eine Referenz in eine Zeichnng lädt, bildet AutoCAD doch einen "Gesamtblock". Hintergrund ist, das wir Grundrisse mit div. Blöcken mit Attributen unter unsere Zeichnungen laden. Um an die Attribute zu kommen müssen wir bis jetzt halt den umständlichen weg gehen. MfG Lary ------------------ MfG Lary Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
g.r Mitglied Beruf? Ja! Ausbildung: auch!!
Beiträge: 603 Registriert: 06.07.2005 ACA 2010 Scaleo, AMD Athlon64 DC4600+ acer Aspire 8930 4C 4GB VISTA Ultimate HP 750C AMD Athlon, W2k
|
erstellt am: 16. Sep. 2005 15:27 <-- editieren / zitieren --> Unities abgeben: Nur für Lary
Hi Lary, Attrib-Blöcke in Xref´s und auch in einem geschachtelten Block nicht erkannt. Die Attrib-Blöcke müssen direkt "greifbar" sein. Ich gehe zwar auch den eher umständlichen Weg. Ich referenziere alle Grundrisse in eine Datei. Nach dem 2. öffnen binde ich die Xref´s und löse die "Gesamtblöcke" auf, lese danach aus. Beenden tue ich ohne speichern, damit die Xref´s für die nächste Auswertung aktuallisiert werden. Anschließend wieder binden, auflösen, nicht speichern. Vielleicht nicht sehr elegant, aber es funktioniert. Gruß Günter ------------------ Lieber meditieren - als ´rumsitzen und nix tun. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
g.r Mitglied Beruf? Ja! Ausbildung: auch!!
Beiträge: 603 Registriert: 06.07.2005 ACA 2010 Scaleo, AMD Athlon64 DC4600+ acer Aspire 8930 4C 4GB VISTA Ultimate HP 750C AMD Athlon, W2k
|
erstellt am: 16. Sep. 2005 15:31 <-- editieren / zitieren --> Unities abgeben: Nur für Lary
Oh ich vergaß. Die Attrib´s der Bearbeitungsdatei (Die mit den Xref´s) lese ich natürlich direkt aus. Die Auswertungen sammele ich sowieso in einer Pivot-Exceldatei. Günter ------------------ Lieber meditieren - als ´rumsitzen und nix tun. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur
Beiträge: 7085 Registriert: 13.01.2004 Sie nannten ihn google.
|
erstellt am: 16. Sep. 2005 15:34 <-- editieren / zitieren --> Unities abgeben: Nur für Lary
Für was brauchst du die Attribute ? Wenn du sie nur auslesen willst - das geht mit eattext ganz normal. Dann hast du sie in einer Textdatei. (auch wenn diese in einem XREF eingefügt wurden...) ------------------ Grüsse Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
g.r Mitglied Beruf? Ja! Ausbildung: auch!!
Beiträge: 603 Registriert: 06.07.2005 ACA 2010 Scaleo, AMD Athlon64 DC4600+ acer Aspire 8930 4C 4GB VISTA Ultimate HP 750C AMD Athlon, W2k
|
erstellt am: 16. Sep. 2005 15:43 <-- editieren / zitieren --> Unities abgeben: Nur für Lary
|
Lary Mitglied Elektroniker f. Ger. & Sys., staatl. gepr. Elektrotechniker
Beiträge: 174 Registriert: 01.08.2002 AutoCAD 2019 Microsoft Windows 10 Pro Intel(R) Core(TM) i5-9400F CPU 2,90Ghz NVIDIA GeForce GT 730
|
erstellt am: 19. Sep. 2005 10:17 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, sorry das ich mich erst jetzt zu dem Thema zurückmelde, es lag halt ein Wochenende dazwischen. Ganz genau gesagt möchte ich folgendes machen: Wir haben, wie schon gesagt, Referenzen in den Blöcken mit Attributen enthalten sind. Diese Referenzzeichnungen müssen halt eben auch Referenzen bleiben da öfter aktualisiert werden. Die enthaltenen Attributen sind allerdings ebenso interesant für die aktuelle Zeichnung. Ich will keine Stückliste oder so aus den Attributen erstellen. Ich möchte lediglich den Inhalt eines "Referenzattributs" auslesen und ihn in ein Attribut der aktuellen Zeichnung schreiben. MfG Lary ------------------ MfG Lary Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
g.r Mitglied Beruf? Ja! Ausbildung: auch!!
Beiträge: 603 Registriert: 06.07.2005 ACA 2010 Scaleo, AMD Athlon64 DC4600+ acer Aspire 8930 4C 4GB VISTA Ultimate HP 750C AMD Athlon, W2k
|
erstellt am: 19. Sep. 2005 14:36 <-- editieren / zitieren --> Unities abgeben: Nur für Lary
Zitat: Original erstellt von Lary: Ich möchte lediglich den Inhalt eines "Referenzattributs" auslesen und ihn in ein Attribut der aktuellen Zeichnung schreiben. [/B]
versteh´ich nicht! wenn du die attrib´s nicht auslesen willst, sie aber im xref hast, warum brauchst du sie denn noch´mal? und wenn, warum kopierst du die xref-attrib´s nicht in deine datei. diese könntest du auch noch mit "attredef" modifizieren. gruß günter ------------------ Lieber meditieren - als ´rumsitzen und nix tun. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lary Mitglied Elektroniker f. Ger. & Sys., staatl. gepr. Elektrotechniker
Beiträge: 174 Registriert: 01.08.2002 AutoCAD 2019 Microsoft Windows 10 Pro Intel(R) Core(TM) i5-9400F CPU 2,90Ghz NVIDIA GeForce GT 730
|
erstellt am: 19. Sep. 2005 15:15 <-- editieren / zitieren --> Unities abgeben:
Hallo Günter, im Detail geht es mir um folgendermaßen: Wir haben Grundrisse auf denen wir Kabelwege gezeichnet haben. Durch jede Wand geht ein Durchbruch welcher als Block dargestellt ist und Attribute enthält. Diese Zeichnung dient als Referenz für div. Kabelpläne. Um jetzt die Länge der Kabel welche über diese Kabelwege gezogen werden sollen ermitteln zu können müssen wir jetzt irgendwie die Attribute der Durchbrüche auslesen und das am besten per Mausklick. Wenn wir nähmlich die Infomationen der Durchbrüche haben können wir über eine VBA Routine die Kabellänge berechenen die wir zwischen zwei Durchbrüchen benötigen. MfG Lary
------------------ MfG Lary Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
g.r Mitglied Beruf? Ja! Ausbildung: auch!!
Beiträge: 603 Registriert: 06.07.2005 ACA 2010 Scaleo, AMD Athlon64 DC4600+ acer Aspire 8930 4C 4GB VISTA Ultimate HP 750C AMD Athlon, W2k
|
erstellt am: 19. Sep. 2005 15:43 <-- editieren / zitieren --> Unities abgeben: Nur für Lary
hallo lary, was hällst du von meinem vorschag der kopierten, neudefinierten attrib´s? diese kannst du doch auf deinen benötigten umfang reduzieren, oder auch erweitern, der vorhandene attrib-inhalt bleibt ja bestehen. und du kannst die blöcke immer aktuallisieren und auslesen. welche info´s werden denn den durchbrüchen mitgegeben? (ich habe vor einiger zeit kabelwege per 3d-linie ermittelt. diese konstruktion basierte auf xreferenzierten grundrissen mit wahrer z-ebenen einfügung. die kabelwege/-liste haben wir per attrib-block ausgelesen. inhalt: kabelstart, -ende, -länge). günter ------------------ Lieber meditieren - als ´rumsitzen und nix tun. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lary Mitglied Elektroniker f. Ger. & Sys., staatl. gepr. Elektrotechniker
Beiträge: 174 Registriert: 01.08.2002 AutoCAD 2019 Microsoft Windows 10 Pro Intel(R) Core(TM) i5-9400F CPU 2,90Ghz NVIDIA GeForce GT 730
|
erstellt am: 19. Sep. 2005 16:18 <-- editieren / zitieren --> Unities abgeben:
|
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 bis ACA 2013 Arcibem System: Windows Internet-Startseite: http://www.archi.de
|
erstellt am: 19. Sep. 2005 18:12 <-- editieren / zitieren --> Unities abgeben: Nur für Lary
Hallo Lary! Im Prinzip ist es natürlich möglich an die Attribute zu kommen. [Jetzt ein bischen Lisp...] Allgemein kommt man an Attribute über die Funktion (entnext "blockname"), und an den Blocknamen über (entsel). Bei geschachtelten Blöcken (und xrefs) ist das etwas komplizierter, die entscheidende funktion dafür lautet aber (nentsel). [\Ende Lisp]. Ich hab' mal meine Attributs-auslese-funktion etwas modifiziert: Code: (defun c:get-xref-block-att ( / xref_block attribut att att_list) (setq xref_block (nentsel)) (if xref_block (progn (setq xref_block (cdr (assoc 330 (entget (car xref_block))))) (setq attribut (entnext xref_block)) (while attribut (if (= "ATTRIB" (cdr (assoc 0 (setq att (entget attribut))))) (setq att_list (cons (cons (cdr (assoc 2 att)) (cdr (assoc 1 att))) att_list)) ) (setq attribut (entnext attribut)) ) ) ) (setq att_list att_list) )
Die Funktion gibt eine Liste aus Attributsnamen und Werten zurück. Bei Interesse erläutere ich Dir auch noch, wie das im Einzelnen geht. Grüsse, Henning------------------ VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lary Mitglied Elektroniker f. Ger. & Sys., staatl. gepr. Elektrotechniker
Beiträge: 174 Registriert: 01.08.2002 AutoCAD 2019 Microsoft Windows 10 Pro Intel(R) Core(TM) i5-9400F CPU 2,90Ghz NVIDIA GeForce GT 730
|
erstellt am: 20. Sep. 2005 09:02 <-- editieren / zitieren --> Unities abgeben:
Hallo wronzsky, vielen Dank für Deine Antwort. Ich bin leider noch nicht wirklich fit was LISP angeht, bin gerade dabei mapcar´s tutorial zu lesen. Wenn ich Dein LISP anwende werde ich aufgefordert einen Block zu wählen. Um welche n Block handelt es sich? Klicke ich auf einen Block der sich in der Referenzierten Zeichnung befindet bekomme ich den Wert NIL zurück. Kann es sein das dann der "Gesamtblock", also die Referenzzeichung selektiert wird? So wie ich bisher ein wenig LISP lesen kann erstellst Du eine Variable namens "xref_block", werden in diese alle möglichen vorhandenen Attributswerte hineingeschrieben? MfG Lary ------------------ MfG Lary Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 bis ACA 2013 Arcibem System: Windows Internet-Startseite: http://www.archi.de
|
erstellt am: 20. Sep. 2005 09:38 <-- editieren / zitieren --> Unities abgeben: Nur für Lary
Hallo Lary! Das Programm gibt nur Attribute von Blöcken zurück. Wenn der Block in der Xref keine Attribute hat, dann gibt es natürlich Nil (also keine Attribute im Block) zurück. Wenn Du Dir sicher bist, dass der Block Attribute hat, poste doch mal die Zeichnung (incl. xref), dann kann ich mir das mal ansehen. (Vielleicht kann es sein, dass es ein Block im Block in Xref ist.) Grüsse, Henning ------------------ VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lary Mitglied Elektroniker f. Ger. & Sys., staatl. gepr. Elektrotechniker
Beiträge: 174 Registriert: 01.08.2002 AutoCAD 2019 Microsoft Windows 10 Pro Intel(R) Core(TM) i5-9400F CPU 2,90Ghz NVIDIA GeForce GT 730
|
erstellt am: 20. Sep. 2005 10:55 <-- editieren / zitieren --> Unities abgeben:
Hallo Henning, habe es nochmal mit einer anderen Zeichnung versucht und siehe da es klappt. So wie es aussieht wird also nun eine Liste sämtlicher in der Referenzzeichnung vorkommender Attribute mit Ihren Inhalten erstellt. Wie bekomme ich den jetzt explizit die Inhalte eines bestimmten Blocks ausgelesen? Es ist die Regel das wir Blöcke des gleichen Namens sehr viel mehr als nur einmal in die Referenzzeichnung bringen, die Attribute aber verschieden Inhalte bekommen. MfG Matthias ------------------ MfG Lary Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 bis ACA 2013 Arcibem System: Windows Internet-Startseite: http://www.archi.de
|
erstellt am: 20. Sep. 2005 11:36 <-- editieren / zitieren --> Unities abgeben: Nur für Lary
Hi Lary! Da hab' ich wohl eine Abbruchbedingung vergessen, war auch gestern abend zu schnell gestrickt. Hier also der korrigierte Code: Code: (defun c:get-xref-block-att ( / xref_block attribut att att_list) (setq xref_block (nentselp)) (if xref_block (progn (setq xref_block (cdr (assoc 330 (entget (car xref_block))))) (setq attribut (entnext xref_block)) (while attribut (if (= "ATTRIB" (cdr (assoc 0 (setq att (entget attribut))))) (setq att_list (cons (cons (cdr (assoc 2 att)) (cdr (assoc 1 att))) att_list)) ) (setq attribut (entnext attribut)) (if (= "SEQEND" (cdr (assoc 0 (setq att (entget attribut))))) (setq attribut nil)) ) ) ) (setq att_list att_list) )
Grüsse, Henning------------------ VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lary Mitglied Elektroniker f. Ger. & Sys., staatl. gepr. Elektrotechniker
Beiträge: 174 Registriert: 01.08.2002 AutoCAD 2019 Microsoft Windows 10 Pro Intel(R) Core(TM) i5-9400F CPU 2,90Ghz NVIDIA GeForce GT 730
|
erstellt am: 20. Sep. 2005 12:40 <-- editieren / zitieren --> Unities abgeben:
|
stolti Mitglied technischer zeichner
Beiträge: 373 Registriert: 05.09.2007 auto_cad 2008 athena 2008 DELL Precision PWS390 Intel Core2 CPU 6600 2gb RAM 2.40 GHz
|
erstellt am: 13. Jun. 2008 17:04 <-- editieren / zitieren --> Unities abgeben: Nur für Lary
hallo. darf ich das thema mal weiterführen? ich hab letztens in nem plan gesehen, dass die firma ne liste/tabelle mit allen ihren x-refdateinamen und dem pfad über dem schriftfeld hatte. kann ich die namen über attribute kriegen oder braucht man dazu makros/lisps/routinen? vielen dank stolti Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 14. Jun. 2008 08:18 <-- editieren / zitieren --> Unities abgeben: Nur für Lary
Zitat: Original erstellt von stolti: hallo.darf ich das thema mal weiterführen? ich hab letztens in nem plan gesehen, dass die firma ne liste/tabelle mit allen ihren x-refdateinamen und dem pfad über dem schriftfeld hatte. kann ich die namen über attribute kriegen oder braucht man dazu makros/lisps/routinen? vielen dank stolti
Rtext (aus den Etools) mit Dieselausdruck $(xrefs,2,) sollte weiterhelfen. Ne Programmierung kann noch mehr und ist noch flexibler ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
stolti Mitglied technischer zeichner
Beiträge: 373 Registriert: 05.09.2007 auto_cad 2008 athena 2008 DELL Precision PWS390 Intel Core2 CPU 6600 2gb RAM 2.40 GHz
|
erstellt am: 14. Jun. 2008 12:00 <-- editieren / zitieren --> Unities abgeben: Nur für Lary
|