Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Gruppen bereinigen

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:  Gruppen bereinigen (1333 mal gelesen)
Bernd10
Mitglied



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

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 18. Okt. 2012 15:23    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 habe in einer Zeichnung zwei Objekte mit dem Befehl _-group gruppiert. Nun möchte ich die unreferenzierten Gruppen bereinigen. Das kann ich

1.) mit dem Befehl -BEREINIG so:

Befehl: -BEREINIG

Typ der zu bereinigenden ungenutzten Objekte eingeben
[BLöcke/BEmstile/Gruppen/LAyer/LTypen/MAterialien/MUlti-führungslinienstile/Plot
stile/Symbole/Textstile/Mlinienstile/tabellENstile/Visuellestile/Regappl/Nulllän
gengeometrie/leere teXtobjekte/ALles]: grupp
Zu löschende(n) Namen eingeben <*>:
Jeden zu löschenden Namen bestätigen? [Ja/Nein] <J>: n

Keine unreferenzierten Gruppen gefunden.

2.) mit dem Lisp-Code so:

Befehl: (vlax-for vlaobj (vla-get-groups (vla-get-activedocument
(vlax-get-acad-object))) (if (wcmatch (strcase (vla-get-name vlaobj)) (strcase
"*")) (vl-catch-all-error-p (vl-catch-all-apply 'vla-delete (list vlaobj)))))
nil

Mit dem Lisp-Code werden allerdings auch die referenzierten Gruppen (= Gruppen mit vorhandenen Objekten) bereinigt und das möchte ich eigentlich nicht.

Wie muss ich den obigen Lisp-Code ändern, dass nur die unreferenzierten Gruppen bereinigt werden?

Danke im Voraus und viele Grüße
Bernd

[Diese Nachricht wurde von Bernd10 am 18. Okt. 2012 editiert.]

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: 18. Okt. 2012 15:44    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 Bernd10 10 Unities + Antwort hilfreich

ungetestet: ( ich hoffe ich hab alle Klammern )

(vlax-for vlaobj (vla-get-groups (vla-get-activedocument
(vlax-get-acad-object)))
(if (=(vla-get-count vlaobj)0)
  (vl-catch-all-error-p
    (vl-catch-all-apply
      'vla-delete (list vlaobj)
      )
  )
)
)

------------------
Also ich finde Unities gut ...
---------------------------------------
  - 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

Bernd10
Mitglied



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

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 18. Okt. 2012 16:09    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 Thomas,

danke für Deine Antwort.

Zitat:
Original erstellt von CADmium:

(vlax-for vlaobj (vla-get-groups (vla-get-activedocument
(vlax-get-acad-object)))
(if (=(vla-get-count vlaobj)0)
  (vl-catch-all-error-p
     (vl-catch-all-apply
       'vla-delete (list vlaobj)
      )
  )
)
)

es sind alle Klammern da und es funktioniert wie gewünscht. Allerdings verstehe ich den Codeteil (=(vla-get-count vlaobj)0) nicht.

Kannst Du mir das noch kurz erklären?

Viele Grüße
Bernd

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: 18. Okt. 2012 16: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 Bernd10 10 Unities + Antwort hilfreich

naja, wenn die Gruppe leer ist - d.h. keine Objekte enthält , soll sie gelöscht werden ....

------------------
Also ich finde Unities gut ...
---------------------------------------
  - 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

Bernd10
Mitglied



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

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 19. Okt. 2012 07: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

Hallo Thomas,

Zitat:
Original erstellt von CADmium:
naja, wenn die Gruppe leer ist - d.h. keine Objekte enthält , soll sie gelöscht werden ....

danke für die Information.

Viele Grüße
Bernd

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