Bonjour
je cherche à faire une macro pour supprimer les traits d'axes de toutes les vues dépliées dans une MEP, de tous les onglets
les tôliers trouvent que c'est plus lisible sans traits d'axe
j'ai trouvé un début avec ces 2 éléments qui sont à supprimés
swSelCENTERMARKSYMS = 100 ' "CENTERMARKSYMS"
swSelCENTERLINES = 103 ' "CENTERLINE"
et
https://www.lynkoa.com//forum/solidworks/macro-selectionner-toute-les-ligne-existante-sur-une-vue
mais je ne sais pas comment remettre tout ca dans le bon ordre
si quelqu'un à une idée
Merci à vous
HELP
si quelqu'un sait programmer un bout de code au moins
ou a défaut d'une macro tout automatisée, je peux aussi sélectionner une vue de mep et la macro supprime les traits d'axe de centre des perçages
Un exemple d'un mise en plan?
Quel est le burt pour exporter un dxf sans trait d'axe?
Pas possible en changeant le fond de plan ou la norme d'habillage de la MEP? Si oui tu peux peut-être le faire sans grande notion de programmation avec Intégration (outil Visiativ (mycadtools) auquel tu as accès étant abonné Mycadservice. Et pour cela la hotline peut même t'aider.
Sinon si il faut programmer il va falloir pour ta macro:
Un boucle qui active chaque feuille 1 par 1
que sur chaque feuille tu recupère la 1ère vue active, que tu vérifie si le nom de configuration de la pièce référencé est bien flat-pattern.
Si c'est le cas tu réalise la modification.
En gros pas simple si tu as aucune notion de programmation et pas quelques choses que quelqu'un va pour voir te réalisé en quelques seconde.
A moins d'avoir un code assez proche.
1 « J'aime »
il s'agit de supprimer les traits d'axes des perçages pour les vues dépliées uniquement ou des autre types de trous pour lequel solidworks affiche les traits d'axes par défaut, je ne parle pas des trait d'axe de pliage, je souhaite garder les traits d'axes des trous automatique pour les autres type de vues
ces traits doivent être supprimés avant de lancer la fabrication sur une machine de découpe laser ou autre fabriquation
Pour la boucle sur les feuilles:
https://help.solidworks.com/2021/English/api/sldworksapi/Get_Loaded_Sheets_Example_VB.htm
Bonjour,
Essayes avec ce qui suit :
Option Explicit
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swDrawing As SldWorks.DrawingDoc
Dim vSheetName As Variant
Dim swView As SldWorks.View
Dim swCtrMark As SldWorks.CenterMark
Dim swCtrLine As SldWorks.Centerline
Dim swAnn As SldWorks.Annotation
Dim swSelMgr As SldWorks.SelectionMgr
Dim swSelData As SldWorks.SelectData
Dim status As Boolean
Dim bRet As Boolean
Dim i As Long
Dim SearchString As String
Dim SearchChar As String
Dim MyPos As Integer
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swSelMgr = swModel.SelectionManager
Set swSelData = swSelMgr.CreateSelectData
Set swDrawing = swModel
SearchChar = "SM-FLAT-PATTERN"
vSheetName = swDrawing.GetSheetNames
For i = 0 To UBound(vSheetName)
bRet = swDrawing.ActivateSheet(vSheetName(i))
Set swView = swDrawing.GetFirstView
swModel.ClearSelection2 True
Do While Not swView Is Nothing
SearchString = swView.ReferencedConfiguration
MyPos = InStr(1, SearchString, SearchChar)
If MyPos <> 0 Then
Set swCtrMark = swView.GetFirstCenterMark
Do While Not swCtrMark Is Nothing
Set swAnn = swCtrMark.GetAnnotation
status = swAnn.Select3(True, swSelData)
Set swCtrMark = swCtrMark.GetNext
Loop
End If
Set swView = swView.GetNextView
Loop
swModel.EditDelete
Set swView = swDrawing.GetFirstView
swModel.ClearSelection2 True
Do While Not swView Is Nothing
SearchString = swView.ReferencedConfiguration
MyPos = InStr(1, SearchString, SearchChar)
If MyPos <> 0 Then
Set swCtrLine = swView.GetFirstCenterLine
Do While Not swCtrLine Is Nothing
Set swAnn = swCtrLine.GetAnnotation
status = swAnn.Select3(True, swSelData)
Set swCtrLine = swCtrLine.GetNext
Loop
End If
Set swView = swView.GetNextView
Loop
swModel.EditDelete
Next i
End Sub
Cordialement,
1 « J'aime »
Un grand merci à d.roger qui relève le défi une fois de plus, vu le nombre de fois où une de mes questions a trouvé réponse grâce à toi sur ce forum, je te tire mon chapeau pour tes macros bien écrite et concises
1 « J'aime »