Bonjour,
On utilise une macro qui fait les DXF déplié de pièce de tôlerie. Ceci fonctionne bien mais les bords de tôle sont fragmentés sur le DXF au niveau de chaque pli (voir image jointe). Ce problème gène la programmation de notre poinçonneuse.
Connaissez-vous une solution pour ne pas avoir ce problème ?
Merci d'avance
image_probleme.png
Bonjour,
Lorsque vous êtes dans la pièce et que vous déployez la fonction déplié vous avez une deuxième fonction et sur celle-ci vous faites un clic droit et vor si la case fusionner les arrêtes ( quelque chose comme ça car je ne suis pas devant mon PC) et décocher. Si c'est le cas cochez cette case et faites un teste et si celui-ci et concluants il faudra ré-enregistrer vos modèles de pièce avec ces paramètres.
2 « J'aime »
Merci pour cette réponse,
Cette solution marche bien, mais il faudra refaire la manipulation pour chaque pièce existante. Il y a-t-il des solutions plus systématiques ? (Paramètre dans les options ; fonction sur la macro de génération des DXF ; modification de ce paramètre en masse ; … ?)
En fait si vous enregistrez votre modèle de pièce se sera bon pour les nouvelles créations mais pour les anciennes pièces normalement votre service programmation devrait avoir les anciens fichier qu'ils ont modifiés pour qu'ils soient exploitables.
1 « J'aime »
La majorité des pièces qu’on créé sont des copies de pièces existantes, donc le problème restera.
Ok mais si vous reprenez des pièces existantes ça vous fera deux clic en plus pour modifier celle-ci pour que le dxf ne pose plus trop de problème au service programmation.
1 « J'aime »
Bonjour,
Tu peux ajouter la modification de ce paramètre en début de macro, regarde par ICI , tu devrais trouver ce qu'il te faut (IModelDocExtension::SetUserPreference...) avec les exemples qui vont bien.
Cordialement,
Grasse a toutes vos réponses, j’ai trouvé IFlatPatternFeatureData avec la propiété MergeFace.
Il faut que je regarde comment fonctionne ceci, mais ça semble possible de l’intégrer dans ma macro.
bonjour,
pour tester chez nous peux tu poser une pèce et la macro.
que la force soit avec toi.
Grace à vos réponses, un peu de recherche et en me creusant la tête j’ai fait une macro qui modifie la valeur de ‘fusionner les faces’ de l’état déplié (ou swFlatPatternFeatureData.MergeFace).
Merci pour votre aide
Sub main()
Dim SwApp As SldWorks.SldWorks
Dim Part As SldWorks.ModelDoc2
Dim boolstatus As Boolean
Dim swFeature As SldWorks.Feature
Dim swFlatPatternFeatureData As SldWorks.FlatPatternFeatureData
Set SwApp = Application.SldWorks
Set Part = SwApp.ActiveDoc
Set swFeature = Part.FirstFeature
While Not swFeature Is Nothing
If swFeature.GetTypeName = "FlatPattern" Then
Set swFlatPatternFeatureData = swFeature.GetDefinition
If swFlatPatternFeatureData.MergeFace = 1 Then
swFlatPatternFeatureData.MergeFace = False
Else
swFlatPatternFeatureData.MergeFace = True
End If
boolstatus = swFeature.ModifyDefinition(swFlatPatternFeatureData, Part, Nothing)
End If
Set swFeature = swFeature.GetNextFeature
Wend
End Sub
2 « J'aime »