Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  ssget-Filter auf Auswahlsatz

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:  ssget-Filter auf Auswahlsatz (1337 mal gelesen)
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: 05. Apr. 2008 11: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

Servus

Ich habe Auswahlsatz 1 (AWS1) - beispielsweise wurden manuell Objekte in einem bestimmten Zeichnungsbereich gewählt:

Code:
(setq AWS1 (ssget))

Nun möchte ich aus diesem AWS1 weitere AWS filtern.
Beim ersten Mal noch kein Problem:
Code:
(setq AWS2 (ssget "_P" '((0 . "LINE"))))

das funkt aber beim nächsten Mal nicht mehr - bei:
Code:
(setq AWS3 (ssget "_P" '((0 . "TEXT"))))

wäre der vorige AWS ja AWS2 - die Linien.

Nun könnte man die Elemente im AWS1 auf ihre Eigenschaften prüfen, aber -
gibt's eine Möglichkeit, einen ssget-Filter öfter als einmal auf einen bereits vorhandenen Auswahlsatz anzuwenden.

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

www.geopaint.at

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

Claudio
Mitglied
Architekt


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

Beiträge: 334
Registriert: 13.04.2002

erstellt am: 05. Apr. 2008 19: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 Nur für Geos 10 Unities + Antwort hilfreich

Hallo Ernst!
Wenn Du das so machen willst, dann nimm z.b. SSSETFIRST zuhilfe
und aktiviere damit einen vorherigen Auswahlsatz (AWS1 oder AWS2,..)
von dem Du dann mit SSGET einen neuen Auswahlsatz erstellst.
Beispiel:
(hier sollte dann natürlich AWS1 Linien und Texte enthalten...)

(defun c:AWX()
  (setq AWS1 (ssget))
  (sssetfirst nil AWS1)
  (setq AWS2 (ssget '((0 . "LINE"))))
  (sssetfirst nil AWS1)
  (setq AWS3 (ssget '((0 . "TEXT"))))
  )

Gruß Claudio

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: 05. Apr. 2008 19:33    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

sssetfirst is mir bisher offensichtlich durch die Lappen gegangen 

Danke Dir

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

www.geopaint.at

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

Dorfy
Mitglied
Double-Dipl.-Ing. Bleistiftanspitzer


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

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 05. Apr. 2008 20:27    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 Geos 10 Unities + Antwort hilfreich

@geos
"sssetfirst is mir bisher offensichtlich durch die Lappen gegangen"

... versteh ich nicht ganz...
Hast mir doch beim Thema "Befehl fortsetzen" erst den richtigen Tip gegeben...
... nach sssetfirst nochmal ssget...
... aber so ist das... 
Mfg Heiko

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: 06. Apr. 2008 19:05    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 Heiko

Na ja, ich hab gesagt, ...AWS wieder aktuell machen... ohne lang darüber nachzudenken, wie. (z.B. hab ich mal - vor Jahren - einen AWS von (0,0) nach (0,0) gemovt )
Und auf meiner Festplatte (Gehirn) war wohl nicht genug Platz um Deine Frage abzuspeichern und damit mit meiner Frage in Verbindung zu bringen  .
Und wenn'st dich dann bei der Suche auf "ssget" und "Auswahl" konzentrierst ...

So, nun muss ich nachdenken, ob mir noch mehr Rechtfertigungen einfallen ...  - aber ich glaub' es reicht.

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

www.geopaint.at

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: 823
Registriert: 09.10.2004

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

erstellt am: 06. Apr. 2008 21: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 Geos 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Geos:
Servus

Ich habe Auswahlsatz 1 (AWS1) - beispielsweise wurden manuell Objekte in einem bestimmten Zeichnungsbereich gewählt:

Code:
(setq AWS1 (ssget))

Nun möchte ich aus diesem AWS1 weitere AWS filtern.
Beim ersten Mal noch kein Problem:
Code:
(setq AWS2 (ssget "_P" '((0 . "LINE"))))

das funkt aber beim nächsten Mal nicht mehr - bei:
Code:
(setq AWS3 (ssget "_P" '((0 . "TEXT"))))

wäre der vorige AWS ja AWS2 - die Linien.

Nun könnte man die Elemente im AWS1 auf ihre Eigenschaften prüfen, aber -
gibt's eine Möglichkeit, einen ssget-Filter öfter als einmal auf einen bereits vorhandenen Auswahlsatz anzuwenden.




Mach' das doch ordentlich so, wie man das in Lisp macht: mit Listen.

Schreib Dir eine Funktion, die einen Auswahlsatz in eine Liste von Entities umwandelt. Auf diese Liste kannst Du (mapcar 'entget ...) anwenden, um eine Liste der DXF-Listen zu bekommen, und dort kannst Du nach Belieben nach Entity-Typus, Layer, Einfügepunkte oder was auch immer sortieren oder filtern.

Tom

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. Apr. 2008 20: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

Hi Tom

Zitat:
...die Elemente im AWS1 auf ihre Eigenschaften prüfen...

Damit hab ich eigentlich in diese Richtung gedacht...

Aber (mapcar 'entget ...), filtern, sortieren - das hat mich wieder auf eine Idee gebracht ... geht so ungefähr in die Richtung Zeichungsanalyse (...enthält 20 Linien, davon 4 auf Layer yyyy, davon 2 auf Farbe xxx, ...).

Danke Dir

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

www.geopaint.at

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