Bonjour,
Je fais une nouvelle fois appelle à la communauté afin de trouver un exemple ou bout de code pour pouvoir caché ou montrer les ligne de pliage depuis une MEP.
Bonjour,
Je fais une nouvelle fois appelle à la communauté afin de trouver un exemple ou bout de code pour pouvoir caché ou montrer les ligne de pliage depuis une MEP.
Bonjour,
Pour faire suite après recherche voici un bout de code partiellement fonctionnel:
Dim swApp As Object
Dim boolstatus As Boolean
Sub main()
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
boolstatus = Part.ActivateView("Drawing View1")
boolstatus = Part.Extension.SelectByID2("Bend-Lines2@Part1@Drawing View1", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
Part.BlankSketch
MsgBox "Ligne de pliage caché"
boolstatus = Part.Extension.SelectByID2("Bend-Lines2@Part1@Drawing View1", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
Part.UnblankSketch
MsgBox "Ligne de pliage affiché"
End Sub
J'arrive bien à récuperer le nom de la vue (Drawing View 1), le nom de la pièce (Part1), par contre impossible de récuperer le nom de la ligne de pliage quand elles sont caché (Bend-Lines2)
Voici le code fonctionnel pour des lignes de pliage non caché:
While Not swView Is Nothing
If swView.IsFlatPatternView Then
swDraw.ActivateView swView.GetName2
Debug.Print swView.GetName2
Debug.Print swView.GetBendLineCount
If swView.GetBendLineCount > 0 Then
BendlinesArr = swView.GetBendLines
For Each Bendline In BendlinesArr
Set swSketchLine = Bendline
'ajout pour cacher montrer les lignes de pliages
Dim swFeat As SldWorks.Feature
Dim swDrComp As SldWorks.DrawingComponent
Set swDrComp = swView.RootDrawingComponent
Debug.Print swDrComp.Name
Dim swSkSeg As SldWorks.SketchSegment
Set swSkSeg = Bendline
Dim swSketch As SldWorks.Sketch
Set swSketch = swSkSeg.GetSketch
Set swFeat = swSketch
Debug.Print swFeat.Name
Le soucis est qu'il ne trouve pas de ligne de pliage si elles sont caché Bendlines = 0 et ne lance donc pas donc pas le code pour récuperer le nom des lignes de pliages.
Personne a une autre idée simple pour sélectionner cette fameuse ligne de pliage?
Bonjour tu veux montrer ou cacher les lignes de pliages sur tes plans c'est bien ça?
si oui les lignes de pliages sont en réalité des esquisses donc avec les filtres tu peux ou non activer les filtres esquisse en un clic.
que la force soit avec toi.
C'est un peu plus compliqué que ça malheureusement! J'ai une macro qui fait un marquage laser des extrémités des ligne de pliages (Fortement inspiré de celle de JeromeP lien), qui ne fonctionne que lorsque cette esquisse est visible (si elle est caché cela ne fonctionne pas) Et ensuite cette macro réalise d'autre chose. Du coup il faut vraiment montrer cette esquisse dans la MEP qui est caché dans certaine mise en plan par nécessité et pas seulement via les options générales.dans affichages.
Je clos ce sujet qu je viens de déterré avec une réponse d'un autrequestion postérieure mais qui rempli le rôle:
https://www.lynkoa.com/forum/solidworks/macro-pour-r%C3%A9cuperer-le-nom-de-lesquisse-dans-le-1er-%C3%A9tat-d%C3%A9pli%C3%A9