Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Lisp für Schraffurmuster

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:  Lisp für Schraffurmuster (3401 mal gelesen)
knblc
Mitglied



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

Beiträge: 25
Registriert: 05.12.2003

erstellt am: 20. Dez. 2004 11:47    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 bin auf der Suche nach folgendendem Lisp:

1. Ich möchte aus einer Zeichnung alle Schraffuren
  mit dem Musternamen "solid" löschen.

Ein Lisp , mit dem sich sämtliche Schraffuren löschen
lassen habe ich bereits gefunden.

2. Gibt es die Möglichkeit, die Schnellauswahl per Lisp zu
  automatisieren ?


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

tunnelbauer
Ehrenmitglied V.I.P. h.c.
Bauingenieur



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

Beiträge: 7085
Registriert: 13.01.2004

ich hab eh keine Probleme damit...

erstellt am: 20. Dez. 2004 12: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 knblc 10 Unities + Antwort hilfreich

Hallo knblc,

zu deinem ersten Problem:

* Befehl löschen aufrufen
* 'filter (Befehl Filter transparent aufrufen)
* Schraffur Muster Name (Hatch Pattern name)
* Händisch SOLID eintragen
* zur Auswahl hinufügen
* Filter beenden
* aktive Auswahlsatz mit Filter fühllen lassen
* Befehl löschen bestätigen

zu deinem zweiten Problem weis ich leider nix....

------------------
Grüsse

Thomas

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

knblc
Mitglied



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

Beiträge: 25
Registriert: 05.12.2003

erstellt am: 20. Dez. 2004 12:03    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

so mache ich es auch bis jetzt.
da ich sehr viele Zeichnungen bearbeiten muss,
möchte ich dies per script oder Lisp automatisieren.

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

CADchup
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 3329
Registriert: 14.03.2001

Sicher ist, dass nichts sicher ist. Selbst das nicht.
Joachim Ringelnatz

erstellt am: 20. Dez. 2004 12:20    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 knblc 10 Unities + Antwort hilfreich

Hi,

schau Dir mal SSX aus den Express Tools an.
Damit dürfte Dir geholfen sein.


Gruß
CADchup

------------------
www.cadditions.de

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

knblc
Mitglied



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

Beiträge: 25
Registriert: 05.12.2003

erstellt am: 20. Dez. 2004 12:32    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

mit ssx hat man folgende filter-Möglichkeiten:
>>Block name/Color/Entity/Flag/LAyer/LType/Pick/Style/Thickness/Vector
wie man nach Mustername (solid) filtert, habe ich nicht herausgefunden

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

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



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

Beiträge: 9732
Registriert: 01.12.2003

One AutoCAD 2.5 - 2023, Civil 3D, Win10/win11

erstellt am: 20. Dez. 2004 12: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 knblc 10 Unities + Antwort hilfreich

Na, wenn in Lisp dann einfach so
Code:

(if (setq auswahl (ssget "X" '((0 . "HATCH")(2 . "SOLID"))))
  (command "_erase" auswahl "")
)

Allerdings werden damit keine Schraffuren gefunden, die in Blöcken definiert sind!

------------------
Mit freundlichem Gruß

Udo Hübner
----------
1. Sind Sie im Zweifel, murmeln Sie.
2. Sind Sie in Schwierigkeiten, delegieren Sie.
3. Sind Sie verantwortlich, denken Sie nach.

[Diese Nachricht wurde von CAD-Huebner am 20. Dez. 2004 editiert.]

[Diese Nachricht wurde von CAD-Huebner am 20. Dez. 2004 editiert.]

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

knblc
Mitglied



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

Beiträge: 25
Registriert: 05.12.2003

erstellt am: 20. Dez. 2004 13: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

Spitze
klappt wunderbar.

Besten Dank
Herzliche Grüsse
Martin

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 20. Dez. 2004 13: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 knblc 10 Unities + Antwort hilfreich

und wenn es wirkliche alle Schraffuren - auch die in Blöcken löschen soll:
(defun C ELALL-SOLIDHATCH( / BLOCK ) 
  (vl-load-com)     
  (vlax-for LAYOUT (vla-get-layouts(vla-get-activedocument(vlax-get-acad-object)))   
    (vlax-for ITEM (setq BLOCK (vla-get-Block LAYOUT))
      (if(and(=(strcase(vla-get-objectname  ITEM))(strcase "AcDbHatch"))
            (=(strcase(vla-get-PatternName ITEM))(strcase "SOLID"))
        )   
        (vl-catch-all-error-p
          (vl-catch-all-apply                 
            'vla-delete
            (list ITEM)
          )
        )         
      )
    ) 
  )                                           
  (vlax-for BLOCK (vla-get-blocks(vla-get-activedocument(vlax-get-acad-object)))
    (vlax-for ITEM BLOCK     
      (if(and(=(strcase(vla-get-objectname  ITEM))(strcase "AcDbHatch"))
              (=(strcase(vla-get-PatternName ITEM))(strcase "SOLID"))
          )   
        (vl-catch-all-error-p
          (vl-catch-all-apply                 
            'vla-delete
            (list ITEM)
          )
        )         
      ) 
    )           
  )   
  (vla-regen(vla-get-activedocument (vlax-get-acad-object)) acAllViewports)
)

SCNR 

------------------
- Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

Lothar1972
Mitglied
Haustechniker

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

Beiträge: 6
Registriert: 25.01.2019

erstellt am: 25. Jan. 2019 15:34    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 knblc 10 Unities + Antwort hilfreich

Hallo!
ich bin von dem Lisp-Code echt begeistert.
Habe aber leider keine Ahnung von Lisp.
Wie kompliziert wäre ein Lisp das so wie das vorherige alles im Plan als erstes auf Farbe vonlayer setzt und dann die Schraffuren auf z.B. Farbe 8?

Danke!

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

Meldin
Mitglied



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

Beiträge: 381
Registriert: 15.07.2011

ACA2020
Windows10

erstellt am: 25. Jan. 2019 16:20    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 knblc 10 Unities + Antwort hilfreich

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

[Diese Nachricht wurde von Meldin am 25. Jan. 2019 editiert.]

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

Meldin
Mitglied



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

Beiträge: 381
Registriert: 15.07.2011

ACA2020
Windows10

erstellt am: 25. Jan. 2019 16: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 knblc 10 Unities + Antwort hilfreich

könnte man so machen.

Code:
(progn
  (command-s "-VONLAYEREINST" (ssget "x") "" "Ja" "Ja")
  (if (setq auswahl (ssget "X" '((0 . "HATCH") (2 . "SOLID"))))
    (command "ändern" auswahl "" "e" "f" "8" "")
  )
)

------------------
Gruß Wolfgang

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

Lothar1972
Mitglied
Haustechniker

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

Beiträge: 6
Registriert: 25.01.2019

erstellt am: 27. Jan. 2019 15: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 Nur für knblc 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Meldin:
könnte man so machen.

Code:
(progn
  (command-s "-VONLAYEREINST" (ssget "x") "" "Ja" "Ja")
  (if (setq auswahl (ssget "X" '((0 . "HATCH") (2 . "SOLID"))))
    (command "ändern" auswahl "" "e" "f" "8" "")
  )
)


Danke für Deine Hilfe!
Nur bin ich definitiv zu "blöd" das zum laufen zu bringen.<P>Ich würde das anstatt der Zeile " 'vla-delete " (ich schätz mal das löscht die getroffenen Auswahl) in den Code einfügen, aber bin daran kläglich gescheitert.
Danke nochmals!

[Diese Nachricht wurde von Lothar1972 am 27. Jan. 2019 editiert.]

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

CADdog
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 2237
Registriert: 30.04.2004

Intel Xeon 3,6 GHz
32 GB RAM
NVIDIA Quadro P2000
Windows 10 Enterprise
AutoCADmap 3D 2023
WS-Landcad 2023
QGIS 3.10

erstellt am: 28. Jan. 2019 07: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 Nur für knblc 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Lothar1972:
Habe aber leider keine Ahnung von Lisp.
Danke!

Dann kann man es fast genauso einfach ohne Lisp machen
1. mit VONLAYEREINST alles auf Farbe VonLayer
2. mit Schnellauswahl alle Schraffuren auf Farbe 8

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

Gruß Thomas
CADdog the dog formerly known as TR

PS: Deine Systeminformation ist seltsam

AutoCAD spricht mit einem, aber viele hören nicht zu.

[Diese Nachricht wurde von CADdog am 28. Jan. 2019 editiert.]

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

Lothar1972
Mitglied
Haustechniker

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

Beiträge: 6
Registriert: 25.01.2019

erstellt am: 28. Jan. 2019 08: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 Nur für knblc 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von CADdog:

Dann kann man es fast genauso einfach ohne Lisp machen
1. mit VONLAYEREINST alles auf Farbe VonLayer
2. mit Schnellauswahl alle Schraffuren auf Farbe 8


Guten Morgen CADdog / Thomas!
Bei Plänen die wir selber zeichnen natürlich, da ist das kein Problem.
Aber ich hab leider jedes Jahr zumindest 15 verschiedene Architekten mit zumindest ebensovielen verschiedenen CAD-Sytemen und das sind Wände und anderes Zeug oft 100 mal in Blöcken verschachtelt...
und natürlich gibt es in den Plänen dann nix das Vonlayer ist... weil oft auch Wand und Schraffur am selben Layer liegen...
Und da bei dem Lisp oben das mit den löschen so toll und einfach geklappt hat, dachte ich das es mit umfärben doch ähnlich gehen sollte?

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

Meldin
Mitglied



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

Beiträge: 381
Registriert: 15.07.2011

ACA2020
Windows10

erstellt am: 28. Jan. 2019 09: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 knblc 10 Unities + Antwort hilfreich

das sollte diese zeile machen
(command-s "-VONLAYEREINST" (ssget "x") "" "Ja" "Ja")
ansonsten gib mal VONLAYEREINST in dieBbefehlszeile und arbeite sie mal durch es gibt hier auch noch die Möglichkeit für I wie Einstellungen.

------------------
Gruß Wolfgang 

[Diese Nachricht wurde von Meldin am 28. Jan. 2019 editiert.]

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