| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Länge eines Attributs (2184 mal gelesen)
|
susi79 Mitglied Verm.techn. / Bauzeichner
Beiträge: 359 Registriert: 15.09.2009 HP Notebook: Vista HP*Intel Core 2 duo*4GB RAM*NVIDIA GeForce 9600M GT*AutoCAD (Architecture) 2010 / 2011
|
erstellt am: 02. Nov. 2009 22:06 <-- editieren / zitieren --> Unities abgeben:
Guten Abend zusammen, ich sitz jetzt hier schon eine halbe Ewigkeit dran und finde keine Lösung. Kann man die Breite eines Attributes irgendwie herausfinden? In der Beispiel.jpg ist dargestellt was ich erreichen will, also 1 Block als Beschriftung mit 3 Attributen und einer Linie, die sich je nach Länge von Attribut 1 (rechts ausgerichtet) und Attribut 2 (links ausgerichtet) anpasst (Attribut 3 ist oben zentriert an der Linie ausgerichtet). Hat vielleicht jemand einen Lösungsansatz? Wäre für jeden Gedanken dankbar. Grüße Susi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 02. Nov. 2009 22:19 <-- editieren / zitieren -->
Hi Susi, >> Kann man die Breite eines Attributes irgendwie herausfinden? nicht ohne Programmierung (und selbst da gibt es Hürden). Und gleiches leider auch für die anderen Fragen. Wenn Du über Kenntnisse der Programmierung von AutoCAD verfügst, lass uns wissen, welche das sind. Eine Lösung, die in einer 'normalen' Blockdefinition möglich wäre, kenne ich leider nicht. - alfred - ------------------ www.hollaus.at |
susi79 Mitglied Verm.techn. / Bauzeichner
Beiträge: 359 Registriert: 15.09.2009 HP Notebook: Vista HP*Intel Core 2 duo*4GB RAM*NVIDIA GeForce 9600M GT*AutoCAD (Architecture) 2010 / 2011
|
erstellt am: 02. Nov. 2009 22:26 <-- editieren / zitieren --> Unities abgeben:
Hallo Alfred, wieder mal vielen Dank für die schnelle Antwort, auch wenn sie mich jetzt ein wenig deprimiert. Ich kann leider nicht von mir behaupten, daß ich über Programmierkenntnisse verfüge, bestenfalls ansatzweise. Naja schade, dann muß ich mir wohl vorerst was anderes überlegen oder mir schnellstens Programmierkenntnisse aneignen. Grüße und schönen Abend noch Susi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
susi79 Mitglied Verm.techn. / Bauzeichner
Beiträge: 359 Registriert: 15.09.2009 HP Notebook: Vista HP*Intel Core 2 duo*4GB RAM*NVIDIA GeForce 9600M GT*AutoCAD (Architecture) 2010 / 2011
|
erstellt am: 03. Nov. 2009 07:26 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen, hab drüber geschlafen und bin zu dem Schluß gekommen, ich sollte wohl das Programmieren lernen. In welche Richtung würde die Programmierung denn gehen? Nur damit ich einen Ansatz zum Kenntniserwerb hab. Würd mich schon interessieren, das Ganze hinzubekommen. LG Susi 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: 03. Nov. 2009 07:50 <-- editieren / zitieren --> Unities abgeben: Nur für susi79
|
susi79 Mitglied Verm.techn. / Bauzeichner
Beiträge: 359 Registriert: 15.09.2009 HP Notebook: Vista HP*Intel Core 2 duo*4GB RAM*NVIDIA GeForce 9600M GT*AutoCAD (Architecture) 2010 / 2011
|
erstellt am: 03. Nov. 2009 07:56 <-- editieren / zitieren --> Unities abgeben:
Moin Lutz, dein Dies besitze ich und die HP ist mir bekannt, bisher hatte ich allerdings keine Zeit mich damit wirklich intensiv zu beschäftigen. Dachte es gibt da möglicherweise ein paar speziellere Hinweise... Aber erst mal schön, daß es per lisp funktionieren könnte. Grüße Susi 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: 9795 Registriert: 01.12.2003 AutoCAD 2.5 - 2025, Civil 3D, MAP 3D, ACADM, ACA Inventor Prof. 2025, AIP 4-2025 Win 11
|
erstellt am: 03. Nov. 2009 08:00 <-- editieren / zitieren --> Unities abgeben: Nur für susi79
Ich würde es wohl einfach als dynamischen Block gestalten, dabei die Trennlinie mit einem oder 2 Streckungsgriffen versehen. Geht zwar nicht automatisch mit, aber man kann nach Attributänderung einfach den Trennstrich mit Griffen nachkorrigieren. ------------------ Mit freundlichem Gruß Udo Hübner www.CAD-Huebner.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8086 Registriert: 09.03.2006 Kinder, kauft Kämme! Es kommen lausige Zeiten.
|
erstellt am: 03. Nov. 2009 08:07 <-- editieren / zitieren --> Unities abgeben: Nur für susi79
Moin, es gibt da schon mehrere Sprachen, die sich anbieten, ACAD ist nicht immer gleich lisp ;-) Es sagte auch mal jemand: kommt auf das Ziel an, manche Dinge lassen sich mal in der einen, mal in der anderen Sprache leichter darstellen. Die einen Zauberkünstler machen mit Lisp die tollsten Sachen, die anderen Magier mit VBA. Dann gibt es noch .NET (wird im AutoCAD ARX Object-Brett besprochen) bestimmt noch mehr, mir fallen nicht alle ein... VBA-Tutorials gibt es z.B. >> hier << (die 3 Teile von ertls sind z.B. auf deutsch) Wenn Du VBA z.B. aus Excel schon kennst, wirst Du Dich evtl. damit leichter tun. Ein Buch habe ich für ACAD-VBA noch nie besessen (Weihnachtsmann?), es gibt aber welche, herr google kennt sie bestimmt, hier im Forum wurden auch schon welche empfohlen.
------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... System-Info | Excel -Suche | RuA-Suche | FAQ-ACAD | CAD.de-Hilfe | Sei eine Antilope Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22171 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 03. Nov. 2009 08:11 <-- editieren / zitieren --> Unities abgeben: Nur für susi79
|
susi79 Mitglied Verm.techn. / Bauzeichner
Beiträge: 359 Registriert: 15.09.2009 HP Notebook: Vista HP*Intel Core 2 duo*4GB RAM*NVIDIA GeForce 9600M GT*AutoCAD (Architecture) 2010 / 2011
|
erstellt am: 03. Nov. 2009 08:49 <-- editieren / zitieren --> Unities abgeben:
huhu, es gibt wahrlich vielerlei Ansätze und Möglichkeiten. Puh, ich denke vorerst werd ich mich wohl für einen Ansatz entscheiden müssen. Da ich das lisp-Buch besitze scheint mir dies zunächst die kostengünstigste Variante zu sein. Stellt sich nur die Frage, ob es auch die sinnvollste ist... @ Udo: Zitat: Ich würde es wohl einfach als dynamischen Block gestalten, dabei die Trennlinie mit einem oder 2 Streckungsgriffen versehen. Geht zwar nicht automatisch mit, aber man kann nach Attributänderung einfach den Trennstrich mit Griffen nachkorrigieren.
Ja, das war auch mein erster Gedanke gestern Abend. Allerdings gefällt mir das nicht so ganz, da die Arbeit damit dann von vornherein verweigert werden wird. Somit würde ich nur, das seit min. 2001 im Büro vorhandene Denken fördern, daß Weiterbildungen und Upgrades bezüglich AutoCAD nicht viel bringen. Ich hoffe ihr misversteht das jetzt nicht. Hier wurstelt jeder für sich selbst wie früher am Reißbrett... Grüße Susi und vielen Dank der zahlreichen Antworten 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: 03. Nov. 2009 17:46 <-- editieren / zitieren --> Unities abgeben: Nur für susi79
|
susi79 Mitglied Verm.techn. / Bauzeichner
Beiträge: 359 Registriert: 15.09.2009 HP Notebook: Vista HP*Intel Core 2 duo*4GB RAM*NVIDIA GeForce 9600M GT*AutoCAD (Architecture) 2010 / 2011
|
erstellt am: 03. Nov. 2009 22:13 <-- editieren / zitieren --> Unities abgeben:
|
susi79 Mitglied Verm.techn. / Bauzeichner
Beiträge: 359 Registriert: 15.09.2009 HP Notebook: Vista HP*Intel Core 2 duo*4GB RAM*NVIDIA GeForce 9600M GT*AutoCAD (Architecture) 2010 / 2011
|
erstellt am: 04. Nov. 2009 14:04 <-- editieren / zitieren --> Unities abgeben:
huhu, ich schon wieder. Also kurz zu meinem Lernstatus: Die Abfrage der Textlänge via lisp hab ich so weit kapiert denk ich. Beim drüber Nachdenken häng ich jetzt immer an der Frage, wie ich innerhalb meines Blocks dem Streckungsparameter für meine Linie die berechneten lisp-Wert zuordne. Oder bin ich da jetzt auf dem Holzweg? LG Susi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
susi79 Mitglied Verm.techn. / Bauzeichner
Beiträge: 359 Registriert: 15.09.2009 HP Notebook: Vista HP*Intel Core 2 duo*4GB RAM*NVIDIA GeForce 9600M GT*AutoCAD (Architecture) 2010 / 2011
|
erstellt am: 08. Jun. 2010 10:09 <-- editieren / zitieren --> Unities abgeben:
Ist zwar schon eine Weile her, aber ich muß hier leider noch mal nachhaken: Also die Länge meines Textes (wie schon gesagt) kann ich ausrechnen mit: (textbox '((1 . "Ueberschrift") (7 . "SBV-isocp 7.0")) ) Jetzt häng ich allerdings zunächst daran: a) ich dachte ich kann den Ausdruck im Parametermanager zur Berechnung eines benutzerdefinierten Attributes einsetzen, bekomm´s aber nicht auf die Reihe, geht das überhaupt? b) den Text "Überschrift" muß ich ja irgendwie mit dem Wert meines Attribut1 (siehe Skizze im ersten Beitrag) ersetzen können, wie kann man das machen? Ist das in der Form überhaupt möglich? LG Susi Edit: ups, das war bisl falsch ich meine natürlich damit kann ich die Länge errechnen (ist bestimmt noch bisl umständlich) : (abs (- (car(car(textbox '((1 . "Ueberschrift") (7 . "SBV-isocp 7.0")) ))) (car(cadr(textbox '((1 . "Ueberschrift") (7 . "SBV-isocp 7.0"))) )) )) Oder anders gefragt: Ist es möglich den Wert des Attributes mit der Berechnung zu ermitteln? Vielleicht mittels Schriftfeld? [Diese Nachricht wurde von susi79 am 08. Jun. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
susi79 Mitglied Verm.techn. / Bauzeichner
Beiträge: 359 Registriert: 15.09.2009 HP Notebook: Vista HP*Intel Core 2 duo*4GB RAM*NVIDIA GeForce 9600M GT*AutoCAD (Architecture) 2010 / 2011
|
erstellt am: 08. Jun. 2010 15:16 <-- editieren / zitieren --> Unities abgeben:
ich weiß, ich weiß Doppelpost usw. SORRY! Ich nehm mal an, daß ich einfach nur völlig falsche Gedanken zu diesem Thema hab. Kann es sein, daß auch hier wieder so was wie eine Reaktorabfrage zum gewünschten Ziel führen würde und ich dementsprechend als Programmiernoob nicht weiter kommen werde? LG Susi 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: 08. Jun. 2010 18:51 <-- editieren / zitieren --> Unities abgeben: Nur für susi79
Zitat: ...Ist es möglich den Wert des Attributes ... zu ermitteln...
Ich hoffe, die Beispiele bringen Dich weiter. Führe folgende Zeilen nacheinander als ACAD-Befehle aus - einfach rüberkopieren und Enter: ... und schau, was Du an Ergebnissen kriegst ... Code: (setq obj (entsel "\nWähle eine Blockreferenz mit Attribut: "))
Code: (setq ename (car obj))
Code: (setq elist (entget ename))
Die elist enthält Daten des INSERTsCode: (setq attname (entnext (car obj)))
Code: (setq attlist (entget attname))
jetzt hast Du Daten des 1. Attributs und könntest Dich mit (entnext) weiterhandelnBeim direkten Wählen des Attributs gehts natürlich einfacher mit:
Code: (setq obj (nentsel "\nWähle ein Attribut: "))
jetzt wählst Du das Attribut
Code: (setq attname (car obj))
Code: (setq attlist (entget attname))
zu Deinem Attributwert kommst Du jetzt mit
Code: (cdr (assoc 1 attlist))
den Layer mit
Code: (cdr (assoc 8 attlist))
usw.Warum 1 bzw. 8? In Deinem ACAD/Help - Ordner solltest Du die acad_dxf.chm finden - Doppelklick. HtH ------------------ Schöne Grüße Ernst www.geopaint.at Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |