Hallo
Voor de sterken in MYCAD-integratie: hoe een printer opnieuw te activeren voor een van de lagen
Ik heb de activeringsfunctie van de formaatlaag gedaan
Ik had * geactiveerd
Maar niets werkt
Een laag verbergen weergeven:
Aan de andere kant, om wel of niet af te drukken heeft geen functie zichtbaar.
Het probleem is dat ik dit al besef heb
het geeft het oog weer, maar niet de printer => in PDF-formaat, zodat er geen regel verschijnt omdat deze niet wordt afgedrukt.
in de afbeelding in PJ is het formaat dat niet wordt afgedrukt
Ik denk dat " poster " is + om het calqueerpapier te laten zien, maar niet de afdruk
Ja, dat is wat ik je vertelde om te laten zien, verbergen is mogelijk, maar geen optie om af te drukken of niet af te drukken.
Aan de andere kant kun je een macro starten via integratie:
Je begint met het maken van je macro:
Macro tool, nieuw noem maar op wat je wilt.
Vervolgens plak je deze code in:
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
Zorg ervoor dat u alleen wordt uitgevoerd op Europarlementariërs die de laag hebben gemaakt, anders zal er zeker een fout optreden, aangezien ik foutafhandeling niet in de code heb geïntegreerd.
hum Ik herinnerde me de macro-launcher niet ...
Als we een laagvoorwaarde in Integratie plaatsen, kan het helpen om geen foutafhandeling te hebben
Ja, maar op dit moment kun je het net zo goed in de macro zetten:
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