Batch Converter - Pièce mec soudée - STEP

Bonjour , 

avec BATCH CONVERTER est-ce possible de obtenir plusieurs fichiers STEP , à commencer de une pièce mécano soudes avec plusieurs corps ?

et aussi nommer chaque step avec le nom de "Liste des pièces soudées" ? 


2-structure_table.sldprt

Salut, j'ai tenter la manipulation, manifestement il va falloir que enregistre au préalable chacun des corps dans un même dossier.

Cliquer droit sur Corps volumiques => Enregistrer les corps.

Ensuite avec Batch Converter, tu pourras l'appliquer à l'ensemble du dossier.

Cdt,

PS: il te manque des embouts dans ta construction, bien utile pour y mettre des pieds.

2 « J'aime »

Salut, 

merci pour la réponse, mais en fait mon but était d'éviter d'utiliser cette fonction "Enregistrer les corps" .. pour gagner des temps, quand on a beaucoup des pièces à traiter .

 

ps : oui, c'est seulement un croquis pour discuter  

@ monica.danelon

si je comprend bien tu veux depuis une pièce multi corps en faire un assemblage ?

si oui

dans l'arbre de création de ta pièce tu fais clic droit sur le dossier liste des pièces soudées puis enregistrer les corps.dans la fonction enregistrer les corps tu clic sur affectation auto des noms, tu décoches absorber les corps coupés puis cliques sur parcourir sous réer l'assemblage afin de nommer ton assemblage et enfin valider.

A partir de la tu as un assemblage libre à toi de faire pack and go pour ajouter un préfixe à tes pièces puis enregistré en step.

que la force soit avec toi.

 

Bonjour. Essaye cette 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 « J'aime »