Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  ssget: Filterproblem, wenn Layername mit # beginnt

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
Autor Thema:   ssget: Filterproblem, wenn Layername mit # beginnt (291 mal gelesen)
romi1
Mitglied
Bautechniker


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

Beiträge: 622
Registriert: 09.02.2006

Xeon E3-1245V2
16GB RAM
Windows 10 Professional 64 bit
AutoCAD 2014

erstellt am: 21. Dez. 2019 08: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


ssget_1.jpg

 
Hallo!
Ich habe ein Problem mit dem Filter bei ssget. Wenn ich nach Layer filtern möchte, und der Layername beginnt mit "#", dann wird das Objekt nicht in den Auswahlsatz übernommen. Warum ist das so? Normalerweise sollte ja "#" im Layernamen erlaubt sein bzw. ist mir bei der herkömmlichen Arbeit mit AutoCAD noch nichts negatives mit so einem Layernamen aufgefallen. Nur beim Lisp mit ssget + Filter.
Siehe auch Bild anbei: die violette Polylinie ist im Layer "#_test" und wird - keine Ahnung warum - nicht in den Auswahlsatz übernommen; mit der weißen Linie im Layer "0" funktioniert es. Warum ist das so?

Gruß,
Roman

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: 1661
Registriert: 11.10.2004

Window 8.1
ACAD 2012-2020
CIVIL 2012 - 2020
BricsCAD V14-V20
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050

erstellt am: 21. Dez. 2019 10:39    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 romi1 10 Unities + Antwort hilfreich

Hallo Roman,
das Zeichen "#" ist eine Sonderzeichen für den Zeichenkettenvergleich.
Für die Prüfung muss ein ` vorangestellt werden.

Beispiel: Layer = "#123"

(ssget "_X" '((8 . "`#*")))

Das Sternchen steht hier für beliebige Zeichen.

Wenn Du z.B. mehrere Layer hast, die nach der Raute exakt 3 Zahlen beinhalten, dann kannst Du das Sonderzeichen # auch direkt für den Vergleich nutzen (# als steht für exakt eine Zahl)

Layer: "#123" "#234" "#345"
(ssget "_X" '((8 . "`####")))

viel Spaß beim ausprobieren

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

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

Multifilter Youtube

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

System: F1
und Google

erstellt am: 21. Dez. 2019 13: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 Nur für romi1 10 Unities + Antwort hilfreich

Deswegen nutzt man keine Sonderzeichen in benannten Objekten, das Auswählen und filtern ist schwierig(er)
und manche Dialog/Befehle kommen damit nicht zurecht.

ansonsten: AutoCAD Wildcards

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

romi1
Mitglied
Bautechniker


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

Beiträge: 622
Registriert: 09.02.2006

Xeon E3-1245V2
16GB RAM
Windows 10 Professional 64 bit
AutoCAD 2014

erstellt am: 21. Dez. 2019 15: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


ungue_lay.jpg

 
Ach so, das war der Grund ....
Ok. Habe nun die Zeichen für ssget mit "`" maskiert (nennt man doch maskiert, oder?) und jetzt klappt es.
War etwas mehr Aufwand, weil ja kein fixer Layername vorgegben, sondern für alle möglichen Layer passen muß.
Wäre wohl einfacher, wenn das Zeichen "#" wie auch die anderen Sonderzeichen im Layer nicht erlaubt wäre. (siehe Bild)
Danke!

Gruß,
Roman

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