Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Schraffurauswahl abhängig der Flächengröße mit ssget erstellen?

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:  Schraffurauswahl abhängig der Flächengröße mit ssget erstellen? (724 mal gelesen)
-ikarus-
Mitglied
Zeichner


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

Beiträge: 142
Registriert: 12.02.2007

ACAD 2015,PSP 2011, Showcase 2015, Mudbox 2015
Indesign CC, Illustrator CC, Photoshop CC, After Effects CC, Premiere Pro CC, Edge Animate CC, Acrobat DC Pro mit PitStop Pro,
Visual Studio 2013
Notepad++
Rechner: HP Z620 Workstation
NVIDIA Quadro K4000

erstellt am: 21. Jul. 2014 08: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,
ich hab mir eine kleine lisp geschrieben die meine Zeichnungen mit dem Befehl ZEICHREIHENF ordnet.
Die lisp schaut in eine INI und fragt dort Filtereinstellungen ab.
Meine Frage ist, kann ich über ssget (filter) auch auf Flächengröße zugreifen z.B. nehme alle Schraffuren mit Solid und einer Fläche <= 500 ?

Auszug aus der LISP

Code:

  (if (findfile inifile )
    (progn
      (princ (strcat "Datei <" inifile "> vorhanden."))
    )
    (progn
      (princ (strcat "Datei <" inifile "> nicht gefunden."))
    )
  )

  (setq inifile (OPEN inifile "r"))
  (setq ZRF (READ-LINE inifile))
  (setq zaehler 1 )
  (while (/= ZRF "[ENDE-NACHUNTEN]")
(setq ZRFAnfang (substr ZRF 1 1 ) )
(if (= ZRFAnfang "(" )
(progn
(princ (strcat "\n----------------------------\n[" (itoa zaehler) "] Durchgang nach unten\n\n" ))
(setq zaehler (+ zaehler 1 ))
(command "wahl" AWS1 "" )
(if
(setq N-U (ssget "_P" (read zrf))
) ;wählt aus
(progn (command "_.draworder" N-U "" "") (princ (strcat "\n<" zrf "> nach unten" )))
(princ (strcat "\nnichts gefunden für >" zrf "<" ))
); nach unten
)
(princ (strcat "\n---------------------------------\n" ZRF "\ndiese Zeile wurde nicht ausgewertet\n" ))
)
    (setq ZRF (READ-LINE inifile))
  )
  (setq zaehler 1 )
  (while (/= ZRF "[ENDE-NACHOBEN]")
(setq ZRFAnfang (substr ZRF 1 1 ))
(if (= ZRFAnfang "(" )
(progn (princ
(strcat "\n----------------------------\n[" (itoa zaehler) "] Durchgang nach oben\n\n" ))
(setq zaehler (+ zaehler 1 ))
(command "wahl" AWS1 "" )
(if
(setq N-O (ssget "_P" (read zrf))
) ;wählt aus
(progn (command "_.draworder" N-O "" "_F") (princ (strcat "\n<" zrf "> nach oben" )))
(princ (strcat "\nnichts gefunden für >" zrf "<" ))
) ; nach oben
)
(princ (strcat "\n---------------------------------\n" ZRF "\ndiese Zeile wurde nicht ausgewertet\n" ))
)
    (setq ZRF (READ-LINE inifile))
  )
  (CLOSE inifile)
(princ
"\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Zeichnungsreihenfolge.ini abgearbeitet
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n
Weiter im Programm
--------------------------------------\n")


Auszug aus der Zeichnungsreihenfolge.ini

Code:

[START-NACHUNTEN]
((0 . "HATCH"))
((8 . "LAYER1"))
((0 . "HATCH") (2 . "SOLID*"))
((0 . "HATCH") (2 . "SOLID*") (8 . "LAYER15"))
((0 . "HATCH") (2 . "SOLID*") (8 . "LAYER10"))
((0 . "HATCH") (8 . "KONTUR"))
[ENDE-NACHUNTEN]

[START-NACHOBEN]
((0 . "*LINE") (8 . "TEXT1,BEM1"))
((8 . "LAYER15") (-4 . "<NOT") (0 . "HATCH") (-4 . "NOT>"))
((8 . "LAYER95") (-4 . "<NOT") (0 . "HATCH") (-4 . "NOT>"))
((0 . "*LINE") (8 . "LAYER35"))
((8 . "LAYER95") (-4 . "<>") (2 . "SOLID*"))
((8 . "BEM*"))
((8 . "TEXT*"))
((8 . "FRAGEN"))
[ENDE-NACHOBEN]


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: 21. Jul. 2014 08: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 Nur für -ikarus- 10 Unities + Antwort hilfreich

Auf was du maximal mit ssget zugreifen kannst, siehst du anhand der Rückgabe von (entget (car(entsel)) '("*"))
Wenn du nach Längen oder Flächen auswählen willst, dann mußt du mit vla-get-area / vla-get-length durch die Zeichnungsdatenbank iterieren.

EDIT: Hier ein Beispiel für die TopLevel Elemente in den Layouts/Modell und eine Zweite für "innerhalb von Blöcken" - Klick!

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

-ikarus-
Mitglied
Zeichner


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

Beiträge: 142
Registriert: 12.02.2007

ACAD 2015,PSP 2011, Showcase 2015, Mudbox 2015
Indesign CC, Illustrator CC, Photoshop CC, After Effects CC, Premiere Pro CC, Edge Animate CC, Acrobat DC Pro mit PitStop Pro,
Visual Studio 2013
Notepad++
Rechner: HP Z620 Workstation
NVIDIA Quadro K4000

erstellt am: 21. Jul. 2014 08:56    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

Ok Danke dann muss ich die Lisp wohl noch etwas erweitern Danke.
Ich dachte, vielleicht gibt es einen Gruppencode dafür.

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: 21. Jul. 2014 09: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 -ikarus- 10 Unities + Antwort hilfreich

Das wäre dann in der Hilfe zum Objekt, also zB. Schraffur (DXF), dokumentiert. 

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

-ikarus-
Mitglied
Zeichner


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

Beiträge: 142
Registriert: 12.02.2007

ACAD 2015,PSP 2011, Showcase 2015, Mudbox 2015
Indesign CC, Illustrator CC, Photoshop CC, After Effects CC, Premiere Pro CC, Edge Animate CC, Acrobat DC Pro mit PitStop Pro,
Visual Studio 2013
Notepad++
Rechner: HP Z620 Workstation
NVIDIA Quadro K4000

erstellt am: 22. Jul. 2014 07:02    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,

hab es jetzt so gelöst, dass ich einen Auswahlsatz gebildet hab mit hautch - solid - layer und die Objekte der Auswahl nach der Flächengröße abfrage befinden sie sich in einem gewissen Bereich werden sie an eine neue Auswahl übergeben und mit dem Befehl draworder weiter bearbeitet.

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