Zitat:
Original erstellt von MH:
Kann man unterdrückte Verknüpfungen auf einen Rutsch wieder aktiv machen?
geht z.B. mit folgendem Makro
-----------------------------
Option Explicit
Dim swApp As Object
Dim Model As Object
Dim boolstatus As Boolean
Dim feature As Object
Dim subfeat As Object
Dim featurename As String
Dim featuretname As String
Dim subfeaturename As String
Dim subfeaturetname As String
Const swDocPART = 1
Const swDocASSEMBLY = 2
Const swDocDRAWING = 3
Const swSuppressFeature As Long = 0
Const swUnSuppressFeature As Long = 1
Const swTnMateCoincident As String = "MateCoincident"
Const swTnMateConcentric As String = "MateConcentric"
Const swTnMateDistanceDim As String = "MateDistanceDim"
Const swTnMateParallel As String = "MateParallel"
Const swTnMateTangent As String = "MateTangent"
Sub Main()
Set swApp = CreateObject("SldWorks.Application")
Set Model = swApp.ActiveDoc
If Model Is Nothing Then
MsgBox ("Kein aktives Dokument")
Exit Sub
End If
If (Model.GetType <> swDocASSEMBLY) Then
MsgBox ("Nur für Baugruppen")
Exit Sub
End If
Set feature = Model.FirstFeature ' Get the 1st feature in part
While Not feature Is Nothing
featuretname = feature.GetTypeName
featurename = feature.Name
If (featuretname = "MateCoincident" Or _
featuretname = "MateConcentric" Or _
featuretname = "MateDistanceDim" Or _
featuretname = "MateParallel" Or _
featuretname = "MateTangent") Then
boolstatus = feature.SetSuppression(swUnSuppressFeature)
If (Not boolstatus) Then
MsgBox "Fehler bei:" & Chr(13) & featurename
MsgBox featurename
End If
End If
Set subfeat = feature.GetFirstSubFeature
While Not subfeat Is Nothing
subfeaturetname = subfeat.GetTypeName
subfeaturename = subfeat.Name
If (subfeaturetname = "MateCoincident" Or _
subfeaturetname = "MateConcentric" Or _
subfeaturetname = "MateDistanceDim" Or _
subfeaturetname = "MateParallel" Or _
subfeaturetname = "MateTangent") Then
boolstatus = subfeat.SetSuppression(swUnSuppressFeature)
If (Not boolstatus) Then
MsgBox "Fehler bei:" & Chr(13) & subfeaturename
MsgBox subfeaturename
End If
End If
Set subfeat = subfeat.GetNextSubFeature
Wend
Set feature = feature.GetNextFeature()
Wend
End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP