Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Nur Elemente in die Auswahl nehmen, welche nicht deaktiviert+nicht gefrorenen sind

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
  
PNY bietet das umfangreichste Ökosystem von B2B als auch B2C-Lösungen für IT-Akteure auf dem Markt, eine Pressemitteilung
Autor Thema:  Nur Elemente in die Auswahl nehmen, welche nicht deaktiviert+nicht gefrorenen sind (314 / mal gelesen)
neo4matrix
Mitglied



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

Beiträge: 152
Registriert: 15.01.2008

HP™ z2 Tower G4 Workstation mit
Intel® Core™ i9-9900K 8x 3.6 GHz-5.0 GHz
32 GB Arbeitsspeicher
1 TB HP Z Turbo PCIe® SSD
NVIDIA® Quadro® P2200 mit 5 GB RAM
HP™ 24" LPS LED TFT 16:10 ZR2440w.
Windows 10 Pro, 64 Bit
AutoCAD 2019 Design Suite Standard, SP1, 64 Bit
ecscad 2019, v19.1.0.20, 64 Bit
Microstation v8 2004, 32 Bit
MicroStation CONNECT Edition Update 11
Microsoft Office 365, 32 Bit
Microsoft Visio 2013, 32 Bit

erstellt am: 02. Sep. 2024 11:24    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 Gemeinde

Wie ergänze ich das folgende LISP Schnipsel, dass es nur noch Elemente in die Auswahl mitnimmt, welche auf nicht ausgeschalteten und nicht gefrorenen Layern sind:
(ssget "X" '((-4 . "<OR")(62 . 40)(62 . 44)(62 . 30)(62 . 34)(-4 . "OR>")))

Besten Dank für jeden Tipp.
Gruss neo

[Diese Nachricht wurde von neo4matrix am 03. Sep. 2024 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: 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: 02. Sep. 2024 12:19    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 neo4matrix 10 Unities + Antwort hilfreich

Hallo Neo,
ich glaube, das muss über eine gesonderte Funktion gemacht werden, weil es sich ja um Layereigenschaften handelt, und diese in der SSGET-Filterliste nicht direkt geprüft werden können.
Wie folgt könnte es funktionieren, ist aber ungetestet:

Code:

(defun c:test ( / AWS)
  (if(and
      (setq aws(ssget "X" '((-4 . "<OR")(62 . 40)(62 . 44)(62 . 30)(62 . 34)(-4 . "OR>"))))
      (setq aws (LayerCheck aws))
      )
    aws)
  )


(defun LayerCheck (aws / AWS1 N VLA-LAYER VLA-OBJ)
  (setq aws1 (ssadd))
  (setq n 0)
  (repeat (sslength aws)
    (setq vla-obj (vlax-ename->vla-object(ssname aws n)))
    (setq vla-layer
          (vla-item(vla-get-blocks(vla-get-activedocument(vlax-get-acad-object)))
            (vla-get-layer vla-obj))
          )
    (if (and(=(vla-get-freeze vla-layer):vlax-false)
            (=(vla-get-LayerOn vla-layer):vlax-true))
      (ssadd (ssname aws n)aws1)
      )
    (setq n (+ n 1))
    )
  (if (>(sslength aws1)0)
    aws1)
  )


Arbeitsweise:
1. Auswahlsatz bilden
2. Gesonderte Funktion, in der der gesamte Auswahlsatz zum prüfen durchlaufen wird
3. Es wird zum Objekt der Eintrag der Layertabelle harausgezogen und auf die Eigenschaften FREEZE und LAYERON geprüft

------------------
viele Grüße

Jörn
http://www.bosse-engineering.com

das Flächenstempel_Tool(2023)

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

CADwiesel
Moderator
CAD4FM UG




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

Beiträge: 1989
Registriert: 05.09.2000

AutoCAD, Bricscad
Wir machen das Mögliche unmöglich

erstellt am: 02. Sep. 2024 12:19    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 neo4matrix 10 Unities + Antwort hilfreich

Kann es sein, dass du Objekteigenschaften und Tabelleneigenschaften hier mischst?
Geht das?

------------------
Gruß
CADwiesel
Besucht uns im CHAT

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

Alles

erstellt am: 02. Sep. 2024 12:30    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 neo4matrix 10 Unities + Antwort hilfreich

Hi,

Hi,

>>"und nicht gefrorenen Layern sind:"
SSGET Wahlmethode A bzw. ALL

>>" welche auf nicht deaktivierten"
Meinst du Layer mit der Eigenschaft EIN = Nein, also AUS ? "Deaktiviert" gibt es nicht.
Dafür gibt es keine Wahlmethode, zumindest keine direkte wie X oder A, man könnte aber eine Fenster
oder Kreuzenwahl nutzen, diese wählt nur Objekte welche angezeigt werden.

Die für den häufigsten Fälle sauberste Variante wäre wohl:
Layerliste erstellen (der ausgeschalteten und gefrorenen Layer), Auswahlsatz mit entsprechender Filterliste erstellen.
Auswahlsatz erstellen, Layerliste erstellen (der ausgeschalteten und gefrorenen Layer), Objekte dieser Layer aus dem Auswahlsatz entfernen.


@K.I.
Bist du es selbst? Freut mich dich kennenzulernen 
Deine irgendwo herausgelesenen Gruppencodes sind für Layer-Objekte, nicht für grafische Objekte, Version-unabhängig - nie.
Wenngleich man auch mal gc70 oder gc290 an Objekten finden kann, aber mit Layern haben sie dann nichts zutun.

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

neo4matrix
Mitglied



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

Beiträge: 152
Registriert: 15.01.2008

HP™ z2 Tower G4 Workstation mit
Intel® Core™ i9-9900K 8x 3.6 GHz-5.0 GHz
32 GB Arbeitsspeicher
1 TB HP Z Turbo PCIe® SSD
NVIDIA® Quadro® P2200 mit 5 GB RAM
HP™ 24" LPS LED TFT 16:10 ZR2440w.
Windows 10 Pro, 64 Bit
AutoCAD 2019 Design Suite Standard, SP1, 64 Bit
ecscad 2019, v19.1.0.20, 64 Bit
Microstation v8 2004, 32 Bit
MicroStation CONNECT Edition Update 11
Microsoft Office 365, 32 Bit
Microsoft Visio 2013, 32 Bit

erstellt am: 03. Sep. 2024 08:14    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 cadffm

mit deaktiviert meine ich die Glühbirne EIN/AUS. Mein LISP Schnipsel soll nichts ausgeblendetes oder gefrorenes mitnehmen. So, wie wenn der User es mit der Maus markieren würde. Ein Fenster kommt darum nicht in Frage. Ich Kann "X" mit "A" ersetzen? Dann wären die gefrorenen Elemente schon mal weg?

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

archtools
Mitglied



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

Beiträge: 965
Registriert: 09.10.2004

Entwickler für AutoCAD, BricsCAD u.a., alle Systeme

erstellt am: 03. Sep. 2024 08:43    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 neo4matrix 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von neo4matrix:
mit deaktiviert meine ich die Glühbirne EIN/AUS.

In einer DWG werden keine Glühbirnen verbaut, sondern z.B. Modelle von Glühbirnen gezeichnet. Es gibt viele Möglichkeiten, diese modellhaften Zeichnungen so zu gestalten, dass sie eine ein- oder ausgeschaltete Glühbirne darstellen. Welche Methode verwendest Du?

Eine Möglichkeit wäre, die Sichtbarkeit von Leuchtteilen durch Layer zu schalten. Dann geht es hier um Layer. Es könnte auch sein, dass dafür Blockreferenzen ausgetauscht werden, und dann geht es um Blockreferenzen.

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

Alles

erstellt am: 03. Sep. 2024 08: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 neo4matrix 10 Unities + Antwort hilfreich

Hi,

>>"Ein Fenster kommt darum nicht in Frage"
Verstehe ich nicht, gerade mit deiner Erklärung ist doch die Fenster- , besser Kreuzenwahl, genau das was du beschreibst!?


>>" Ich Kann "X" mit "A" ersetzen? Dann wären die gefrorenen Elemente schon mal weg?"
Ja.

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

neo4matrix
Mitglied



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

Beiträge: 152
Registriert: 15.01.2008

HP™ z2 Tower G4 Workstation mit
Intel® Core™ i9-9900K 8x 3.6 GHz-5.0 GHz
32 GB Arbeitsspeicher
1 TB HP Z Turbo PCIe® SSD
NVIDIA® Quadro® P2200 mit 5 GB RAM
HP™ 24" LPS LED TFT 16:10 ZR2440w.
Windows 10 Pro, 64 Bit
AutoCAD 2019 Design Suite Standard, SP1, 64 Bit
ecscad 2019, v19.1.0.20, 64 Bit
Microstation v8 2004, 32 Bit
MicroStation CONNECT Edition Update 11
Microsoft Office 365, 32 Bit
Microsoft Visio 2013, 32 Bit

erstellt am: 03. Sep. 2024 10:14    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 Joern Bosse

das scheint nicht zu funktionieren. Und ich bin auch nicht in der Lage, den Fehler zu finden. Sind das 2 Kommandos? Das zweite LAYERCHECK kann ich nicht in der Befehlszeile eingeben

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: 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: 03. Sep. 2024 11:55    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 neo4matrix 10 Unities + Antwort hilfreich

Hallo Neo,
die Funktion LayerCheck wird durch die Funktion c:test aufgerufen, nachdem der Auswahlwahlsatz erstellt worden ist, die braucht nicht manuell gestartet zu werden.

APPLOAD => test in die Befehlszeile eingeben, und dann könnte es funktionieren wenn ich kein Schusselfehler eingebaut habe.

------------------
viele Grüße

Jörn
http://www.bosse-engineering.com

das Flächenstempel_Tool(2023)

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

neo4matrix
Mitglied



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

Beiträge: 152
Registriert: 15.01.2008

HP™ z2 Tower G4 Workstation mit
Intel® Core™ i9-9900K 8x 3.6 GHz-5.0 GHz
32 GB Arbeitsspeicher
1 TB HP Z Turbo PCIe® SSD
NVIDIA® Quadro® P2200 mit 5 GB RAM
HP™ 24" LPS LED TFT 16:10 ZR2440w.
Windows 10 Pro, 64 Bit
AutoCAD 2019 Design Suite Standard, SP1, 64 Bit
ecscad 2019, v19.1.0.20, 64 Bit
Microstation v8 2004, 32 Bit
MicroStation CONNECT Edition Update 11
Microsoft Office 365, 32 Bit
Microsoft Visio 2013, 32 Bit

erstellt am: 03. Sep. 2024 13:45    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

@cadffm

Ziel der LISP soll sein, dass beim Ausführen alle gelben Elemente selektiert werden, und für einen nächsten Befehlt wie z.B. Löschen parat sind. Also ohne, dass der User mit der Maus etwas wählen muss.

Code:
(ssget "A" '((-4 . "<OR")(62 . 40)(62 . 44)(62 . 30)(62 . 34)(62 . 49151)(62 . 32767)(-4 . "OR>"))) (defun c:LetzteAuswahl ()(sssetfirst nil (ssget"_P"))) LetzteAuswahl

[Diese Nachricht wurde von neo4matrix am 03. Sep. 2024 editiert.]

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

neo4matrix
Mitglied



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

Beiträge: 152
Registriert: 15.01.2008

HP™ z2 Tower G4 Workstation mit
Intel® Core™ i9-9900K 8x 3.6 GHz-5.0 GHz
32 GB Arbeitsspeicher
1 TB HP Z Turbo PCIe® SSD
NVIDIA® Quadro® P2200 mit 5 GB RAM
HP™ 24" LPS LED TFT 16:10 ZR2440w.
Windows 10 Pro, 64 Bit
AutoCAD 2019 Design Suite Standard, SP1, 64 Bit
ecscad 2019, v19.1.0.20, 64 Bit
Microstation v8 2004, 32 Bit
MicroStation CONNECT Edition Update 11
Microsoft Office 365, 32 Bit
Microsoft Visio 2013, 32 Bit

erstellt am: 03. Sep. 2024 13:48    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

@joern

Es kommt nur:

Code:
Befehl: TEST
; Fehler: Automatisierungsfehler Schlüssel nicht gefunden


[Diese Nachricht wurde von neo4matrix am 03. Sep. 2024 editiert.]

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

Alles

erstellt am: 03. Sep. 2024 14:06    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 neo4matrix 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von neo4matrix:
@cadffm
Ziel der LISP soll sein, dass beim Ausführen alle gelben Elemente selektiert werden, und für einen nächsten Befehlt wie z.B. Löschen parat sind.
Also ohne, dass der User mit der Maus etwas wählen muss.

Du darfst musst die Fenster-Koordinaten direkt im Lisp mitgeben!
(ssget "_C" (getvar 'EXTMIN)(getvar 'EXTMAX) '((-4 . "<or")(62 . 30)(62 . 34)(-4 . "or>")))


[code](ssget "A" '((-4 . "<OR")(62 . 40)(62 . 44)(62 . 30)(62 . 34)(62 . 49151)(62 . 32767)(-4 . "OR>")))[/i]



Was soll denn das sein? -> (62 . 49151)(62 . 32767)
gc62 für die Objektfarbe ist zuständig für die Angabe der ACI Farben, die gehen inkl. VonLayer und VonBlock von 0 bis 255. Kannst du mir eine Beispieldatei für die Fälle >255 zeigen?

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

Alles

erstellt am: 03. Sep. 2024 14:37    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 neo4matrix 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von neo4matrix:
Es kommt nur:
Code:
Befehl: TEST
; Fehler: Automatisierungsfehler Schlüssel nicht gefunden


Ich war so frei und habe den Fehler korrigiert,
dazu habe ich noch sssetfirst ergänzt, ansonsten hast du nichts von der Routine.

Code:
(defun c:test ( / AWS)
  (if(and
      (setq aws(ssget "X" '((-4 . "<OR")(62 . 40)(62 . 44)(62 . 30)(62 . 34)(-4 . "OR>"))))
      (setq aws (LayerCheck aws))
      )
    (sssetfirst nil aws)
  )
  )


(defun LayerCheck (aws / AWS1 N VLA-LAYER VLA-OBJ)
  (setq aws1 (ssadd))
  (setq n 0)
  (repeat (sslength aws)
    (setq vla-obj (vlax-ename->vla-object(ssname aws n)))
    (setq vla-layer
          (vla-item(vla-get-layers(vla-get-activedocument(vlax-get-acad-object)))
            (vla-get-layer vla-obj))
          )
    (if (and(=(vla-get-freeze vla-layer):vlax-false)
            (=(vla-get-LayerOn vla-layer):vlax-true))
      (ssadd (ssname aws n)aws1)
      )
    (setq n (+ n 1))
    )
  (if (>(sslength aws1)0)
    aws1)
  )


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

neo4matrix
Mitglied



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

Beiträge: 152
Registriert: 15.01.2008

HP™ z2 Tower G4 Workstation mit
Intel® Core™ i9-9900K 8x 3.6 GHz-5.0 GHz
32 GB Arbeitsspeicher
1 TB HP Z Turbo PCIe® SSD
NVIDIA® Quadro® P2200 mit 5 GB RAM
HP™ 24" LPS LED TFT 16:10 ZR2440w.
Windows 10 Pro, 64 Bit
AutoCAD 2019 Design Suite Standard, SP1, 64 Bit
ecscad 2019, v19.1.0.20, 64 Bit
Microstation v8 2004, 32 Bit
MicroStation CONNECT Edition Update 11
Microsoft Office 365, 32 Bit
Microsoft Visio 2013, 32 Bit

erstellt am: 03. Sep. 2024 14: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

@cadffm

Parallel habe ich das mit punkt 1 und punkt 2 für den Bereich "_C" auch hinbekommen.
Habe aber Zahlen genommen:
(ssget"_C" '(-100000000 -100000000) '(100000000 100000000)
Besten Dank.

EXTMIN und EXTMAX ist der aktuelle Zeichnungsbereich im RAM?

(62 . 49151) ist RGB der Farbe 30
(62 . 32767) ist RGB der Farbe 40

Red + (Green*256) + (Blue*65536)
Beispiele:
Farbe Weiss => RGB 255,255,255 => 16777215
30 => 255,127,0 => 32767
40 => 255,191,0 => 49151


Mein finaler Coder lautet nun:

Code:
(ssget "_C" '(-100000000 -100000000) '(100000000 100000000) '((-4 . "<OR")(62 . 40)(62 . 44)(62 . 30)(62 . 34)(62 . 49151)(62 . 32767)(-4 . "OR>"))) (defun c:LetzteAuswahl ()(sssetfirst nil (ssget"_P"))) LetzteAuswahl

[Diese Nachricht wurde von neo4matrix am 03. Sep. 2024 editiert.]

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

neo4matrix
Mitglied



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

Beiträge: 152
Registriert: 15.01.2008

HP™ z2 Tower G4 Workstation mit
Intel® Core™ i9-9900K 8x 3.6 GHz-5.0 GHz
32 GB Arbeitsspeicher
1 TB HP Z Turbo PCIe® SSD
NVIDIA® Quadro® P2200 mit 5 GB RAM
HP™ 24" LPS LED TFT 16:10 ZR2440w.
Windows 10 Pro, 64 Bit
AutoCAD 2019 Design Suite Standard, SP1, 64 Bit
ecscad 2019, v19.1.0.20, 64 Bit
Microstation v8 2004, 32 Bit
MicroStation CONNECT Edition Update 11
Microsoft Office 365, 32 Bit
Microsoft Visio 2013, 32 Bit

erstellt am: 03. Sep. 2024 15:04    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


F40.lsp

 
@cadffm: Der korrigierte Code funktioniert ebenfalls tadellos. Vielen lieben Dank.
@joern bosse: Besten Dank.

[Diese Nachricht wurde von neo4matrix am 10. Sep. 2024 editiert.]

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

Alles

erstellt am: 03. Sep. 2024 15:17    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 neo4matrix 10 Unities + Antwort hilfreich

[QUOTE]Original erstellt von neo4matrix:
@cadffm
EXTMIN und EXTMAX ist der aktuelle Zeichnungsbereich im RAM?
[F1] Extmin/Extmax, Ich sage einfach mal "Ja" - Der kann zwar mal größer als der aktuell verwendete Zeichenbereich sein, aber nie kleiner, also sollte die Kreuzenwahl alles sichbare wählen

(62 . 49151) ist RGB der Farbe 30 <- wie gesagt, ich denke gc62 ist nur für die ACI Farben 0-255 zuständig
(62 . 32767) ist RGB der Farbe 40 [/i]<- wie gesagt, ich denke gc62 ist nur für die ACI Farben 0-255 zuständig

Zusätzlich kommt noch der Umstand das diese RGB-Werte NICHT in DXF/DWG verwendung finden!
Also falsche Werte in falschen Gruppencodes, diese Filter werden nie etwas filtern.

Red + (Green*256) + (Blue*65536)
Beispiele:
Farbe Weiss => RGB 255,255,255 => 16777215
<- AUSNAHME was den Wert angeht, aber der gc bleibt auch hier fasch[i]
30 => 255,127,0 => 32767
40 => 255,191,0 => 49151

16777215
  32767
16809982 <- Rein ACI30 bei schwarzem Hintergrund ist aber 16744192, zudem hast du 32767 im Code geschrieben, wobei
aber weder 32767, 16809982 noch mein 16744192 ein Ergebnis liefern würden.

Korrigiere mich, wenn ich daneben liege!

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

neo4matrix
Mitglied



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

Beiträge: 152
Registriert: 15.01.2008

HP™ z2 Tower G4 Workstation mit
Intel® Core™ i9-9900K 8x 3.6 GHz-5.0 GHz
32 GB Arbeitsspeicher
1 TB HP Z Turbo PCIe® SSD
NVIDIA® Quadro® P2200 mit 5 GB RAM
HP™ 24" LPS LED TFT 16:10 ZR2440w.
Windows 10 Pro, 64 Bit
AutoCAD 2019 Design Suite Standard, SP1, 64 Bit
ecscad 2019, v19.1.0.20, 64 Bit
Microstation v8 2004, 32 Bit
MicroStation CONNECT Edition Update 11
Microsoft Office 365, 32 Bit
Microsoft Visio 2013, 32 Bit

erstellt am: 04. Sep. 2024 08: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


Test.dwg

 
Zitat:
Original erstellt von cadffm:
[QUOTE]Also falsche Werte in falschen Gruppencodes, diese Filter werden nie etwas filtern.

Warum funktioniert es dann?
Ich habe eine Test.dwg mit Linien mit den Farben 30+40 sowie RGB-Version. Und der Befehl markiert alle Linine. Auch die RGB Versionen

Code:
(defun c:LetzteAuswahl ()(sssetfirst nil (ssget"_A" '((-4 . "<OR")(62 . 30)(62 . 40)(62 . 49151)(62 . 32767)(-4 . "OR>"))))) LetzteAuswahl

[Diese Nachricht wurde von neo4matrix am 10. Sep. 2024 editiert.]

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

Alles

erstellt am: 04. Sep. 2024 09:21    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 neo4matrix 10 Unities + Antwort hilfreich


240904_ssgetColor2.dwg

 
Moin,

>>"Ich habe eine Test.dwg "
Anmerkung: "Test.dwg" ist ein wirklich schlechter Name für Anhänge auf CAD.de, es wird doch nur 1 Upload-Verzeichnis pro User geführt in welchem alle Anhänge des Users gespeichert werden
und wie es immer geschrieben steht: Neu schlägt Alt, du überschreibst die alte Datei gleichen Namens -> der alter Thread von zum Teil oder Vollständig zerstört   

>>"Warum funktioniert es dann?"
>>" Und der Befehl markiert alle Linine. Auch die RGB Versionen"
Weil du alles zusammen im Filter hast und in deinen Beispielen der weiterhin vorhandene gc62 den korrospondierenden(?) ACI Wert aufweist!
Du solltest dir Objektdaten einmal ansehen wenn du diese manipulieren willst!
EDIT
Im Anhang findest du eine DWG mit 3 vier Kreispaaren, teste deine und meine Codeschnipsel in dieser Datei!
Aber zuerst, schaue dir die Objektedaten an (entget(car(entsel)))
/EDIT

Versuche es doch mal damit:
(sssetfirst nil (ssget"_A" '((-4 . "<OR")(62 . 49151)(62 . 32767)(-4 . "OR>"))))
Und?


Aber selbst wenn man es richtig schreibst, mit den Werten wird das nichts:
(sssetfirst nil (ssget"_A" '((-4 . "<OR")(420 . 49151)(420 . 32767)(-4 . "OR>")(430 . ""))))

Und auch mit meinen Werten kann das Ergebnis "falsch" sein, diesen Code in meiner Datei:
(sssetfirst nil (ssget"_A" '((-4 . "<OR")(420 . 16744192)(420 . 16760576)(-4 . "OR>"))))

wohingegen es so funktioniert (allerdings gibt es ja Viele ähnliche Truecolor-Werte welche alle zB. dem ACI30 zugeschrieben werden)
(sssetfirst nil (ssget"_A" '((-4 . "<OR")(420 . 16744192)(420 . 16760576)(-4 . "OR>")(430 . ""))))


Ich hoffe mein letztes (richtig funktionierende) Beispiel hilft dir bei der Verbesserung deiner Funktion


Code:
(defun c:LetzteAuswahl ()(sssetfirst nil (ssget"_A" '((-4 . "<OR")(62 . 30)(62 . 40)(62 . 49151)(62 . 32767)(-4 . "OR>"))))) LetzteAuswahl
[/i][/QUOTE]
Das ist mir oben schon aufgefallen, wo/wie setzt du das ein? Ich beziehe mich da auf den Befehlsausruf zum Schluss,
das ist echt verwirrend. Wo hast du das herumlieben und wann/wie führst du das aus? Das würde mich echt interessieren.

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

Alles

erstellt am: 04. Sep. 2024 09:51    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 neo4matrix 10 Unities + Antwort hilfreich

Wobei ich anmerken möchte: Solange du ALLE Objekte wählen möchtest (ACI30, wie auch TRUECOLOR-Werte welche dem ACI30 angenähert sind),
dann kannst du eigentlich einfach (62 . 30) filter und fertig!
Möchtest du hingegen alle mit ACI30 und mit einem ganz bestimmten Truecolor-Wert, dann musst du es so machen wie ich oben zeigte.

Dann kommt noch die Frage wie du es mit Objekten hälst welche eine Farbbuch-Farbe aufweisen,
wenn du diese einschließen möchtest, dann muss man nichts weiter beachten, möchtest du diese aber
ausschließen, dann kannst du es wie oben gezeigt mit (430 . "") erreichen (da wir annehmen das eine Farbbuch-Farbe auch immer einen Namen hat der mind. 1 Zeichen lang ist)

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

neo4matrix
Mitglied



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

Beiträge: 152
Registriert: 15.01.2008

HP™ z2 Tower G4 Workstation mit
Intel® Core™ i9-9900K 8x 3.6 GHz-5.0 GHz
32 GB Arbeitsspeicher
1 TB HP Z Turbo PCIe® SSD
NVIDIA® Quadro® P2200 mit 5 GB RAM
HP™ 24" LPS LED TFT 16:10 ZR2440w.
Windows 10 Pro, 64 Bit
AutoCAD 2019 Design Suite Standard, SP1, 64 Bit
ecscad 2019, v19.1.0.20, 64 Bit
Microstation v8 2004, 32 Bit
MicroStation CONNECT Edition Update 11
Microsoft Office 365, 32 Bit
Microsoft Visio 2013, 32 Bit

erstellt am: 04. Sep. 2024 13:48    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

@cadffm
WOW vielen Dank 🤯 OK, das wusste ich nicht mit dem Upload-Dateinamen 😥
(420 . x) kannte ich nicht. Das sind also die RGB Werte. Und wie berechne ich diese?

meine Befehlszeile heisst also nun:

Code:
(defun c:LetzteAuswahl ()(sssetfirst nil (ssget"_C" '(-100000000 -100000000) '(100000000 100000000) '((-4 . "<OR")(62 . 40)(62 . 44)(62 . 30)(62 . 34)(420 . 16744192)(420 . 16760576)(-4 . "OR>")(430 . ""))))) LetzteAuswahl

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

Alles

erstellt am: 04. Sep. 2024 14:42    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 neo4matrix 10 Unities + Antwort hilfreich

 
>>"OK, das wusste ich nicht mit dem Upload-Dateinamen"
Ja, das ist auch total bescheiden - aber wir User können es nicht ändern und die Chefetage sagt: Isso
Siehe Anhang


>>"(420 . x) kannte ich nicht."
Den 430er dann vermutlich auch nicht, aber die Farbbücher werden ja auch eher selten verwendet.


>>"Das sind also die RGB Werte. Und wie berechne ich diese?"
420er sind die Truecolorwerte, der 62er existiert dennoch dazu. Der 430er ist die Farbbuch-Farbe, der 62er und 420er existieren dennoch dazu.
Fertige Funktionen zum hin&her berechnen sollten imo alle in der Beispieldatei color-util.lsp zu finden,
falls du das LispTutorial installiert hast. Suche im Programmverzeichnis nach der Datei - sollte in /Sample/VisualLISP/ liegen.

>>"meine Befehlszeile heisst also nun:"

Ich verstehe es noch immer nicht.
(defun c:LetzteAuswahl............) definiert eine Funktion und stellt diese als AutoCAD-Befehl zur Verfügung,
das passiert für gewöhnlich durch laden einer Lispdatei (wie auch immer das geschieht).
Danach steht dir der Befehl LetzteAuswahl zur Verfügung.
Dein "meine Befehlszeile heisst also nun" macht mich noch kirre 
Hört sich so an als ob jemand eine dummer Textdatei öffnet, Text markiert, diesen in die Befehlszeile einfügt und sich über das Ergebnis freut,
immer und immer wieder.. Statt die Funktion immer (automatisch) zur verfügung zu stellen und man einfach den Befehl LetzteAuswahl startet.

Moment mal. Mir fällt gerade auf das der Funktionsname allgemeingültig ist, die Funktion aber extrem spezifisch ist (auf bestimmte Farben abgestimmt).
Lass mich raten, die "vorherigen Objekte" und ggf. auch die Farben werden zuvor durch ein anderes Tool erzeugt/verarbeitetet?
Rätselraten macht Laune, besonders wenn die Auflösung noch genannt wird.


>>(ssget"_C" '(-100000000 -100000000) '(100000000 100000000)
Ich finde es zwar gut wenn nichts außerhalb dieses Fensters liegt, aber meine Vorschlag würde praktisch immer funktionieren, deine Fenster in besonderen Fällen (außerhalb 100000000) nicht.


>>"(420 . 16744192)(420 . 16760576)"
Das macht praktisch keinen Sinn wenn du ohnehin gc62 Wert 30 und 40 filterst, dann sind die 420er überflüssig!
(420 . 16744192)(420 . 16760576) wird immer auch gc62 30 bzw 40 aufweisen.

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

Alles

erstellt am: 04. Sep. 2024 14:43    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 neo4matrix 10 Unities + Antwort hilfreich

neo4matrix
Mitglied



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

Beiträge: 152
Registriert: 15.01.2008

HP™ z2 Tower G4 Workstation mit
Intel® Core™ i9-9900K 8x 3.6 GHz-5.0 GHz
32 GB Arbeitsspeicher
1 TB HP Z Turbo PCIe® SSD
NVIDIA® Quadro® P2200 mit 5 GB RAM
HP™ 24" LPS LED TFT 16:10 ZR2440w.
Windows 10 Pro, 64 Bit
AutoCAD 2019 Design Suite Standard, SP1, 64 Bit
ecscad 2019, v19.1.0.20, 64 Bit
Microstation v8 2004, 32 Bit
MicroStation CONNECT Edition Update 11
Microsoft Office 365, 32 Bit
Microsoft Visio 2013, 32 Bit

erstellt am: 04. Sep. 2024 18:41    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

@cadffm: Danke für die Aufklärung.

Dieses c:LetzteAuswahl ist nur eine Notlösung, weil (command "_select" "_p" "") nie funktioniert hat, und ich die Element markiert haben will.
Allerdings sehe ich, dass es mit deinem LISP Code geht 🤯

Mit Befehlszeile meine ich: Während dem Testen kopiere ich das Ganze in die Befehlszeile. Sobald es läuft wie gewünscht entsteht daraus eine Schaltfläche oder LISP File.

Den Rest muss ich noch anschauen...

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

Alles

erstellt am: 04. Sep. 2024 19:31    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 neo4matrix 10 Unities + Antwort hilfreich

(command "_select" "_p" "")
funktioniert nicht, weil der Befehl WAHL/SELECT früher nur einen Auswahlsatz erstellte, aber keine Markierung und keine Auswahl.
In der Automation wird der alte Befehl verwendet, so funktionieren die bisherigen Scripte, Makros, (send)commands noch immer..

So würde es aktuell funktionieren: (progn(initcommandversion)(command "_select" "_p" ""))
allerdings ist das eine schlechte Wahl
1. Du weißt nicht ob der Befehl zukünftig noch einmal relevant ändert (und dein code dann nicht mehr läuft) und
2. ist dieses "neue" Verhalten gekoppelt an die Einstellung von PICKADD, also musst du auch noch Pickadd kontrollieren
  damit dein Code immer sauber läuft.

Dann doch lieber sssetfirst nutzen, das ist unabhängig von Pickadd und der AutoCAD-Version, zumindest wenn das erste Argument nil ist 

>>"Mit Befehlszeile meine ich: "
DANKE, so macht das Sinn.

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

neo4matrix
Mitglied



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

Beiträge: 152
Registriert: 15.01.2008

HP™ z2 Tower G4 Workstation mit
Intel® Core™ i9-9900K 8x 3.6 GHz-5.0 GHz
32 GB Arbeitsspeicher
1 TB HP Z Turbo PCIe® SSD
NVIDIA® Quadro® P2200 mit 5 GB RAM
HP™ 24" LPS LED TFT 16:10 ZR2440w.
Windows 10 Pro, 64 Bit
AutoCAD 2019 Design Suite Standard, SP1, 64 Bit
ecscad 2019, v19.1.0.20, 64 Bit
Microstation v8 2004, 32 Bit
MicroStation CONNECT Edition Update 11
Microsoft Office 365, 32 Bit
Microsoft Visio 2013, 32 Bit

erstellt am: 05. Sep. 2024 17:12    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

ich habe die color-util.lsp gefunden und mit appload geladen.
ich habe keinen Plan, wie ich das lisp verwenden kann, um aus RGB Werten oder Index-Farb-Nummern einen 420er Code zu generieren 😥


OK so kann man es herausfinden. Element z.B. Linie zeichnen. RGB Farbe geben. Linie selektieren.

Code:
(entget(car(entsel)))

Attribut 420 suchen. Fertig.

[Diese Nachricht wurde von neo4matrix am 10. Sep. 2024 editiert.]

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

neo4matrix
Mitglied



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

Beiträge: 152
Registriert: 15.01.2008

HP™ z2 Tower G4 Workstation mit
Intel® Core™ i9-9900K 8x 3.6 GHz-5.0 GHz
32 GB Arbeitsspeicher
1 TB HP Z Turbo PCIe® SSD
NVIDIA® Quadro® P2200 mit 5 GB RAM
HP™ 24" LPS LED TFT 16:10 ZR2440w.
Windows 10 Pro, 64 Bit
AutoCAD 2019 Design Suite Standard, SP1, 64 Bit
ecscad 2019, v19.1.0.20, 64 Bit
Microstation v8 2004, 32 Bit
MicroStation CONNECT Edition Update 11
Microsoft Office 365, 32 Bit
Microsoft Visio 2013, 32 Bit

erstellt am: 10. Sep. 2024 17:52    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


Auswahl_nach_Farbe.lsp


ElementInfos.lsp

 
Mein finales LISP "Auswahl_nach_Farbe.lsp", welches einige Befehle (F10, F40, F90) zur Verfügung stellt, um alle Elemente mit diversen Farb-Kombinationen zu selektieren, welche weder auf deaktivierten Layern (Glühbirne) sind, noch auf gefrorenen Layern sind.

Für die Anpassung an Eure Bedürfnisse, könnt ihr mit dem LISP "ElementInfos.lsp" die TrueColor Werte bestehender Elemente mit der gewünschten Farbe auslesen.
Der neue Befehl "ElementInfos" macht im Prinzip nur: (entget(car(entsel)))

Schöne Grüsse, ich habe fertig.
Mein Dank gilt: joern bosse und cadffm

mfg neo

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

neo4matrix
Mitglied



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

Beiträge: 152
Registriert: 15.01.2008

HP™ z2 Tower G4 Workstation mit
Intel® Core™ i9-9900K 8x 3.6 GHz-5.0 GHz
32 GB Arbeitsspeicher
1 TB HP Z Turbo PCIe® SSD
NVIDIA® Quadro® P2200 mit 5 GB RAM
HP™ 24" LPS LED TFT 16:10 ZR2440w.
Windows 10 Pro, 64 Bit
AutoCAD 2019 Design Suite Standard, SP1, 64 Bit
ecscad 2019, v19.1.0.20, 64 Bit
Microstation v8 2004, 32 Bit
MicroStation CONNECT Edition Update 11
Microsoft Office 365, 32 Bit
Microsoft Visio 2013, 32 Bit

erstellt am: 10. Sep. 2024 18:01    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

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)2024 CAD.de | Impressum | Datenschutz