| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: attributsextraktion (2476 mal gelesen)
|
zbw01 Mitglied Technischer Zeichner
Beiträge: 27 Registriert: 15.11.2004
|
erstellt am: 17. Aug. 2005 09:39 <-- editieren / zitieren --> Unities abgeben:
guten morgen zusammen! ich hab gestern schon versucht mein problem zu lösen, doch leider funktioniert das nicht so richtig! siehe auch http://ww3.cad.de/foren/ubb/Forum54/HTML/011692.shtml also mein problem besteht nun noch darin das ich einen block mit einem attribut erstellt habe der eine nummer enthällt! auslesen möchte ich dann die y,y und z koordinaten und die nummer des attributs um auch ein system rein zu bekommen! mein 0,0,0 punkt des gebäudes oder von wo aus ich die koordinaten brauch liegt jedoch nicht auf dem 0 punkt des WKS! wenn ich jetzt die einfügepunkte auslesen möchte bezieht er sich immer auf das WKS! was kann ich dagegen machen?? bitte um hilfe! recht herzlichen dank Gerald Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3358 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 17. Aug. 2005 09:43 <-- editieren / zitieren --> Unities abgeben: Nur für zbw01
Servus Schieb das Gebäude auf 0,0 extrahiere die Informationen Schiebe das Gebäude wieder zurück (mit zurück oder mit schieben is egal) nun hast du deine richtigen Daten ------------------ "Warum Einfach es geht auch kompliziert". Schöne Grüsse aus der Steiermark Bernd P. Bitte Supportangaben eintragen, warum siehst du hier [Diese Nachricht wurde von Bernd P am 17. Aug. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
zbw01 Mitglied Technischer Zeichner
Beiträge: 27 Registriert: 15.11.2004
|
erstellt am: 17. Aug. 2005 09:53 <-- editieren / zitieren --> Unities abgeben:
hallo bernd, danke für deine antwort , auf diese idee bin ich wohl auch schon gekommen! wenn es sich dabei aber um eine recht große zeichnung handelt, und von diesen zeichnungen hab ich 84 zu bearbeiten ist das sehr mühsam und zeitaufwendig! gibt es da nicht eine andere lösung?? vielen dank und liebe grüße aus der steiermark! gerald Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 17. Aug. 2005 10:51 <-- editieren / zitieren --> Unities abgeben: Nur für zbw01
Wenn dir das bei 84 Dateien schon zu aufwendig ist dann solltest du dich mal mit Makro, Script oder gar Lisp, VBA vertraut machen (das dauert allerdings, Infos gibt es genügend im Forum) Du könntest für den Anfang zum Beispiel ein Buttonmakro nutzen welches dir die Zeichnung verschiebt. (Hier: von 255,30 auf 0,0) ^C^C_.move;_all;;255,30;0,0; oder vom aktuellen BKS-Ursprung auf 0,0 ^C^C_.move;_all;;(getvar "ucsorg");0,0; so wird auch noch der Befehl Eattext gestartet danach ^C^C_.move;_all;;255,30;0,0;_.eattext ^C^C_.move;_all;;(getvar "ucsorg");0,0;_.eattext Mit immer mehr KnowHow würde sich das steigern lassen bis zur vollständigen Automatisierung. PS.: "Andere Lösung" ? - Klar, man könnte in Excel die BKS-Verschiebung "berechnen" lassen, hierfür würde man aber viel mit Copy&Paste arbeiten müssen oder eben etwas programmieren (VBA). Zudem kann man mit EATTEXT beliebig viele Dateien aus einmal auslesen lassen, ist die Frage ob es dir etwas bringt die Dateien von 84 Dateien in einer Datei zusammengefasst zu haben !? Es bleibt: 84 Dateien sind nicht die Welt = per Hand machen. Wenn mal Zeit ist sich mit Makro,Script,Lisp oder VBA vertraut machen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
zbw01 Mitglied Technischer Zeichner
Beiträge: 27 Registriert: 15.11.2004
|
erstellt am: 17. Aug. 2005 11:15 <-- editieren / zitieren --> Unities abgeben:
hallo cadffm, es ist mir schon klar das 84 stück nicht die welt sind! jedoch kann ich mit button makros nicht arbeiten, da alles 84 Teardrop-Windows einen anderen bezug zum BKS und somit auch zum WKS haben! um es etwas verständlicher zu machen sind anbei zwei gif-datein! ein mit der übersicht des gebäudes und eine zur erklärung wie die ausschnitte (Teardrp-windows) aussehen! mein WKS ist auf schnittpunkt aches 244 und C06! mein BKS und somit auch vermessungspunkt für die koordinaten ist auf schnittpunkt achse 202, C06 und Z-10600mm! für alle windows gilt der gleiche vermessungspunkt! ich hoffe ich konnte das etwas verständlicher rüber bringen und hoffe es kann mir jemand helfen! vielen dank Gerald 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 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 17. Aug. 2005 11:31 <-- editieren / zitieren --> Unities abgeben: Nur für zbw01
Hallo Gerald, probier doch mal folgendes LISP aus. Es werden die Koordinaten im aktuellen BKS + das Nummernattribut herausgeschrieben in eine Textdatei. Diese kannst Du dann in Excel importieren, Trennzeichen ist ein Komma. Was Du ändern mußt: -den Blocknamen (bei mir BATPKT) -den Namen des Attributs (bei mir PNR) -der Ausgabepfad der txt-Datei (defun c:test ( / aws n m liste datei) (princ "\nBlöcke auswählen") (setq aws (ssget (list (cons 0 "INSERT") (cons 2 "BATPKT");;;eigenen Blocknamen eintragen ))) (if aws (progn (setq n 0) (repeat (sslength aws) (setq m 1) (while (and m(JB_entnext(ssname aws n)m) (/=(cdr(assoc 0(entget(JB_entnext(ssname aws n)m))))"SEQEND")) (if (=(cdr(assoc 2(entget(JB_entnext(ssname aws n)m))))"PNR");;;Name es Nr-Attributs eintragen (progn (setq koord (trans(cdr(assoc 10 (entget (ssname aws n))))0 1) liste (cons (strcat (rtos (car koord) 2 5)"," (rtos (cadr koord) 2 5)"," (rtos (caddr koord) 2 5)"," (cdr(assoc 1(entget(JB_entnext(ssname aws n)m)))))liste) m nil)) (setq m (+ m 1)))) (setq n (+ n 1))) (setq datei (open "c:ausgabe.txt" "w")) (mapcar '(lambda(A) (write-line A datei)) liste) (close datei)) (alert "Es wurden keine Blöcke gewählt.")) (princ) ) (defun JB_entnext (element n / ) (repeat n (setq element (entnext element))))
------------------ viele Grüße Jörn [Diese Nachricht wurde von joern bosse am 17. Aug. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
zbw01 Mitglied Technischer Zeichner
Beiträge: 27 Registriert: 15.11.2004
|
erstellt am: 17. Aug. 2005 11:32 <-- editieren / zitieren --> Unities abgeben:
|
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 17. Aug. 2005 11:40 <-- editieren / zitieren --> Unities abgeben: Nur für zbw01
die 1. Datei wurde nicht hochgeladen und bei der 2. ist ein Umlaut mit im Namen. PS.: Nein habe es leider noch nicht vollständig verstanden, aber ich bilde mir ein das überall das aktuelle BKS als Bezugspunkt dienen soll, das habe ich in dem Makro aber auch berücksichtigt : schiebe von (getvar "ucsorg") nach 0,0 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
zbw01 Mitglied Technischer Zeichner
Beiträge: 27 Registriert: 15.11.2004
|
erstellt am: 17. Aug. 2005 11:52 <-- editieren / zitieren --> Unities abgeben:
|
gmk Mitglied Dipl.-Ing.(FH) Vermessung
Beiträge: 667 Registriert: 23.10.2002 Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM
|
erstellt am: 17. Aug. 2005 12:01 <-- editieren / zitieren --> Unities abgeben: Nur für zbw01
|
zbw01 Mitglied Technischer Zeichner
Beiträge: 27 Registriert: 15.11.2004
|
erstellt am: 17. Aug. 2005 13:32 <-- editieren / zitieren --> Unities abgeben:
|
zbw01 Mitglied Technischer Zeichner
Beiträge: 27 Registriert: 15.11.2004
|
erstellt am: 17. Aug. 2005 14:35 <-- editieren / zitieren --> Unities abgeben:
hallo, da bin ich nochmal! hab da noch einen kleine frage, bitte! gibt es vielleicht auch tool bei dem ich die atrtribute eines blocks gleich in ins layout setzen kann? also ich klick einen punkt an ich kann die gewünschten attribute (punktnummer, x,y und z koordinaten) gleich ins layout setzen! koordinaten mit zwei kommerstellen wäre super! wenn ich das auslese, in eine excel datei kopiere und diese dann ins layout einfüge schaut das nicht sehr gut aus nach dem drucken! vielen dank für eure hilfe gruß gerald Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gmk Mitglied Dipl.-Ing.(FH) Vermessung
Beiträge: 667 Registriert: 23.10.2002 Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM
|
erstellt am: 17. Aug. 2005 15:56 <-- editieren / zitieren --> Unities abgeben: Nur für zbw01
|
zbw01 Mitglied Technischer Zeichner
Beiträge: 27 Registriert: 15.11.2004
|
erstellt am: 17. Aug. 2005 17:43 <-- editieren / zitieren --> Unities abgeben:
hallo georg, danke für deine raschen antworten! hab mich aber zu meinem problem nicht verständlich genug ausgedrückt denke ich! suche etwas mit dem ich eine art Legende im Layout erzeugen kann! hab mir das so vorgestellt: ich setze auf die gewünschten punkte einen block mit einem attribut welches die punktnummer enthällt! nach staten der lisp sollte ich nur noch den block anklicken müssen und ein text mit h=5-7mm hängt dann an meinem fagenkreuz denn ich dann beliebig absetzen kann! z.b.: punktnummer X=00000000,000 Y=00000000,000 Z=00000000,000 geht sowas, wäre mir eine große hilfe!
vielen dank! gerald
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gmk Mitglied Dipl.-Ing.(FH) Vermessung
Beiträge: 667 Registriert: 23.10.2002 Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM
|
erstellt am: 18. Aug. 2005 13:52 <-- editieren / zitieren --> Unities abgeben: Nur für zbw01
|