Batch Converter - Gelaste Dude Deel - STEP

Hallo 

Is het met BATCH CONVERTER mogelijk om meerdere STEP-bestanden te verkrijgen, uitgaande van één mechanisch gelast onderdeel met meerdere carrosserieën?

en noem ook elke stap met de naam "Lijst van gelaste onderdelen" ? 


2-structure_table.sldprt

Hallo, ik heb de manipulatie geprobeerd, het is duidelijk dat het nodig is om elk van de lichamen vooraf in hetzelfde bestand te registreren.

Klik met de rechtermuisknop op Solid Bodies => Bodies opslaan.

Vervolgens kunt u het met Batch Converter op de hele map toepassen.

Cdt

PS: je mist eindkappen in je constructie, erg handig om voetjes in te zetten.

2 likes

Hallo 

bedankt voor het antwoord, maar eigenlijk was mijn doel om te voorkomen dat deze "Save Bodies" functie .. om tijd te besparen, wanneer u veel onderdelen moet verwerken .

 

PS: ja, het is maar een schets om te bespreken  

@ monica.danelon

Als ik het goed begrijp, wil je een assemblage maken van een stuk met meerdere lichamen?

Zo ja,

In de aanmaakboom van uw onderdeel klikt u met de rechtermuisknop op de map met de lijst met gelaste onderdelen, slaat u de bodies.In de functie Carrosserieën opslaan op, klikt u op Automatische naamgeving, schakelt u Absorberen van de gesneden lichamen uit, klikt u vervolgens op Bladeren onder Reer de assemblage om uw assemblage een naam te geven en ten slotte te valideren.

Van daaruit heb je een montage gratis om te doen pakket en ga je een voorvoegsel aan je onderdelen toevoegen en vervolgens in stap opslaan.

Moge de kracht met je zijn.

 

Hallo. Probeer deze macro: 

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

 

2 likes