Hallo
Ist es mit BATCH CONVERTER möglich, mehrere STEP-Dateien zu erhalten, ausgehend von einem mechanisch geschweißten Teil mit mehreren Körpern?
und benennen Sie jeden Schritt mit dem Namen "Liste der geschweißten Teile" ?
2-structure_table.sldprt
Hallo
Ist es mit BATCH CONVERTER möglich, mehrere STEP-Dateien zu erhalten, ausgehend von einem mechanisch geschweißten Teil mit mehreren Körpern?
und benennen Sie jeden Schritt mit dem Namen "Liste der geschweißten Teile" ?
Hallo, ich habe die Manipulation versucht, offensichtlich ist es notwendig, jeden der Körper vorher in derselben Datei zu registrieren.
Klicken Sie mit der rechten Maustaste auf Volumenkörper = > Körper speichern.
Mit dem Batch-Konverter können Sie es dann auf den gesamten Ordner anwenden.
Cdt
PS: Ihnen fehlen Endkappen in Ihrer Konstruktion, sehr nützlich zum Einstecken von Füßen.
Hallo
Danke für die Antwort, aber eigentlich war es mein Ziel, diese "Save Bodies"-Funktion zu vermeiden. um Zeit zu sparen, wenn Sie viele Teile zu bearbeiten haben.
PS: Ja, es ist nur eine Skizze zum Besprechen
Wenn ich das richtig verstanden habe, möchten Sie eine Baugruppe aus einem mehrteiligen Stück herstellen?
Wenn ja
Klicken Sie im Erstellungsbaum Ihres Teils mit der rechten Maustaste auf den Ordner Liste der geschweißten Teile, speichern Sie dann die bodies.In der Funktion Körper speichern, klicken Sie auf Automatische Benennungszuweisung, deaktivieren Sie die Option Geschnittene Körper absorbieren und klicken Sie dann auf Durchsuchen unter Reer die Baugruppe, um Ihre Baugruppe zu benennen und schließlich zu validieren.
Von dort aus haben Sie eine Baugruppe, die Sie kostenlos erledigen müssen, packen und loslegen, um Ihren Teilen ein Präfix hinzuzufügen und dann Schritt für Schritt zu speichern.
Möge die Macht mit euch sein.
Hallo. Probieren Sie dieses Makro aus:
Option Explicit
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swPart As SldWorks.PartDoc
Dim swBody As SldWorks.Body2
Dim vBodies As Variant
Dim vBody As Variant
Dim boolstatus As Boolean
Dim FilePath As String
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
If swModel Is Nothing Then
MsgBox "Ouvrir une pièce"
Exit Sub
End If
If swModel.GetType <> swDocumentTypes_e.swDocPART Then
MsgBox "Ouvrir une pièce"
Exit Sub
End If
Set swPart = swModel
vBodies = swPart.GetBodies2(swBodyType_e.swSolidBody, True)
For Each vBody In vBodies
Set swBody = vBody
swBody.Select2 False, Nothing
FilePath = Left(swModel.GetPathName, InStrRev(swModel.GetPathName, ".") - 1) & " - " & GetCutList(swModel, swBody.Name) & ".STEP"
boolstatus = swPart.SaveToFile3(FilePath, swSaveAsOptions_e.swSaveAsOptions_Silent, swCutListTransferOptions_e.swCutListTransferOptions_CutListProperties, False, Empty, Empty, Empty)
If swApp.ActiveDoc.GetTitle <> swModel.GetTitle Then
swApp.CloseDoc swApp.ActiveDoc.GetTitle
End If
Next
End Sub
Function GetCutList(swModel As SldWorks.ModelDoc2, BodyName As String) As String
Dim swFeat As SldWorks.Feature
Dim swBodyFolder As SldWorks.BodyFolder
Dim swBody As SldWorks.Body2
Dim vBodies As Variant
Dim vBody As Variant
Set swFeat = swModel.FirstFeature
While Not swFeat Is Nothing
If swFeat.GetTypeName = "CutListFolder" Then
Set swBodyFolder = swFeat.GetSpecificFeature
vBodies = swBodyFolder.GetBodies
If Not IsEmpty(vBodies) Then
For Each vBody In vBodies
Set swBody = vBody
If swBody.Name = BodyName Then
GetCutList = swFeat.Name
Exit Function
End If
Next
End If
End If
Set swFeat = swFeat.GetNextFeature
Wend
GetCutList = BodyName
End Function