Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Komponente löschen mittels ?

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 SOLIDWORKS
  
AMB 2024
Autor Thema:  Komponente löschen mittels ? (2435 mal gelesen)
MrSoul4470
Mitglied
Konstrukteur


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

Beiträge: 19
Registriert: 28.09.2010

SolidWorks 2008 SP5

erstellt am: 01. Mrz. 2011 16: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 an alle,

ich habe folgendes Problem. Ich möchte aus Modellen automatisch alle unterdrückten Komponenten rauslöschen.

Weil <Set ModelDoc2 = Component.GetModelDoc> bei unterdrückten Komponenten NULL zurückgibt, hebe ich zuerst die Unterdrückung mit <Component.SetSuppression2 swComponentResolved> auf. Das funktioniert auch wunderbar. Anschließend hole ich mit <Set ModelDoc2 = Component.GetModelDoc> das Modeldoc aus der Komponente und möchte dieses dann mit <ModelDoc2.EditDelete> löschen. Nur tut es das nicht. Die Komponente bleibt, egal was ich versuche.

Mein Code dazu sieht so aus:

If Component.IsSuppressed Then
    Component.SetSuppression2 swComponentResolved 'Unterdrückung aufheben
    Set ModelDoc2 = Component.GetModelDoc 'ModelDoc der unterdrückten Komponente holen
   
    If Not ModelDoc2 Is Nothing Then
        ModelDoc2.EditDelete 'Komponente löschen
    End If
End If

Kann mir jemand helfen? ich steh auf dem Schlauch. Weiß nicht woran es liegt. Mache ich einen Denkfehler?

Viele Grüße
Christian

------------------
PEC

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

Torsten Niemeier
Ehrenmitglied V.I.P. h.c.
Maschinenbau Ingenieur



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

Beiträge: 3682
Registriert: 21.06.2001

"ZUSE I.36", 8 BIT, 32 Lämpchen, Service-Ölkännchen "ESSO-Super", Software: AO auf Kuhlmann-Parallelogramm-Plattform
** CSWP 04/2011 **
** CSWE 08/2011 **

erstellt am: 01. Mrz. 2011 22:25    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 MrSoul4470 10 Unities + Antwort hilfreich

Hallo Christian,

ohne Test:

If Component.IsSuppressed Then
    Component.select3 (false)
    baugruppenname.editdelete <- für "baugruppenname" die zugewiesene Variable der Baugruppe benutzen
End If


Gruß, Torsten

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

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



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

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 02. Mrz. 2011 08:13    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 MrSoul4470 10 Unities + Antwort hilfreich

Hallo Christian,

so wie ich deinen Code lese versuchst du, die Modelldateien der unterdrückten Dokumente zu löschen, nicht die unterdrückten Komponenten aus der Baugruppe zu entfernen.

Du überprüfst zuerst, ob die Komponente unterdrückt ist, so weit so gut. Aber dann hebst du die Unterdrückung auf, dadurch wird das Modell in den Arbeitsspeicher geladen und ist somit für das Löschen im Betriebssystem gesperrt, weil ja im Zugriff. Dann versuchst du in diesem Modell (der Pointer steht auf ModelDoc2, das ist ja das Object deiner Komponente, nicht die Baugruppe) die selektierten Objekte zu löschen, glücklicherweise ist da nix selektiert, sonst würdest du dir deine Komponentendatei zerbasteln!

So wie Torsten vorgeschöagen hat sollte es dann gehen: wenn du einen unterdrückte Komponente gefunden hast diese selektieren und dann in der Baugruppe die Selektion mit EditDelete löschen. Dadurch bleibt die Modelldatei selbst unangetastet, nur in der Baugruppe wird es rausgeschmissen.

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de
Stefans SolidWorks Blog

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

MrSoul4470
Mitglied
Konstrukteur


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

Beiträge: 19
Registriert: 28.09.2010

SolidWorks 2008 SP5

erstellt am: 02. Mrz. 2011 13:31    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 Stefan, hallo Torsten,

danke für Eure wertvollen Tipps... So funktioniert es jetzt schon mal:

If Component.IsSuppressed Then
        Component.SetSuppression2 swComponentResolved 'Unterdrückung aufheben
        Set ModelDoc = Component.GetModelDoc 'ModelDoc der Komponente holen

        boolstatus = Component.Select3(False, ModelDoc)
        Set SelMgr = Part.SelectionManager
        Part.EditDelete
End If

Jetzt habe ich "nur" noch das Problem, dass ich jede Baugruppe öffnen muss, die unterdrückte Teile/Baugruppen enthält, weil ich direkt nur Komponenten aus dem obersten Level der Struktur rauslöschen kann und andernfalls immer die Baugruppe, die die unterdrückten Komponenten enthält mit rausfliegt. Mal schauen.

Wenn's weiterhin hakt, dann melde ich mich nochmal.
Auf jeden Fall vielen Dank!

Christian

------------------
PEC

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

MrSoul4470
Mitglied
Konstrukteur


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

Beiträge: 19
Registriert: 28.09.2010

SolidWorks 2008 SP5

erstellt am: 02. Mrz. 2011 15: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

So... mein Makro geht jetzt durch alle Teile / Baugruppen eines beliebigen Modells und löscht mir die unterdrückten Teile / Baugruppen sauber raus.

Und an der Sache mit dem Markieren wäre ich fast gescheitert. Manchmal ist es zum Verzweifeln.

Danke nochmal!

Christian

------------------
Christian Pelg, Regensburg

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)2024 CAD.de | Impressum | Datenschutz