| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY WIRD VON NVIDIA ZUM HÄNDLER DES JAHRES GEWÄHLT, eine Pressemitteilung
|
Autor
|
Thema: Lisp-Routine um Attribute auf anderen Layer legen (458 / mal gelesen)
|
Ivi Mitglied
Beiträge: 2 Registriert: 27.09.2023
|
erstellt am: 27. Sep. 2023 12:32 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich benötige eine Lips-Routine welche die Attribute „Breite“ und „Höhe“ aus dem Block „Türbeschriftung 2007“ (bisher mit weiteren Attributen auf dem Layer ID_Raum) auf den Layer „Text“ legt. Könnte mir da jemand weiterhelfen? Ich muss das für viele Zeichnungen machen und hoffe, es mit Autoscript über viele Zeichnungen laufen lassen zu können. ------------------ Ivi 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: 3067 Registriert: 26.08.2002 ACAD R11 - 2018.1.2 (Plant3D) AVIS ACAD LT 2013- 2020 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: 27. Sep. 2023 12:59 <-- editieren / zitieren --> Unities abgeben: Nur für Ivi
Hy Lvi, wäre es eine Option den Block zu tauschen ? da du mehrere Sachen ändern willst ? Neuer Bloch aus dem alten herraus erstellen Dann diesen neuen Block in den Zeichnungen Tauschen, dafür gibt es hier genügend wege. 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 |
Bernhard GSD Mitglied
Beiträge: 505 Registriert: 29.08.2002 AutoCAD 2020(Deu); Windows 10 PRO x64(Deu)
|
erstellt am: 27. Sep. 2023 13:00 <-- editieren / zitieren --> Unities abgeben: Nur für Ivi
Ich würde einfach den (überarbeiteten) Block neu einfügen - oder mit DesignCenter neu definieren und anschließend mit ATTSYNC die Attribute auf den neuen Layer bringen. Oder diese beiden Lisp-Zeilen... (command "_insert" "GRBL-T=" ^c^c) (command "attsync" "_name" "GRBL-T") ------------------ Gruß aus Wien Bernhard Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ivi Mitglied
Beiträge: 2 Registriert: 27.09.2023
|
erstellt am: 27. Sep. 2023 13:15 <-- editieren / zitieren --> Unities abgeben:
Der Block ist an jeder Tür in der Zeichnung eingefügt und die Attribute sind bereits mit Inhalt der jeweiligen Türe gefüllt. Ich denke, dass der Inhalt nicht übertragen wird wenn ich den Block tausche. Das hatte ich auch schon überlegt, aber nicht getestet... ------------------ Ivi 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: 3067 Registriert: 26.08.2002 ACAD R11 - 2018.1.2 (Plant3D) AVIS ACAD LT 2013- 2020 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: 27. Sep. 2023 13:20 <-- editieren / zitieren --> Unities abgeben: Nur für Ivi
Hy Ivi Zitat: Original erstellt von Ivi: Ich denke, dass der Inhalt nicht übertragen wird wenn ich den Block tausche. Das hatte ich auch schon überlegt, aber nicht getestet...
doch genau das geht wenn man es richtig macht. 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 |
Vino Mitglied
Beiträge: 229 Registriert: 24.05.2005 Windows 10 BricsCAD Pro V23
|
erstellt am: 28. Sep. 2023 07:09 <-- editieren / zitieren --> Unities abgeben: Nur für Ivi
Hallo, wenn du den Block tauschst, werden die Attribute nicht geändert. Wenn du ATTSYNC nutzt, werden eventuell verschobene oder manuell hinzugefügte/geänderte Attribute auf Standard (wie in der Blockdefinition) zurück gesetzt (im schlimmsten Fall also gelöscht). Wenn das für dich kein Problem ist, geht's natürlich mit ATTSYNC. Ich hatte mal ein kleines Script geschrieben, das bei Attributen die Farbe geändert hat... Das könnte man dafür leicht umschreiben. Müsste ich aber erst raussuchen, sowas gibts aber sicher auch irgendwo im Netz. Schau vielleicht erst mal, ob ATTSYNC für dich passt. Gruß Stefan [Diese Nachricht wurde von Vino am 28. Sep. 2023 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1763 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: 28. Sep. 2023 08:28 <-- editieren / zitieren --> Unities abgeben: Nur für Ivi
Hallo Lvi, mit folgendem Code könntest Du die Aufgabe theoretisch für die aktuell geöffnete Zeichnung ausführen, ist aber ungetestet und nur schnell hingetippt. Code:
(defun c:Layer4Bem ( / AWS N VLA-OBJ X) (if (setq aws (ssget "_X" '((0 . "INSERT")(2 . "Türbeschriftung 2007")))) (progn (setq n 0) (if (not(tblsearch "LAYER" "Text")) (vla-add(vla-get-layers(vla-get-activedocument (vlax-get-acad-object)))"Text") ) (repeat (sslength aws) (setq vla-obj (vlax-ename->vla-object(ssname aws n))) (mapcar '(lambda(X) (if(member (car X) (mapcar 'strcase '("Breite" "Höhe"))) (vla-put-layer (cadr X)"Text") ) ) (JB_Layer4Bem:vla-AttList vla-obj)) ) ) ) (princ) ) (defun JB_Layer4Bem:vla-AttList(vla-obj / A) (if (=(vla-get-hasattributes vla-obj):vlax-true) (mapcar '(lambda(A)(list(strcase(vlax-get A 'TagString))A)) (vlax-safearray->list (vlax-variant-value(vla-getattributes vla-obj)))) ))
Bitte testen und die Ergebnisse prüfen. Wenn es sich um dynamische Blöcke handelt werden die nicht korrekt erkannt. Wenn das klappen sollte kann man das in einen Scriptablauf einbinden, das würde dann aber die Forenhilfe meinerseits überschreiten. ------------------ viele Grüße Jörn http://www.bosse-engineering.com das Flächenstempel_Tool Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 28. Sep. 2023 09:26 <-- editieren / zitieren --> Unities abgeben: Nur für Ivi
Zitat: Original erstellt von joern bosse: ist aber ungetestet und nur schnell hingetippt.
@Lvi den Code von Jörn musst du noch an einer Stelle anpassen, NACH der Zeile "(JB_Layer4Bem:vla-AttList vla-obj))" gehört noch eine Zeile " (setq n (1+ n))" hinein.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |