| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Blockattribute (758 mal gelesen)
|
husby Mitglied Bauingenieur
Beiträge: 14 Registriert: 23.01.2007 AUTOCAD 2006 Express-tools
|
erstellt am: 04. Mai. 2007 14:18 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute, ich glaub, ich steh mal wieder auf dem Schlauch..... Ich forste schon seit zwei Stunden auf CAD.de rum hab aber noch nichts Passendes gefunden oder es hat nicht geklappt. Folgendes Problem: Ich habe eine alte Vermessungszeichnung mit Höhenpunkten, die auch auf einer konkreten z-Höhe liegen. Ich muss nun diese Höhenpunkte (sind Blöcke) durch andere auftraggeberspezifische Blöcke ersetzen, was ich dank CAD-Wiesels Tools schon geschafft habe. Die Höhenangaben sind in der Zeichnung unabhängig vom Block rangeschrieben. Durch den Auftraggeber wird eine Höheninformation innerhalb des Blocks gefordert. Der neue Block hat sogar das Attribut "Höhe", ich weiß aber nicht, wie ich die z-Angabe aller Blöcke in das Attribut übertragen bekomme. Folgendes habe ich ausprobiert: 1. habe im Blockeditor - Attributsdefinition bearbeiten- Bezeichnung Hoehe - Vorgabe ein Schriftfeld mit der z-kote des Punktes (Block) eingefügt; es erscheint jedoch nichts 2. habe versucht mit attout eine Liste zu erstellen, er zeigt jedoch nur einen Block statt alle 900 3. Mit der Attributsextraktion kann ich ja leider keine Attribute zurückschreiben 4. OLE-Verbindung beherrsche ich leider nicht Weiß jemand Rat????? Vielen dank im Voraus sagt Jens Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dig15 Ehrenmitglied V.I.P. h.c. Dipl.-Ing. für Markscheidewesen und Geodäsie
Beiträge: 5833 Registriert: 27.02.2003 DWG TrueView 2014
|
erstellt am: 04. Mai. 2007 14:23 <-- editieren / zitieren --> Unities abgeben: Nur für husby
|
husby Mitglied Bauingenieur
Beiträge: 14 Registriert: 23.01.2007 AUTOCAD 2006 Express-tools
|
erstellt am: 04. Mai. 2007 14:35 <-- editieren / zitieren --> Unities abgeben:
Hallo Lutz, erst einmal danke für deine schnelle Antwort!!!!! Aber was meinst du mit Script einlesen (Ich sage nur Schlauch ;-)) Ich dachte mit attin kann man nur die attout-dateien wieder ordentlich einlesen und attout hat bei mir nicht geklappt. Gruß Jens Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dig15 Ehrenmitglied V.I.P. h.c. Dipl.-Ing. für Markscheidewesen und Geodäsie
Beiträge: 5833 Registriert: 27.02.2003 DWG TrueView 2014
|
erstellt am: 04. Mai. 2007 14:44 <-- editieren / zitieren --> Unities abgeben: Nur für husby
Nicht attout/attin! Mit EATTEXT werden Blöcke mit allen Koordinaten, Attributen, etc. aus der Datei rausgeschrieben. Z.B. in eine Exceldatei. Dort kannst Du Dir dann die Blockkoordinaten extrahieren. Mittels script kannst Du Dir dann deine Blöcke mit den entsprechenden Attributen einlesen. Es gibt IMHO auch solche Tools schon als Lisp im Forum. ------------------ Viele Grüße Lutz Glück Auf! Sir Dig und Lady Diggerline Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
husby Mitglied Bauingenieur
Beiträge: 14 Registriert: 23.01.2007 AUTOCAD 2006 Express-tools
|
erstellt am: 04. Mai. 2007 14:51 <-- editieren / zitieren --> Unities abgeben:
Hallo Lutz, ja das extrahieren hat geklappt, ich hatte nur gelesen, dass der Bezug zu den entsprechenden Blöcken im Umkehrschluss verlorengeht. Ich werde mal schauen, ob ich ein entsprechendes Tool noch finde :-) Die eine Richtung ist ja schon erledigt. Im nachhinein lässt sich das mit den Blockattributen aber nicht aktualisieren???? Ich meine, die Blöcke liegen ja jetzt auf Höhe und mussten diese Angabe ja nur noch selbst darstellen können. Wie das Tool "z2txt". Aber anscheinend geht das nicht nachträglich. Vielen Dank noch mal und ein schönes WE für dich!!!! Gruß jens Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dig15 Ehrenmitglied V.I.P. h.c. Dipl.-Ing. für Markscheidewesen und Geodäsie
Beiträge: 5833 Registriert: 27.02.2003 DWG TrueView 2014
|
erstellt am: 04. Mai. 2007 15:02 <-- editieren / zitieren --> Unities abgeben: Nur für husby
Ob es nachträglich geht? Keine Ahnung. Unsere Lisp-Gurus scheinen nicht mehr mitzulesen. Das einlesen meinte ich in eine neue Datei. Probiere einfach mal: -einfüge Dort wird nach dem Block gefragt, anschließemd nach den Einfügekoordinaten und nach den Attributen. Das alles in der entsprechenden Reihenfolge in einem Script (Hilfe - F1) und schon sollte es klappen. ------------------ Viele Grüße Lutz Glück Auf! Sir Dig und Lady Diggerline Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
husby Mitglied Bauingenieur
Beiträge: 14 Registriert: 23.01.2007 AUTOCAD 2006 Express-tools
|
erstellt am: 04. Mai. 2007 15:53 <-- editieren / zitieren --> Unities abgeben:
Hallo Lutz, danke soweit für die Hilfe, aber ich komme natürlich mit dem Script nicht klar. Werde noch schauen, ob es doch eine Lisp daür gibt, die Angaben wieder zu reimportieren. Trotzdem danke für deine Anregungen! Gruß Jens Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1734 Registriert: 11.10.2004
|
erstellt am: 04. Mai. 2007 16:18 <-- editieren / zitieren --> Unities abgeben: Nur für husby
Hallo Jens, eins vorweg, ich kontaktiere Dich per PM, damit ich mich nacher nicht wieder rechtfertigen muss, warum ich Eigenwerbung im Forum mache. Wenn ich Dich richtig verstanden habe, geht es nur darum, die z-Koordinate eines Blockes in das Attribut "Höhe" zu übertragen. Wenn es so ist, dann kannst Du Dir die Bosse_tools unter http://www.bosse-engineering.com/bosse_tools/ im Bereich "Download" herunterladen ("Bosse_tools_7_070129.exe"). Nach der Installation stehen Dir die Programme für 30 Tage zur Verfügung. Du müsstest dann das Programm "3D-Punktblock Attributsbearbeitung" verwenden. Innerhalb diese Programms gibt es verschiedene Aufgaben, unter anderem "Höhenanschrieb aus z", das müßte das richtige für Dich sein. Falls Du Fragen hast kannst Du mich auch gerne anrufen: 05361/8977777 (Heute bis ca. 17:00 und dann Montag wieder ab 8:00) viele Grüße und ein schönes Wochenende Jörn ------------------ viele Grüße Jörn [EDIT] das glaubt mir jetzt eh keiner, ich habe die PM und einen Beitrag irgendwie verwechselt, der Inhalt dieses Beitrages war eigentlich als PM an Jens gedacht. Na dann man los, gebt es mir oder an die Moderatoren: löscht diesen Beitrag und dann ist gut. Ich wünsche Euch allen ein schönes Wochenende [/EDIT] [Diese Nachricht wurde von joern bosse am 04. Mai. 2007 editiert.] 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: 04. Mai. 2007 19:09 <-- editieren / zitieren --> Unities abgeben: Nur für husby
@Jörn: Es wurde nach einer Möglichkeit für eine Aufgabe gefragt. Du hast dafür Lösung. (Auch wenn du die nicht für "Lau" anbietest.) Warum sollte das "darauf hinweisen" nicht erlaubt sein?! Wenn deine Posts allerdings alle so aussehen würden, wie "ich hab das was, guck mal auf meine Site.." wärs was anderes, genauso wie Threaderöffnungen in dieser Art, also ohne Anforderung! So seh ich es als ein Angebot für eine Hilfe, nicht als Werbung. (Hoffe , ich seh das nicht nur alleine so?! ) Also ich lass dass mal so stehen. Kann ja sein , dass ein anderer das gleich Problem hat und sich über ein Angebot zur Lösung freut. Ansonsten ist der Weg über PM aber natürlich auch ok. Zumindest für alles weitere SCNR ------------------ - 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 |
civilization Mitglied MfA
Beiträge: 190 Registriert: 14.02.2006 Windows XP Civil 3D 2009
|
erstellt am: 04. Mai. 2007 19:27 <-- editieren / zitieren --> Unities abgeben: Nur für husby
|
husby Mitglied Bauingenieur
Beiträge: 14 Registriert: 23.01.2007 AUTOCAD 2006 Express-tools
|
erstellt am: 04. Mai. 2007 20:02 <-- editieren / zitieren --> Unities abgeben:
Ja, genau das ist es, der Einfügepunkt des Blocks liegt auf einer z-Höhe und diese z-Höhe soll im "Höhe-Attribut" des Blocks dargestellt werden. Da die Blöcke schon in der Zeichnung muss dies aber nachträglich passieren. Ich versuche es gerade mit Jörg´s Tools - es hat aber bisher noch nicht geklappt. Ich werde noch das Update installieren. Gruß Jens Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
husby Mitglied Bauingenieur
Beiträge: 14 Registriert: 23.01.2007 AUTOCAD 2006 Express-tools
|
erstellt am: 04. Mai. 2007 20:52 <-- editieren / zitieren --> Unities abgeben:
Hallo Jörn, das Programm sieht sehr "luxuriös" aus und ließ sich auch gut installieren. Leider hat das Programm den Vorgang nicht ausgeführt und blieb hängen. Das ließ sich nur mit der Escape-Taste abbrechen. Weißt du eine Lösung??? Viele Grüße
Jens Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dig15 Ehrenmitglied V.I.P. h.c. Dipl.-Ing. für Markscheidewesen und Geodäsie
Beiträge: 5833 Registriert: 27.02.2003 DWG TrueView 2014
|
erstellt am: 04. Mai. 2007 20:57 <-- editieren / zitieren --> Unities abgeben: Nur für husby
Hallo Jens, noch am arbeiten? Falls es mit Jörg seinem Tool nicht klappen sollte, hier noch mal die Script Variante. Die vorhanden Blöcke mit den Koordinaten auslesen ist klar und hat geklappt. Mit einem Script kann man einfache Befehlsabfolgen automatisieren. Eine Scriptdatei ist eine einfache Text-Datei mit der Endung scr. ich habe Dir mal eine angehangen und kommentiert. Vielleicht hilft es Dir weiter oder zeigt erstmal die Richtung. ------------------ Viele Grüße Lutz Glück Auf! Sir Dig und Lady Diggerline Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
husby Mitglied Bauingenieur
Beiträge: 14 Registriert: 23.01.2007 AUTOCAD 2006 Express-tools
|
erstellt am: 04. Mai. 2007 21:15 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von Dig15: Hallo Jens, noch am arbeiten? Falls es mit Jörg seinem Tool nicht klappen sollte, hier noch mal die Script Variante. Die vorhanden Blöcke mit den Koordinaten auslesen ist klar und hat geklappt. Mit einem Script kann man einfache Befehlsabfolgen automatisieren. Eine Scriptdatei ist eine einfache Text-Datei mit der Endung scr. ich habe Dir mal eine angehangen und kommentiert. Vielleicht hilft es Dir weiter oder zeigt erstmal die Richtung.
Hallo Lutz, und was ist mit dir??? Du arbeitest wohl auch noch??? Oder ist das Forum dein Hobby?? Dein Beispiel gibt mir erst einmal die Richtung, jedoch kann ich mir nicht so richtig vorstellen, wie ich die Abfrage aus der datei in das Script bekomme (Geht das mit Excel-datei und Spaltenbezeichnung????) und wie ich die Schleife ausformuliere, denn ich muss das ja ca. 900 mal machen... Hast du da noch nen Tipp, dann lasse ich dich für heute in Ruhe... Grins! Danke nochmals für deine Mühe und Hilfe!!! Gruß Jens Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dig15 Ehrenmitglied V.I.P. h.c. Dipl.-Ing. für Markscheidewesen und Geodäsie
Beiträge: 5833 Registriert: 27.02.2003 DWG TrueView 2014
|
erstellt am: 04. Mai. 2007 21:42 <-- editieren / zitieren --> Unities abgeben: Nur für husby
Nein, am arbeiten bin ich nicht mehr. Bezeichne es eher als Hobby. Zum Problem: Du hast Deine Koordinaten der Blöcke im Excel. Lösche alles andere drumherum. Füge die entsprechenden Spalten ein für: Befehlsaufruf, Blockname, Skalierung, Drehwinkel, Attribute, etc. Die einzufügenden Attribute entsprechen den Blockkoordinaten. Die Einfügekoordinaten des Blockes müssen in einer Zeile stehen, also bringe sie in einer Zelle zusammen (Zelleneintrag: =A1&","&B1&","&C1) Das kopieren in die anderen Zeilen sollte kein Problem sein. So hast Du dann Deine 900 Zeilen im Excel. Alles markieren, kopieren und in Word als unformatierten Text einfügen. Dann ersetzt Du noch die Tabstopps in Zeilenumbrüche (Enterzeichen), speicherst das als TXT Datei ab und benennst Die in .scr um. Noch Fragen? ------------------ Viele Grüße Lutz Glück Auf! Sir Dig und Lady Diggerline Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
civilization Mitglied MfA
Beiträge: 190 Registriert: 14.02.2006 Windows XP Civil 3D 2009
|
erstellt am: 04. Mai. 2007 22:55 <-- editieren / zitieren --> Unities abgeben: Nur für husby
|
husby Mitglied Bauingenieur
Beiträge: 14 Registriert: 23.01.2007 AUTOCAD 2006 Express-tools
|
erstellt am: 04. Mai. 2007 23:05 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von civilization: Block Deines AG (bereits eingefügt) mit Blockeditor bearbeiten In Attributdefinition Schriftfeld mit Abfrage der Z-Koordinate einfügen...fertig.
Ja,daran hatte ich auch gedacht, es hat leider nicht funktioniert...
Trotzdem danke für den Tipp!!! Viele Grüße Jens Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADchup Ehrenmitglied V.I.P. h.c.
Beiträge: 3329 Registriert: 14.03.2001 Sicher ist, dass nichts sicher ist. Selbst das nicht. Joachim Ringelnatz
|
erstellt am: 04. Mai. 2007 23:54 <-- editieren / zitieren --> Unities abgeben: Nur für husby
Hi, Zitat: Original erstellt von husby: Ja,daran hatte ich auch gedacht, es hat leider nicht funktioniert...
kann ja gar nicht klappen. Die Attributsdefinition ist in der Blockdefinition, nicht in der Referenz. Außerdem soll doch die Höhe der einzelnen Referenzen angezeigt werden, nicht die der Definition. Die hat gar keine. Es geht IMHO nur über den Attributstext, in den man per Lisp zum Beispiel ein Schriftfeld mit der Höhe des Bezugpunkts der Referenz einfügt (wenn es dynamisch sein soll) oder einfach nur die Höhe reinschreibt. Gruß CADchup
------------------ CADmaro.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
husby Mitglied Bauingenieur
Beiträge: 14 Registriert: 23.01.2007 AUTOCAD 2006 Express-tools
|
erstellt am: 05. Mai. 2007 08:40 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von CADchup: Hi, kann ja gar nicht klappen. Die Attributsdefinition ist in der Blockdefinition, nicht in der Referenz. Außerdem soll doch die Höhe der einzelnen Referenzen angezeigt werden, nicht die der Definition. Die hat gar keine. Es geht IMHO nur über den Attributstext, in den man per Lisp zum Beispiel ein Schriftfeld mit der Höhe des Bezugpunkts der Referenz einfügt (wenn es dynamisch sein soll) oder einfach nur die Höhe reinschreibt. Gruß CADchup
Hallo Cadchup, aber man kann doch dem Wert der Attributsdefinition über Schriftfeld einfügen die Variable des Einfügepunktes des Blockes (InsertionPoint)und dabei speziell die z-kote eingeben. Ich dachte, dass über eine Aktualisierung alle Blöcke das anzeigen könnten. Das hat leider nicht geklappt :-( Trotzdem danke für den HInweis. Bin jetzt noch gerade dabei, den Scriptbefehl zu verbessern. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
husby Mitglied Bauingenieur
Beiträge: 14 Registriert: 23.01.2007 AUTOCAD 2006 Express-tools
|
erstellt am: 05. Mai. 2007 09:47 <-- editieren / zitieren --> Unities abgeben:
Hallo Lutz, ich habs gestern und heute soweit probiert. Das Einfügen klappt eigentlich, jedoch muss irgendwas an meiner Syntax noch falsch sein, komme jedoch ledier nicht drauf was. Ich habe jetzt mal den Block, die Excel-datei und die Script-Datei angehängt. Wäre toll, wenn du noch nen Tipp geben könntest. Beim EInfügen erscheinen, dort wo die Höhe und Punktnummer stehen sollen, die Verweise zum Block oder die Punktnummern oder Koordninaten, also alles ziemlich durcheinander. Kann das sein, dass in der Reihenfolge der Blockdefinitionsbefehle noch etwas durcheinander kommt??? Ich wollte gern natürlich noch die im Block verankerte Punktnummer mit eingeben lassen, und habe dies vor die z-Höhe eingebaut, so wie es in der Abfrage auch kommt. Danke für deine Hilfe bis jetzt. Das mit der Script-Datei ist übrigens genial!!! Wünsche dir noch ein schönes Wochenende!! Gruß Jens Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9732 Registriert: 01.12.2003 AutoCAD 2.5 - 2022, Civil 3D, MAP 3D, ACADM Inventor AutoCAD 2022, AIP 4-2022 Win 10
|
erstellt am: 05. Mai. 2007 10:12 <-- editieren / zitieren --> Unities abgeben: Nur für husby
Also wenn ich den ersten Beitrag nochmal lese, ist zu lösende die Aufgabe, die Z-Höhe einer Blockreferenz in das Attribut Höhe zu bekommen. Leider ist keine Beispieldatei dabei. Es sollte aber folgender Workflow mit AutoCAD Bordmitteln funktionieren: a) BBEARB für Block UE_MP_H aufrufen und Vorgabe für das Attribut HOEHE auf mit dem SCHRIFTFELD der Position/InsertionPoint (siehe Bild) vorbelegen. b) Wichtig, damit alle Attribute neu gemacht werden: UMBENENNEN des Attributes HOEHE in z.B: HÖHE (kann man später wieder zurückändern) c) ATTSYNC oder BATTMAN nutzen und den Block zu synchronisieren - fertig d) bei Bedarf Attribut HOEHE wieder umbenennen (Synchronisieren nicht vergessen) ------------------ Mit freundlichem Gruß
Udo Hübner [Diese Nachricht wurde von CAD-Huebner am 05. Mai. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
husby Mitglied Bauingenieur
Beiträge: 14 Registriert: 23.01.2007 AUTOCAD 2006 Express-tools
|
erstellt am: 05. Mai. 2007 10:28 <-- editieren / zitieren --> Unities abgeben:
Hallo Udo!!!! Hast du den Schrei gehört. Ich glaube ja. Ich habe immer nur das synchronisieren vergessen, sonst wäre es schon vorher gegangen. Es hat geklappt. Super!!!!!!!!!! Hast du noch einen Tipp, wie ich die Blöcke für "Punkt-Nummer" durchnummerieren kann. Das ist Zusatz und nicht unbedingt erforderlich, aber es wäre der Tüpfel auf dem großen I!!! Also erst einmal Dankeschön an dich und an alle, die mit Ihren Tipps zur Lösung gleich welcher Richtung beigetragen haben!!! SUPER!!! Gruß an alle Jens Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9732 Registriert: 01.12.2003 AutoCAD 2.5 - 2022, Civil 3D, MAP 3D, ACADM Inventor AutoCAD 2022, AIP 4-2022 Win 10
|
erstellt am: 05. Mai. 2007 10:36 <-- editieren / zitieren --> Unities abgeben: Nur für husby
bei Blockeinfügung über ein SKript muss jede Attributeingabe mit einem <CR/LF> abgeschlossen werden, <Tabulator> oder <Leerzeichen> reicht da nicht. Bei Eingabe von mehr als einem Attribut muss jedes Attribut auf einer eigenen Zeile stehen. ------------------ Mit freundlichem Gruß Udo Hübner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
husby Mitglied Bauingenieur
Beiträge: 14 Registriert: 23.01.2007 AUTOCAD 2006 Express-tools
|
erstellt am: 05. Mai. 2007 12:01 <-- editieren / zitieren --> Unities abgeben:
Hallo Udo, jetzt hat alles bestens geklappt . Ja an solchen Feinheiten kann man dann echt scheitern. Danke dir nochmals recht herzlich. Hab zwar jetzt mindestens 8 Stunden rumprobiert aber mindestens 12 Stunden Eingabe gespart und noch was dabei gelernt!!! Viele Grüße von Jens Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |