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,
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
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
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.
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"
Bonjour,
sur le lien youtube il y a un lien de téléchargement de la marco à tester
que la force soit avec vous