Wir verwenden ein Makro, das das abgewickelte DXF des Blechteils erstellt. Dies funktioniert gut, aber die Blechkanten werden auf dem DXF bei jeder Biegung fragmentiert (siehe beigefügtes Bild). Dieses Problem behindert die Programmierung unserer Stanzmaschine.
Kennen Sie eine Lösung, um dieses Problem zu vermeiden?
Wenn Sie im Raum sind und die aufgeklappte Funktion einsetzen, haben Sie eine zweite Funktion und auf diese klicken Sie mit der rechten Maustaste und vor dem Zusammenführen des Stoppfelds (so etwas in der Art, weil ich nicht vor meinem PC sitze) und deaktivieren Sie. Wenn dies der Fall ist, aktivieren Sie dieses Kontrollkästchen und führen Sie einen Test durch, und wenn er schlüssig ist, müssen Sie Ihre Teilemodelle mit diesen Parametern neu registrieren.
Diese Lösung funktioniert gut, aber es ist notwendig, die Behandlung für jedes vorhandene Teil zu wiederholen. Gibt es systematischere Lösungen? (Parameter in den Optionen ; Funktion auf dem DXF-Generierungsmakro ; Änderung dieses Parameters in großen Mengen ; ... ?)
Wenn Sie Ihr Teilemodell speichern, ist es in der Tat gut für neue Erstellungen, aber für alte Teile sollte Ihre Programmierabteilung normalerweise die alten Dateien haben, die sie geändert hat, damit sie verwendet werden können.
Ok, aber wenn Sie vorhandene Teile zurücknehmen, müssen Sie sie mit zwei weiteren Klicks so ändern, dass die DXF für die Programmierabteilung kein allzu großes Problem darstellt.
Sie können die Änderung dieses Parameters am Anfang des Makros hinzufügen, schauen Sie HIER , Sie sollten finden, was Sie brauchen (IModelDocExtension::SetUserPreference...) mit den Beispielen, die gut passen.
Dank Ihrer Antworten, ein wenig Recherche und dem Zerbrechen des Kopfes habe ich ein Makro erstellt, das den Wert von "Merge Faces" des entfalteten Zustands (oder swFlatPatternFeatureData.MergeFace) ändert.
Danke für Ihre Hilfe
Sub main()
Dim SwApp As SldWorks.SldWorks
Dim Part As SldWorks.ModelDoc2
Dim boolstatus As Boolean
Dim swFeature As SldWorks.Feature
Dim swFlatPatternFeatureData As SldWorks.FlatPatternFeatureData
Set SwApp = Application.SldWorks
Set Part = SwApp.ActiveDoc
Set swFeature = Part.FirstFeature
While Not swFeature Is Nothing
If swFeature.GetTypeName = "FlatPattern" Then
Set swFlatPatternFeatureData = swFeature.GetDefinition
If swFlatPatternFeatureData.MergeFace = 1 Then
swFlatPatternFeatureData.MergeFace = False
Else
swFlatPatternFeatureData.MergeFace = True
End If
boolstatus = swFeature.ModifyDefinition(swFlatPatternFeatureData, Part, Nothing)
End If
Set swFeature = swFeature.GetNextFeature
Wend
End Sub