Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Alle Verknüpfungen über Makro 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
Autor Thema:   Alle Verknüpfungen über Makro löschen (379 mal gelesen)
socke112
Mitglied
Ingenieur

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

Beiträge: 9
Registriert: 25.05.2012

Solidworks 2019, SP 2

erstellt am: 08. Jul. 2019 17: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

Hallo,

von einem Lieferanten habe ich eine Baugruppe mit viele Baugruppen (hunderte), in denen die Verknüpfungen fehlerhaft sind.
Da die Baugruppen nur bei uns ins PDM-System eingepflegt werden müssen, ohne auf weitere Bearbeitung zu achten, schreibe ich gerade an einem Makro mit folgenden Funktionen:
- Alle Verknüpfungen pro Baugruppe löschen
- Alle Teile pro Baugruppe fixieren (das geht schon mal)

Wie kann ich alle Teile pro Baugruppe per Makro löschen?

Grüße, Socke

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

ConZept
Mitglied
Maschinenbautechniker


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

Beiträge: 15
Registriert: 19.02.2019

SolidWorks 2018 / SP 4.0
Win7x64 /HP Z440

erstellt am: 08. Jul. 2019 17:36    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 socke112 10 Unities + Antwort hilfreich

Hallo Socke,

die Verknüpfungen für eine Komponente bekommst du über GetMates von IComponent2.
Um die Verknüpfung zu löschen, musst du diese vorher Selektieren SelectByID2 von IModelExtension (hierfür brauchst du den Namen der Verknüpfung, daher im ersten Schritt den Namen der Verknüpfung auslesen) und anschließend mit EditDelete die Verknüpfung löschen.

Hier ist ein Beitrag im Englischsprachigen Forum. Vielleicht hilft dir das etwas weiter 

------------------
Gruß ConZept

[Diese Nachricht wurde von ConZept am 08. Jul. 2019 editiert.]

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

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



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

Beiträge: 2178
Registriert: 18.07.2012

-Solid Works 2019 SP2
-Pro Engineer WF 3

erstellt am: 08. Jul. 2019 18: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 socke112 10 Unities + Antwort hilfreich

Hallo Socke,

evtl. hilft dir das Beispiel aus der API Hilfe auch weiter Get Mates and Mate Entities Example (VBA).

Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete 

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

socke112
Mitglied
Ingenieur

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

Beiträge: 9
Registriert: 25.05.2012

Solidworks 2019, SP 2

erstellt am: 10. Jul. 2019 12: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

Hallo,

vielen Dank für die Antworten! Ich werde mal ein bisschen probieren....

Grüße, Socke 

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

socke112
Mitglied
Ingenieur

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

Beiträge: 9
Registriert: 25.05.2012

Solidworks 2019, SP 2

erstellt am: 10. Jul. 2019 14:36    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,
meine Versuche enden leider damit, dass ich immer einzeln das Löschen bestätigen muss. Drücke ich "nein", versucht das Makro die nächste Verknüpfung zu löschen, drücke ich "ja" dann endet das Makro.

Kann jemand helfen?

Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swFeat As SldWorks.Feature
Dim swMateFeat As SldWorks.Feature
Dim swSubFeat As SldWorks.Feature
Dim swMate As SldWorks.Mate2
Dim swComp As SldWorks.Component2
Dim swMateEnt(2) As SldWorks.MateEntity2
Dim fileName As String
Dim errors As Long
Dim warnings As Long
Dim i As Long
Dim boolstatus As Boolean
Dim counter As Integer

Sub main()
   
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    counter = 0
    'Get the first feature in the assembly
    Set swFeat = swModel.FirstFeature
    'Iterate over features in FeatureManager design tree
    Do While Not swFeat Is Nothing
        If "MateGroup" = swFeat.GetTypeName Then
            Set swMateFeat = swFeat
            Exit Do
        End If
        Set swFeat = swFeat.GetNextFeature
    Loop
     
    'Get first mate, which is a subfeature
    Set swSubFeat = swMateFeat.GetFirstSubFeature
    Do While Not swSubFeat Is Nothing
     
      Set swMate = swSubFeat.GetSpecificFeature2
     
        If Not swMate Is Nothing Then
            boolstatus = swSubFeat.Select2(True, 0) 'Markiere Verknüpfung
            swModel.EditDelete
        End If
        ' Get the next mate in MateGroup
        Set swSubFeat = swSubFeat.GetNextSubFeature
        counter = counter + 1
    Loop
    MsgBox counter
End Sub

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

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



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

Beiträge: 2178
Registriert: 18.07.2012

-Solid Works 2019 SP2
-Pro Engineer WF 3

erstellt am: 10. Jul. 2019 16:42    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 socke112 10 Unities + Antwort hilfreich

Hallo socke,

quick and dirty swModel.EditDelete erst nach dem Loop ausführen, also wenn bereits alles markiert ist, da wenn du es im Loop machst nach Set swSubFeat = swSubFeat.GetNextSubFeature swSubFeat = Nothing wird, könnte evtl. daran liegen das du das Object swSubFeat von dem du GetNextSubFeature holen willst schon eleminiert hast.

Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete 

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

ConZept
Mitglied
Maschinenbautechniker


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

Beiträge: 15
Registriert: 19.02.2019

SolidWorks 2018 / SP 4.0
Win7x64 /HP Z440

erstellt am: 10. Jul. 2019 19: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 socke112 10 Unities + Antwort hilfreich

Hallo Socke,

grade mal einen Blick auf die Methode EditDelete geworfen -> in den Remarks wird auf die Methode DeleteSelection2 verwiesen, wenn keine Aufforderung gewünscht ist.

------------------
Gruß ConZept

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

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



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

Beiträge: 2178
Registriert: 18.07.2012

-Solid Works 2019 SP2
-Pro Engineer WF 3

erstellt am: 11. Jul. 2019 08:39    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 socke112 10 Unities + Antwort hilfreich

Hallo,

bei mir kommt keine Abfrage wenn ich EditDelete verwende, und habe hierzu auch keine Meldung in den Systemsteuerungen ausgeblendet.

Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete 

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

socke112
Mitglied
Ingenieur

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

Beiträge: 9
Registriert: 25.05.2012

Solidworks 2019, SP 2

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

jetzt funktioniert's auch bei mir  Vielen Dank!

(Sobald ich den Code bereinigt habe, stelle ihn vor.... )

Eine Frage hätte ich noch.
Der Lieferant hat offenbar ständig mit irgendwelchen Dummies gearbeitet, die aber wohl in einem anderen Ordner lagen und nicht mitgeliefert worden sind. SolidWorks unterdrückt Dateien, die nicht gefunden werden. Beim Laden ins PDM-System wird dann ein Fehler ausgegeben und ich muss alle Baugruppen händisch durchgehen   

Wie kann ich prüfen, ob die (ggf. unterdrückte) Datei existiert und diese dann löschen?

Danke!

Grüße, Socke

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

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



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

Beiträge: 2178
Registriert: 18.07.2012

-Solid Works 2019 SP2
-Pro Engineer WF 3

erstellt am: 11. Jul. 2019 18: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 Nur für socke112 10 Unities + Antwort hilfreich

Hallo,

Zitat:
Wie kann ich prüfen, ob die (ggf. unterdrückte) Datei existiert und diese dann löschen?

du könntest analaog wie schon oben durch die Komponenten Traversieren und deren Status mit GetSuppression2 Method (IComponent2) abfragen.

Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete  

[Diese Nachricht wurde von bk.sc am 11. Jul. 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)2019 CAD.de | Impressum | Datenschutz