Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Solid-Schraffuren NUR in Blöcken löschen

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:  Solid-Schraffuren NUR in Blöcken löschen (1373 / mal gelesen)
archi.archi
Mitglied



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

Beiträge: 77
Registriert: 08.10.2010

erstellt am: 22. Okt. 2019 16: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


del-solid.dwg

 
Hallo Forumer,

es sollen NUR in Blöcken Schraffuren vom Typ Solid gelöscht werden.

Zum Löschen ALLER Solid-Schraffuren habe ich hier z.B. gefunden:

Code:

(defun C:DEL-SOLID( / 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"))
            (wcmatch (strcase(vla-get-PatternName ITEM)) "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"))
              (wcmatch (strcase(vla-get-PatternName ITEM)) "SOLID*")
          )
        (vl-catch-all-error-p
          (vl-catch-all-apply             
            'vla-delete
            (list ITEM)
          )
        )     
      )
    )       
  )
  (vla-regen(vla-get-activedocument (vlax-get-acad-object)) acAllViewports)
)

Leider ist mir die Begrenzung der Auswahl nur auf Blöcke bisher nicht gelungen.

Wo bzw. wie muss der Code geändert werden, damit nur die Schraffuren in Blöcken gelöscht werden?

Dankbarer Gruß

archi

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

System: F1
und Google

erstellt am: 22. Okt. 2019 16:14    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 archi.archi 10 Unities + Antwort hilfreich

Also nur die Blöcke durchgehen und dabei Modell&Layouts ausschließen

  (vlax-for BLOCK (vla-get-blocks(vla-get-activedocument(vlax-get-acad-object)))
  (if (= (vla-get-isLayout BLOCK) :vlax-false)
    (vlax-for ITEM BLOCK
      (if(and(=(strcase(vla-get-objectname  ITEM))(strcase "AcDbHatch"))
              (wcmatch (strcase(vla-get-PatternName ITEM)) "SOLID*")
          )
        (vl-catch-all-error-p
          (vl-catch-all-apply           
            'vla-delete
            (list ITEM)
          )
        )   
      )
    )
  )
  )

ACHTUNG: Das Muster steht auf SOLID*, also alle Schraffurmuster die mit "SOLID" beginnen!

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



BIM Coordinator (m/f/d)

Your vision is ambitious. Just like ours.

Our people are our success. As one of us, you will contribute to engineering excellence for the high-tech markets of the future, including semiconductors, batteries, pharmaceuticals, biotechnology, and data centers. At Exyte, you will be part of a global community of challenge seekers who are ambitious and passionate about innovation....

Anzeige ansehenBauwesen
archi.archi
Mitglied



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

Beiträge: 77
Registriert: 08.10.2010

erstellt am: 23. Okt. 2019 11:14    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 cadffm,

zum Glück immer wieder die selben "Verdächtigen" - du bist hier wirklich ein 良い精神!
Und mit deinen Antwortzeiten können sich die Supports dieser Welt mal messen.

Wissen ist immer noch durch nichts zu ersetzen.
Dank deiner Hilfe können wir jetzt eingehende Referenzdateien schneller bereinigen.

Vielen Dank und sicher gibt es ein nächstes Mal

archi

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