Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Lisp-Routine um Attribute auf anderen Layer legen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Lisp-Routine um Attribute auf anderen Layer legen (391 / mal gelesen)
Ivi
Mitglied


Sehen Sie sich das Profil von Ivi an!   Senden Sie eine Private Message an Ivi  Schreiben Sie einen Gästebucheintrag für Ivi

Beiträge: 2
Registriert: 27.09.2023

erstellt am: 27. Sep. 2023 12:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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


Sehen Sie sich das Profil von cadwomen an!   Senden Sie eine Private Message an cadwomen  Schreiben Sie einen Gästebucheintrag für cadwomen

Beiträge: 3004
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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Ivi 10 Unities + Antwort hilfreich

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



Sehen Sie sich das Profil von Bernhard GSD an!   Senden Sie eine Private Message an Bernhard GSD  Schreiben Sie einen Gästebucheintrag für Bernhard GSD

Beiträge: 495
Registriert: 29.08.2002

AutoCAD 2020(Deu); Windows 10 PRO x64(Deu)

erstellt am: 27. Sep. 2023 13:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Ivi 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von Ivi an!   Senden Sie eine Private Message an Ivi  Schreiben Sie einen Gästebucheintrag für Ivi

Beiträge: 2
Registriert: 27.09.2023

erstellt am: 27. Sep. 2023 13:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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


Sehen Sie sich das Profil von cadwomen an!   Senden Sie eine Private Message an cadwomen  Schreiben Sie einen Gästebucheintrag für cadwomen

Beiträge: 3004
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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Ivi 10 Unities + Antwort hilfreich

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



Sehen Sie sich das Profil von Vino an!   Senden Sie eine Private Message an Vino  Schreiben Sie einen Gästebucheintrag für Vino

Beiträge: 220
Registriert: 24.05.2005

Windows 10
BricsCAD Pro V23

erstellt am: 28. Sep. 2023 07:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Ivi 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von joern bosse an!   Senden Sie eine Private Message an joern bosse  Schreiben Sie einen Gästebucheintrag für joern bosse

Beiträge: 1744
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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Ivi 10 Unities + Antwort hilfreich

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
良い精神




Sehen Sie sich das Profil von cadffm an!   Senden Sie eine Private Message an cadffm  Schreiben Sie einen Gästebucheintrag für cadffm

Beiträge: 21814
Registriert: 03.06.2002

Alles

erstellt am: 28. Sep. 2023 09:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Ivi 10 Unities + Antwort hilfreich

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

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz