Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Lisp für alles von Block setzten innerhalb von Blöcken?

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 für alles von Block setzten innerhalb von Blöcken? (1485 mal gelesen)
nena23
Mitglied
Montag bis Freitag, ganzen Tag lang


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

Beiträge: 461
Registriert: 25.01.2008

win 7 pro 64bit, immer aktuell
Acad Architecture 2013/2017, fast immer aktuell

erstellt am: 06. Dez. 2019 16:11    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

Noch jemand wach? 

meinte ich hätte sowas mal gehabt.
Müllzeichnungen mit reichlich Blöcken müssen aufgehübscht werden. Und jeden Blocktyp einzeln öffnen und Eigenschaften auf "von Block" umlegen dauert zu lange.

Danke

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

spider_dd
Mitglied



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

Beiträge: 1111
Registriert: 27.11.2003

Win 10Pro
Intel(R) Core(TM) i7-7700
NVIDIA Quadro P1000
ACAD, Civil-3D 2018

erstellt am: 06. Dez. 2019 16: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 nena23 10 Unities + Antwort hilfreich

Ist zwar schon etwas älter, aber könnte das sein was Du meinst.
Klick

HTH
Gruß
Thomas

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

nena23
Mitglied
Montag bis Freitag, ganzen Tag lang


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

Beiträge: 461
Registriert: 25.01.2008

win 7 pro 64bit, immer aktuell
Acad Architecture 2013/2017, fast immer aktuell

erstellt am: 06. Dez. 2019 16:36    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

Danke, aber läuft nicht. "Fehlerhafte DXF-Gruppe: ((-1 . <Objektname: 6...."

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Andreas Kraus
Mitglied
Elektrotechniker


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

Beiträge: 1356
Registriert: 11.01.2006

Win 10
ACAD 2022

erstellt am: 09. Dez. 2019 09: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 nena23 10 Unities + Antwort hilfreich

Hallo nena23,
hier mal ein Lisp dass die Farbe aller Objekte in allen Blöcken auf vonblock stellt.

Kannst du erweitern für Linientyp, Linienstärke, usw.

Code:
(vlax-for blk (vla-get-blocks
(vla-get-activedocument (vlax-get-acad-object))
      )
  (if (= (vla-get-IsLayout blk) :vlax-false)
    (vlax-for obj blk
      (vla-put-color obj 0)
    )
  )
)

EDIT: Da ist jetzt noch nichts mit Layer tauen, entsperren oder irgend eine Fehlerbehandlung dabei
------------------
Geht nicht, gibts nicht

Gruß
Andreas

http://kraus-cad.de

[Diese Nachricht wurde von Andreas Kraus am 09. Dez. 2019 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

nena23
Mitglied
Montag bis Freitag, ganzen Tag lang


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

Beiträge: 461
Registriert: 25.01.2008

win 7 pro 64bit, immer aktuell
Acad Architecture 2013/2017, fast immer aktuell

erstellt am: 09. Dez. 2019 09:29    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

Danke. Aber irgendwie passiert da nix. Habs mit appload geladen.
Meldung: Keine Umwandlung des lisp-Wertes in VARIANT mit folgendem Typ:  0

Dirk

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Andreas Kraus
Mitglied
Elektrotechniker


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

Beiträge: 1356
Registriert: 11.01.2006

Win 10
ACAD 2022

erstellt am: 09. Dez. 2019 13:36    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 nena23 10 Unities + Antwort hilfreich

Vielleicht so:

Code:
(vl-load-com)
(vlax-for blk (vla-get-blocks
(vla-get-activedocument (vlax-get-acad-object))
      )
  (if (= (vla-get-IsLayout blk) :vlax-false)
    (vlax-for obj blk
      (if (vlax-property-available-p obj "color")
      (vla-put-color obj 0)
    )
    )
  )
)

Ich hab mal reingeschrieben dass die Farbe nur geändert wird wenn das Objekt auch "Farbe hat"

Ach ja ... danach bitte regenerieren

------------------
Geht nicht, gibts nicht

Gruß
Andreas

http://kraus-cad.de

[Diese Nachricht wurde von Andreas Kraus am 09. Dez. 2019 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 09. Dez. 2019 13:49    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 nena23 10 Unities + Antwort hilfreich

(vl-load-com)
(defun C:BLKOBJCOLOR(/ blk obj TC-OBJ)
(vlax-for blk (vla-get-blocks
(vla-get-activedocument (vlax-get-acad-object))
      )
  (if (= (vla-get-IsLayout blk) :vlax-false)
    (vlax-for obj blk
      (cond
        ((and(not(vl-catch-all-error-p                             
                  (setq TC-OBJEKT(vl-catch-all-apply
                                    'vlax-property-available-p
                                      (list OBJ 'TrueColor)
                                    )
                  )
                )
            )
            TC-OBJEKT
            (not(vl-catch-all-error-p                             
                  (setq TC-OBJEKT(vl-catch-all-apply
                                    'vla-Get-TrueColor
                                    (list OBJEKT)
                                  )     
                  )
                )
            )
          )   
          (vla-put-ColorMethod TC-OBJEKT acColorMethodByLayer)
       
          (vlax-release-object TC-OBJEKT)
        )                       
        ((vlax-property-available-p obj "color")
            (vla-put-color obj acbyBlock)
        )
      )                 
    )
  )
)
(vla-Regen(vla-get-activedocument(vlax-get-acad-object))acAllViewports)
)

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - Thomas -          
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

nena23
Mitglied
Montag bis Freitag, ganzen Tag lang


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

Beiträge: 461
Registriert: 25.01.2008

win 7 pro 64bit, immer aktuell
Acad Architecture 2013/2017, fast immer aktuell

erstellt am: 09. Dez. 2019 14: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

Danke erstmal, werde ich nochmal ausprobieren.
Habe inzwischen im x-ten Versuch eine lsp gefunden ("fixblockII") die es ohne Fehlermeldung tut. Zwar auf vonLayer, aber das passt hierfür auch.
Dirk


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: 21533
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 09. Dez. 2019 15:38    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 nena23 10 Unities + Antwort hilfreich

Schau das die verwendeten Codeschnipsel nicht alle Blöcke bearbeiten, denn es ist nicht
wirklich was du möchtest (je nach Datei/Inhalt/Stilen).

Die Beispiele hier im Thread sind dann doch eher fürs programmierende Volk
die sich derartige Sicherungen noch selbst einbauen.

Bemaßungen, StandardBemaßungspfeile, , Tabellen oder auch Anordnungn und mehr noch sind auch alles "Blöcke",
ich denke nicht das du wirklich ALLE bearbeiten willst.
(falls doch, ist es ein diskussionswürdiges Vorhaben   )

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Musicus
Mitglied
Staatl. gepr. Techniker


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

Beiträge: 685
Registriert: 26.07.2005

AutoCAD 2021
Linear Building 18
Linear CAD Solutions 18
C.A.T.S.
Windows 10 64bit

erstellt am: 11. Dez. 2019 10:58    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 nena23 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von nena23:
Danke erstmal, werde ich nochmal ausprobieren.
Habe inzwischen im x-ten Versuch eine lsp gefunden ("fixblockII") die es ohne Fehlermeldung tut. Zwar auf vonLayer, aber das passt hierfür auch.
Dirk



Wenn das Ergebnis VONLAYER auch passt, dann sollte es der Befehl _-SETBYLAYER eigentlich auch tun.

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