Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Problem mit ssget

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:  Problem mit ssget (1002 mal gelesen)
tappenbeck
Mitglied
Vermessungsingenieur


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

Beiträge: 1213
Registriert: 30.05.2002

AutoCAD (Map)2019, Topobase, MapEdit, Lisp, .vb.net

erstellt am: 07. Mrz. 2008 07:10    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

hi !

ich möchte eine auswahl erstellen lassen bei der elemente eines bestimmten types und die auf definierten layern liegen ausgewählt werden.

derzeit lautet mein ausdruck:

Code:
  (setq selected_elements
(SSGET "_c"
p_ur
p_ol
'((-4 . "<AND")(0 . "LINE,ARC,LWPOLYLINE")(8 . flt_lyfilter)(-4 . "AND>") )
;;hier ist der Layerfilter zu integrieren
;;'((0 . "LINE,ARC,LWPOLYLINE") )
)
) ;end-setq


wobei

Code:
(setq flt_lyfilter "layer1,layer2,layer3")

lautet.

kann mir einer weiterhelfen ?

gruß Jan :-)

------------------
jan :-)

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

Geos
Mitglied
Vermessungstechniker i.R.


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

Beiträge: 1017
Registriert: 21.09.2001

ACAD Map 2010, Win 7 Pro
eigene Lisp's<P>HW: Core i7 860, 2.8 GHz
3.3 GB, NVIDIA GeForce GTS 250

erstellt am: 07. Mrz. 2008 07:35    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 tappenbeck 10 Unities + Antwort hilfreich

Ersetze (8 . flt_lyfilter) durch (cons 8 flt_lyfilter) - ungetestet.

------------------
Schöne Grüße
Ernst

www.geopaint.at

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

Window 10
ACAD 2021
CIVIL 2021
BricsCAD V14-V22
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050<P>

erstellt am: 07. Mrz. 2008 07:40    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 tappenbeck 10 Unities + Antwort hilfreich

Hallo Jan,
ein bißchen weniger quoten, dann sollte es doch eigentlich funzen:
Code:

(SSGET "_c" p_ur p_ol
      (list '(-4 . "<AND")
    '(0 . "LINE,ARC,LWPOLYLINE")
      (cons 8  flt_lyfilter)
    (-4 . "AND>")))

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

Jörn

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

fuchsi
Mitglied
Programmierer c#.net Datawarehouse


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

Beiträge: 1201
Registriert: 14.10.2003

AutoCad Version 2012 deu/enu
<P>Windows 7 64bit

erstellt am: 07. Mrz. 2008 09:08    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 tappenbeck 10 Unities + Antwort hilfreich

noch kleine Tipps dazu.

1.)
AND-Verknüpfungen kann man sich sparen, verschiedenen Gruppencodes werden autom. AND-Verknüpft. (ist einfach lesebarer)
(SSGET "_c" p_ur p_ol(list (cons 0 "LINE,ARC,LWPOLYLINE")(cons 8 flt_lyfilter)))

2.)
Bei Selectionssets _cross _window usw. muss man aufpassen, dass die angegebenen Punkte auch im sichtbaren Bereich am Bildschirm liegen.
SSGET kann bei diesen Optionen keine Objekte wählen, die ausserhalb des sichtbaren Bereichs liegen. (Normalerweise kannst ja auch mit der Maus nicht ausserhalb des sichtbaren Bereiches Objekte wählen)

3.)
Nicht "_c" sondern "_cross" verwenden. In einer nächsten Autocadversion kann c alleine vielelicht nicht mehr eindeutig sein, weil eine weitere Option mit C dazukommt. _cross wird immer eindeutig bleiben
(ssget "_cross" ....)
Ausserdem ist es lesbarer

[Diese Nachricht wurde von fuchsi am 07. Mrz. 2008 editiert.]

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

Wolfgang S
Mitglied
CADaver


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

Beiträge: 270
Registriert: 06.03.2006

AC 2009, C3D 2009, AC 2010, C3D 2010, AC 2011, C3D 2011, RVT 2010, RVT 2011, ASD 2011 und alles darunter bis R14 +
Win XP, Win XP64, Win 7/64

erstellt am: 27. Mrz. 2008 08: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 Nur für tappenbeck 10 Unities + Antwort hilfreich

 
Zitat:
3.)
Nicht "_c" sondern "_cross" verwenden. In einer nächsten Autocadversion kann c alleine vielelicht nicht mehr eindeutig sein, weil eine weitere Option mit C dazukommt. _cross wird immer eindeutig bleiben
(ssget "_cross" ....)
Ausserdem ist es lesbarer

Das interessiert mich jetzt aber!

Command: (ssget "_C" '(0 0) '(1000 1000) )
<Selection set: 3>
Command: (ssget "_CROSS" '(0 0) '(1000 1000) )
; error: bad ssget mode string

Meines wissens gelten ja nur die (in der Hilfe angegebenen) Modi wie
":S" "X" "C" inkl. dem "_" für die Sprachunabhängigkeit.

beim Testen ha´t´s definitiv nicht funktioniert, wo gibts denn mehr Infos darüber?

lg
Wolfgang S

[edit] aus "S" hab ich das ":S" gemacht

[Diese Nachricht wurde von Wolfgang S am 27. Mrz. 2008 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: 21533
Registriert: 03.06.2002

Alles

erstellt am: 27. Mrz. 2008 09: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 tappenbeck 10 Unities + Antwort hilfreich

Ich denke mal hier wurde das wissen über die eine Sache mit einem
anderen Sachverhalt gemischt 

Wenn es um Command-/Makro-/Script- Anweisungen geht, ich meine die Nutzung
ganz normaler Acad-Befehle,  dann stimmt die Aussage, dann sollte man lieber
_cross statts _c verwenden bei der Objektwahl. Bei SSGET ist das aber etwas
völlig anderes und es würde auch nicht funktionieren.

------------------
die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk)

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

Wolfgang S
Mitglied
CADaver


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

Beiträge: 270
Registriert: 06.03.2006

AC 2009, C3D 2009, AC 2010, C3D 2010, AC 2011, C3D 2011, RVT 2010, RVT 2011, ASD 2011 und alles darunter bis R14 +
Win XP, Win XP64, Win 7/64

erstellt am: 27. Mrz. 2008 11: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 tappenbeck 10 Unities + Antwort hilfreich

na dann bin ich beruhigt!
danke
Wolfgang S

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

fuchsi
Mitglied
Programmierer c#.net Datawarehouse


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

Beiträge: 1201
Registriert: 14.10.2003

AutoCad Version 2012 deu/enu
<P>Windows 7 64bit

erstellt am: 01. Apr. 2008 11: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 Nur für tappenbeck 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von cadffm:
Ich denke mal hier wurde das wissen über die eine Sache mit einem
anderen Sachverhalt gemischt  ;)

Wenn es um Command-/Makro-/Script- Anweisungen geht, ich meine die Nutzung
ganz normaler Acad-Befehle,  dann stimmt die Aussage, dann sollte man lieber
_cross statts _c verwenden bei der Objektwahl. Bei SSGET ist das aber etwas
völlig anderes und es würde auch nicht funktionieren.


Tatsächlich hatte ich dies hier verwechselt. Da ich Selection-Sets über _F und _C nicht verwende (ist mir einfach zu unsicher) hatte ich mich da ein bisschen verrant.

------------------

Ing. Anton Fuchs
WWW.FFZELL.AT.TC

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