| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Attribut im Block mit Präfix/Suffix (1786 / mal gelesen)
|
sabjon Mitglied Bauzeichner
Beiträge: 127 Registriert: 12.02.2009 Windows 10 64 Bit, Autocad 2021
|
erstellt am: 25. Nov. 2020 11:30 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich habe folgendes Problem. Ich habe einen Block mit einem Attribut. Der Wert des Attributes wird durch eine Fremdsoftware "eingetragen". Ich möchte gerne dem Wert ein Präfix voran setzen. Leider kann man bei dem Attribut kein Präfix und/oder Suffix eintragen. Natürlich kann ich in der Blockdefinition einfach den Präfix als weiteres Attribut eintragen, nur manchmal ist es notwendig diesen Block zu sprengen, dann habe ich zwei unabhängige Texte, was auch wiederum nicht so schick ist. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 3042 Registriert: 26.08.2002 ACAD R11 - 2022 (Plant3D) AVIS ACAD LT 2013- 2021 ZWCAD 2015 Versuch "nun ja" [s]History P3D 2012/(13) SP und Hotfix([/s]<P> Windows 10 / 64 Bit Xeon CPU 3.5GHz 16GB Ram NVIDIA Quadro P2000 3x Dell TV100 88P Monitore
|
erstellt am: 25. Nov. 2020 11:41 <-- editieren / zitieren --> Unities abgeben: Nur für sabjon
Zitat: Original erstellt von sabjon: Hallo zusammen, ich habe folgendes Problem. Ich habe einen Block mit einem Attribut. Der Wert des Attributes wird durch eine Fremdsoftware "eingetragen". Ich möchte gerne dem Wert ein Präfix voran setzen. Leider kann man bei dem Attribut kein Präfix und/oder Suffix eintragen. Natürlich kann ich in der Blockdefinition einfach den Präfix als weiteres Attribut eintragen, nur manchmal ist es notwendig diesen Block zu sprengen, dann habe ich zwei unabhängige Texte, was auch wiederum nicht so schick ist.
Hy sabjon, nein, warum sprengen ? du öffnest ihn im Editor , schreibst das was du willst an der Stelle davor und gut ? ohne 2tes Attribut , aber ja du hast dann 2 Texte . alternativ Attributwert auslesen , um Sufix erweitern und wieder einlesen cu cw ------------------ Also ich finde Unities gut ... und andere sicher auch ------------------------------------------------ cadwomen™ Plant ist nur die Spitze des Berges der da treibt ? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
sabjon Mitglied Bauzeichner
Beiträge: 127 Registriert: 12.02.2009 Windows 10 64 Bit, Autocad 2021
|
erstellt am: 25. Nov. 2020 11:59 <-- editieren / zitieren --> Unities abgeben:
Hallo Cadwomen, sprengen muss sein, da die Texte individuell verschiebbar sein sollen, bzw. müssen. - Leider Attribute ein und auslesen ist eine Möglichkeit, ja. Ich hatte vielleicht noch an etwas komfortableres gedacht. Aber super Ansatz, Danke!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Kraus Mitglied Elektrotechniker
Beiträge: 1451 Registriert: 11.01.2006 WIN 10 ACAD 2022 BricsCAD V23
|
erstellt am: 25. Nov. 2020 12:57 <-- editieren / zitieren --> Unities abgeben: Nur für sabjon
Hallo Sabjon, Attribute sind auch individuell verschiebbar allerdings nicht über den "schieben"-Befehl sondern über ihre Griffe. Dazu sollte die Systemvariable "Grips" nicht auf auf 0 stehen. Ich arbeite nur so weil nur so die Daten die in den Attributen stehen auch einem "Ding" zugeordnet werden können. Klar können Texte von einem Betrachter interpretiert und zugeordnet werden aber für den Rechner ist das ein Problem. Bitte versuche ohne sprengen zu arbeiten. Du zerstörst damit Datenstrukturen die dir damit an anderer Stelle wieder das Leben schwer machen. So kommst du nur von einem Problem zum nächsten. Suche lieber nach Möglichkeiten mit diesen Strukturen zu arbeiten, Tips und Hilfe dazu findest du genau hier. ------------------ Geht nicht, gibts nicht Gruß Andreas http://kraus-cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
sabjon Mitglied Bauzeichner
Beiträge: 127 Registriert: 12.02.2009 Windows 10 64 Bit, Autocad 2021
|
erstellt am: 25. Nov. 2020 13:19 <-- editieren / zitieren --> Unities abgeben:
|
Andreas Kraus Mitglied Elektrotechniker
Beiträge: 1451 Registriert: 11.01.2006 WIN 10 ACAD 2022 BricsCAD V23
|
erstellt am: 25. Nov. 2020 13:46 <-- editieren / zitieren --> Unities abgeben: Nur für sabjon
Hast du mal ne Beispieldatei und ne Beschreibung warum du sprengen musst/willst ? Ich hab grade Bock auf ne andere Lösung ------------------ Geht nicht, gibts nicht Gruß Andreas http://kraus-cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
sabjon Mitglied Bauzeichner
Beiträge: 127 Registriert: 12.02.2009 Windows 10 64 Bit, Autocad 2021
|
erstellt am: 25. Nov. 2020 15:41 <-- editieren / zitieren --> Unities abgeben:
Hallo Andreas, im Anhang ein Beispiel. Es geht um die Zahl in orange. Dieser soll ein "D=" vorangestellt werden. Ausserdem auf Stellen gerundet (das ist kein Problem). Dein Vorschlag über den Griff zu verschieben iost keine Option, da der Text auch mal gedreht werden muß, das Symbol aber an der Stelle bleiben muß. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Kraus Mitglied Elektrotechniker
Beiträge: 1451 Registriert: 11.01.2006 WIN 10 ACAD 2022 BricsCAD V23
|
erstellt am: 25. Nov. 2020 16:26 <-- editieren / zitieren --> Unities abgeben: Nur für sabjon
Hm... Atrribut drehen geht auch über attedit. Davon die Befehlszeilenversion ... Hier mal eine Zeile Lisp, man kann das aber auch als Befehlsmakro schreiben: (command "-attedit" "_y" "*" "*" "*" (car (nentsel)) "_a" "\\" "") Einfach Attribut anklicken und neuen Winkel angeben. Könnte das was für dich sein oder geht das wenigstens in die richtige Richtung ? ------------------ Geht nicht, gibts nicht Gruß Andreas http://kraus-cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Kraus Mitglied Elektrotechniker
Beiträge: 1451 Registriert: 11.01.2006 WIN 10 ACAD 2022 BricsCAD V23
|
erstellt am: 25. Nov. 2020 18:40 <-- editieren / zitieren --> Unities abgeben: Nur für sabjon
Ach ja... man kann sowas natürlich auch so automatisieren dass alle oder bestimmte Attribute mit demselben Winkel gedreht werden. ------------------ Geht nicht, gibts nicht Gruß Andreas http://kraus-cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
sabjon Mitglied Bauzeichner
Beiträge: 127 Registriert: 12.02.2009 Windows 10 64 Bit, Autocad 2021
|
erstellt am: 26. Nov. 2020 06:57 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen, die Ansätze sind gut, aber der Drehwinkel des Attributs ist immer ein individueller. Das bedeutet der ist immer an einer Linie oder dergl. entlang. Wenn ich das als Text habe, so drehe ich das über die Griffe. Das geht relativ fix und einfach. Ich habe jetzt nach etwas Recherche eine "Zwischenlösung" indem ich eine Lisp (up_text) einsetze, welche Texte eines Layers mit einem Präfix/Suffix ergänzt. Danke für Deine/eure Mühe. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Kraus Mitglied Elektrotechniker
Beiträge: 1451 Registriert: 11.01.2006 WIN 10 ACAD 2022 BricsCAD V23
|
erstellt am: 26. Nov. 2020 15:15 <-- editieren / zitieren --> Unities abgeben: Nur für sabjon
Kam eben erst zum Lesen Attribute nach Objekten ausrichten. Sag das doch gleich. Selbstverständlich geht das auch. Ich hab dir mal was zusammenkopiert. Funktioniert ganz gut aber Ellipsen und Splines innerhalb von Blöcken hab ich jetzt nicht korrigiert weil das eigentlich aus einer anderen Anwendung stammt. Wie gesagt einfach mal zusammenkopiert, wenns passt unterhalten wir uns weiter Objekt anklicken dann Attribut anklicken. Attribut wird gedreht. Drehwinkel wird so korrigiert dass das Attribut nicht "auf dem Kopf steht", kann man aber auch anders machen. Sieht jetzt nach mehr aus als es ist aber für verschiedene Objekte muss der Winkel anders ermittelt werden, sonst nichts. Ist jetzt für ein Objekt und ein Attribut aber auch das ist anpassbar. Hab Spaß damit Code: (defun c:att-dreh (/ OBJ OBJ_NAME P0 P1 PIC PX W) (if (setq pic (nentsel)) (progn (setq px (nth 1 pic) p1 (osnap (nth 1 (nentselp px)) "_near") obj_name (vlax-ename->vla-object (car (nentselp (cadr (grread nil 7 2)))) ) w (cond ((and (member (vla-get-objectname obj_name) '("AcDbSpline" "AcDbEllipse" "AcDbArc" "AcDbPolyline" "AcDbLine" "AcDbCircle" "AcDbXline" "AcDbRay" ) ) (VLAX-CURVE-GETPARAMATPOINT obj_name p1) ) (setq w (angle '(0. 0. 0.) (VLAX-CURVE-GETFIRSTDERIV obj_name (VLAX-CURVE-GETPARAMATPOINT obj_name p1 ) ) ) ) ) ((member (vla-get-objectname obj_name) '("AcDbMText" "AcDbText" "AcDbAttribute" "AcDbAttributeDefinition" ) ) (setq w (vla-get-rotation obj_name)) (if (and (listp (last pic)) (vl-every '(lambda (q) (= (type q) 'ENAME)) (last pic)) ) (foreach ent (last pic) (if (= (vla-get-objectname obj_name) "AcDbBlockReference") (setq w (+ w (cdr (assoc 50 (entget ent))))) ) ) ) w ) (t (if (null (setq p0 (osnap px "_cen"))) (setq p0 (osnap px "_endp")) ) (setq w (+ (angle p0 p1) (* pi 0.5))) ) ) ) (if (and (> w (* pi 0.75)) (<= w (* pi 1.75))) (setq w (+ w pi)) ) (if (setq pic (nentsel "Attribut wählen : ")) (if (= (vla-get-objectname (setq obj (vlax-ename->vla-object (car pic))) ) "AcDbAttribute" ) (vla-put-rotation obj w) ) ) ) ) )
EDIT: Huch .. Code vergessen
------------------ Geht nicht, gibts nicht Gruß Andreas http://kraus-cad.de [Diese Nachricht wurde von Andreas Kraus am 26. Nov. 2020 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dober Heinz Mitglied Technischer Zeichner
Beiträge: 1146 Registriert: 20.12.2002 Autocad 2020/64B Win10 WORKSTATION Intel(R) CPU E5-1620 3.60GHz 16,0GB Ram 64 Bit-Betriebssystem HP Designjet T7200 Grafik NVIDIA Quadro P4000 ZWCAD2019
|
erstellt am: 27. Nov. 2020 07:22 <-- editieren / zitieren --> Unities abgeben: Nur für sabjon
|
Andreas Kraus Mitglied Elektrotechniker
Beiträge: 1451 Registriert: 11.01.2006 WIN 10 ACAD 2022 BricsCAD V23
|
erstellt am: 27. Nov. 2020 09:55 <-- editieren / zitieren --> Unities abgeben: Nur für sabjon
Hallo Heinz, grundsätzlich machbar. Geht ja auch mit der Version schon aber hier ist noch nicht der Drehwinkel korrigiert. Kann ich ja übers Wochenende mal machen. ------------------ Geht nicht, gibts nicht Gruß Andreas http://kraus-cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dober Heinz Mitglied Technischer Zeichner
Beiträge: 1146 Registriert: 20.12.2002 Autocad 2020/64B Win10 WORKSTATION Intel(R) CPU E5-1620 3.60GHz 16,0GB Ram 64 Bit-Betriebssystem HP Designjet T7200 Grafik NVIDIA Quadro P4000 ZWCAD2019
|
erstellt am: 27. Nov. 2020 10:13 <-- editieren / zitieren --> Unities abgeben: Nur für sabjon
Hallo Andreas OK stimmt, geht in einer X-Ref aber der Drehwinkl passt nicht. wie du schon gesagt hast. "Kann ich ja übers Wochenende mal machen" Wäre super wenn du das machen kannst Danke ------------------ mfg Heinz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Kraus Mitglied Elektrotechniker
Beiträge: 1451 Registriert: 11.01.2006 WIN 10 ACAD 2022 BricsCAD V23
|
erstellt am: 27. Nov. 2020 22:49 <-- editieren / zitieren --> Unities abgeben: Nur für sabjon
Hatte grade nen Lauf Habs fertig Also ... was macht das Ding ??? Irgendein Objekt anklicken. Ist egal ob in einem Block oder Xref (ist ja das Selbe) auch gerne gedreht und/oder ungleich skaliert. Linie, Polylinie, Spline, Kreis, Bogen, Ellipse, Text, Mtext, Attribut ... (hab sicher was vergessen) ist auch egal. Davon jedenfalls wird der Winkel am Klickpunkt ermittelt. Dann einfach Text, Mtext, Attribut oder Block wählen und der Winkel wird übertragen. Wenn du nichts wählst sonder ENTER drückst oder RMT kommst du in die Mehrfachauswahl. Hier kannst du gleich mehrere Objekte wählen und wenn Blöcke mit Attributen dabei sind wirst du gefragt ob du die Blöcke oder Attribute drehen willst. Und das wird dann auch gemacht. Ich hoffe es läuft rund, ich hab in der kurzen Zeit nicht alle Eventualitäten duchprobiert. Wenn was ist ... einfach melden EDIT: Oh mann ... wenn man zu blöd zum Speichern ist ... also nochmal hochladen. Nochmal EDIT: und jetzt noch dass auch von Texten der Winkel ermittelt wird (war spät gestern) ------------------ Geht nicht, gibts nicht Gruß Andreas http://kraus-cad.de [Diese Nachricht wurde von Andreas Kraus am 27. Nov. 2020 editiert.] [Diese Nachricht wurde von Andreas Kraus am 27. Nov. 2020 editiert.] [Diese Nachricht wurde von Andreas Kraus am 28. Nov. 2020 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dober Heinz Mitglied Technischer Zeichner
Beiträge: 1146 Registriert: 20.12.2002 Autocad 2020/64B Win10 WORKSTATION Intel(R) CPU E5-1620 3.60GHz 16,0GB Ram 64 Bit-Betriebssystem HP Designjet T7200 Grafik NVIDIA Quadro P4000 ZWCAD2019
|
erstellt am: 28. Nov. 2020 09:44 <-- editieren / zitieren --> Unities abgeben: Nur für sabjon
|