Witam
Po raz kolejny zwracam się do społeczności z prośbą o znalezienie przykładu lub fragmentu kodu, który umożliwi ukrycie lub pokazanie linii zagięcia przed posłem do Parlamentu Europejskiego.
Witam
Po raz kolejny zwracam się do społeczności z prośbą o znalezienie przykładu lub fragmentu kodu, który umożliwi ukrycie lub pokazanie linii zagięcia przed posłem do Parlamentu Europejskiego.
Witam
Aby kontynuować po badaniach, oto częściowo funkcjonalny fragment kodu:
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
Mogę uzyskać nazwę widoku (Rysunek Widok 1), nazwę części (Część1), ale nie można uzyskać nazwy linii gięcia, gdy są one ukryte (Linie gięcia2)
Oto kod funkcjonalny dla nieukrytych linii gięcia:
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
Problem polega na tym, że nie znajduje linii gięcia, jeśli są one ukryte Bendlines = 0 i dlatego nie uruchamia kodu, aby pobrać nazwę linii gięcia.
Nikt nie ma innego prostego pomysłu, aby wybrać tę słynną linię gięcia?
Witam, chcesz pokazać lub ukryć linie zagięcia na swoich planach, prawda?
Jeśli tak, linie zgięcia są w rzeczywistości szkicami, więc za pomocą filtrów możesz, ale nie musisz, aktywować filtry szkicu jednym kliknięciem.
Niech Moc będzie z wami.
Niestety, jest to trochę bardziej skomplikowane! Mam makro, które wykonuje laserowe znakowanie końców linii zagięcia (mocno zainspirowane linkiem JeromeP), które działa tylko wtedy, gdy ten szkic jest widoczny (jeśli jest ukryty, to nie działa) A potem to makro robi coś innego. Tak więc naprawdę musisz pokazać ten szkic w MEP, który jest ukryty na niektórych rysunkach z konieczności, a nie tylko za pomocą opcji ogólnych.
Ten temat, który właśnie odkryłem, zamykam później odpowiedzią na inne pytanie, ale które spełnia swoją rolę:
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