Transparenter Drucker auf 1 SW-Schicht

Hallo
Für die starke MYCAD-Integration, wie man einen Drucker für eine der Schichten reaktiviert
Ich habe die Aktivierungsfunktion der Formatebene aktiviert
Ich hatte * aktiviert
Aber nichts funktioniert
calque Image 001

So blenden Sie eine Ebene aus:


Auf der anderen Seite, keine Funktion sichtbar zu drucken oder nicht zu drucken.

Das Problem ist, dass ich das bereits erkannt habe
Es zeigt das Auge, aber nicht den Drucker = > im PDF-Format an, so dass keine Zeile erscheint, da es nicht gedruckt wird.
im Bild in PJ ist es ein Format, das nicht gedruckt wird
Ich denke, dass " Poster " + ist, um das Transparentpapier zu zeigen, aber nicht den Druck

Ja, das habe ich Ihnen gesagt, um es zu zeigen, zu verstecken, es ist möglich, aber keine Option zum Drucken oder kein Drucken.
Auf der anderen Seite können Sie ein Makro über die Integration starten:


Sie beginnen mit der Erstellung Ihres Makros:
Makro-Tool, neu nennen Sie es, wie Sie wollen.
Dann fügen Sie diesen Code ein:

Option Explicit
'Changer ci-dessous le nom du calque à rendre invisible à la place de NomDuCalque
Public Const layerName As String = "NomDuCalque"

Sub main()

    Dim swApp                       As SldWorks.SldWorks
    Dim swModel                     As SldWorks.ModelDoc2
    Dim swLayerMgr                  As SldWorks.LayerMgr
    Dim swLayer                     As SldWorks.Layer

    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swLayerMgr = swModel.GetLayerManager
    Set swLayer = swLayerMgr.GetLayer(layerName)
    swLayer.Printable = False 'Pour rendre le calque visible mettre True
End Sub

Achten Sie darauf, dass Sie nur auf MEPs ausführen, bei denen die Schicht erstellt wurde, da sonst sicherlich ein Fehler auftritt, da ich die Fehlerbehandlung nicht in den Code integriert habe.

1 „Gefällt mir“

hm, ich habe mich nicht an den Makro-Launcher erinnert...
Wenn wir eine Layer-Bedingung in Integration platzieren, kann es hilfreich sein, keine Fehlerbehandlung zu haben

1 „Gefällt mir“

Ja, aber an dieser Stelle können Sie es genauso gut in das Makro einfügen:

Option Explicit
'Changer ci-dessous le nom du calque à rendre invisible à la place de NomDuCalque
Public Const layerName As String = "NomDuCalque"

Sub main2()

    Dim swApp                       As SldWorks.SldWorks
    Dim swModel                     As SldWorks.ModelDoc2
    Dim swLayerMgr                  As SldWorks.LayerMgr
    Dim vLayerArr                   As Variant
    Dim vLayer                      As Variant
    Dim swLayer                     As SldWorks.Layer

    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    'Vérification si un modèle est chargé
    If swModel Is Nothing Then
        Exit Sub
    End If
    'Vérification si le document chargé est une MEP
    If (swModel.GetType <> swDocDRAWING) Then
        Exit Sub
    End If
    
    Set swLayerMgr = swModel.GetLayerManager
    vLayerArr = swLayerMgr.GetLayerList
    For Each vLayer In vLayerArr
        Set swLayer = swLayerMgr.GetLayer(vLayer)
       'Vérification du nom du calque
        If swLayer.Name = layerName Then
        swvLayer.Printable = False 'Pour rendre le calque visible mettre True
        End If
    Next

End Sub
2 „Gefällt mir“