Exporter DXF d'un assemblage

Bonjour,

j'ai une macro qui fait l'export de dxf d'un assemblage en tôlerie, est ce que je peux faire une modification pour grouper les fichiers sortant par épaisseur (en dossier d'épaisseur) ...

Merci d'avance

Bonjour,

Oui, c'est possible en lisant la propriétée d'épaisseur de la liste de coupe

Voici un exemple de code pour récupérer cette propriété sur une pièce ouverte:

Option Explicit
Sub main()
    Dim swApp As SldWorks.SldWorks
    Dim swModel As SldWorks.ModelDoc2
    Dim swFeat As SldWorks.Feature
    Dim custPrpMgr As SldWorks.CustomPropertyManager
    Dim myThickness As String
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    If swModel Is Nothing Then Exit Sub
    Set swFeat = swModel.FirstFeature
    While Not swFeat Is Nothing
        If swFeat.GetTypeName2 = "CutListFolder" Then
            Set custPrpMgr = swFeat.CustomPropertyManager
            custPrpMgr.Get2 "Epaisseur de tôlerie", "", myThickness
            Debug.Print "Epaisseur: " & myThickness
        End If
        Set swFeat = swFeat.GetNextFeature
    Wend
End Sub

 

2 « J'aime »

Bonjour ,

merci pour votre reponce et s'il vous plaît comment ajouter dans le code de macro ??

ci joint le fichier qui je l'ai

 

 


got-flaten-dxf-from-assembly.swp

Remplace la ligne:

Const OUT_NAME_TEMPLATE As String = "DXFs\<_FileName_>_<_FeatureName_>_<_ConfName_>_<Description>.dxf"

Par:

Const OUT_NAME_TEMPLATE As String = "DXFs\Epaisseur_<Epaisseur de tôlerie>\<_FileName_>_<_FeatureName_>_<_ConfName_>_<Description>.dxf"

Note: Vérifie l'orthographe de la propriété "Epaisseur de tôlerie" dans tes pièces. Et modifie la ligne ci-dessus en conséquence.

Si tu veux une valeur d'épaisseur arrondie, ajoute:

If Val(resVal) > 0 Then resVal = Round(resVal, 0)

juste après la ligne:

swCustPrpMgr.Get2 token, "", resVal

 

1 « J'aime »
je fais ce vous avez dit mais la macro ne crée pas des dossiers par épaisseur de pièces ...
Sinon si vous pouviez faire la modification sur la macro et m'envoyer la version complète

 

je veux quelque chose comme ça : Lien YOUTUBE

Ca devrait mettre les DXF dans "\<Dossier de la pièce>\DXFs\Epaisseur_XX\

Le problème viens peut être de la pièce. Est ce que vous pouvez joindre une pièce de test.

1 « J'aime »

Ci joint un exemple


piece1.sldprt

Yeap. En suivant l' instruction de mon premier message,

>Vérifie l'orthographe de la propriété "Epaisseur de tôlerie" dans tes pièces. Et modifie la ligne ci-dessus en conséquence.

la ligne devrait être:

Const OUT_NAME_TEMPLATE As String = "DXFs\Epaisseur_<Sheet Metal Thickness>\<_FileName_>_<_FeatureName_>_<_ConfName_>_<Description>.dxf"

 

1 « J'aime »

Bonjour,

sur le lien youtube il y a un lien de téléchargement de la marco à tester

que la force soit avec vous

 

1 « J'aime »
Bonjour,
non la macro qui se trouve dans le lien de Youtube est codé et manque quelque instruction ...
1 « J'aime »
Bonjour
Merci beaucoup "JeromeP" la problème et rosolu;
est s'il vous plaît comment ajouté dans le nom de pièce enregistré la quantité (de l'assemblage) de chaque...
merci d'avance