Ankündigungen

Ab Dezember werden wir Inhalte aus der Community, die 10 Jahre und älter sind, archivieren. Diese FAQ enthält weitere Informationen.

iLogic Frage: Bestimmte Arbeitsebenen in einem Bauteil ein-/ausblenden

TAR_Loki
Collaborator
Collaborator

iLogic Frage: Bestimmte Arbeitsebenen in einem Bauteil ein-/ausblenden

TAR_Loki
Collaborator
Collaborator

Hallo Zusammen,

 

ich möchte gerne über eine iLogic Regel 2 bestimmte Arbeitsebenen in einem Beuteil ein- bzw. ausblenden.

Im VBA habe ich schon einen gewissen Ansatz gefunden, aber ich laufe dabei noch auf einen kleinen Fehler, da der Originalcode sich auf eine Baugruppe bezog.

Da ich VBA erst seit letzter Woche etwas näher kennengelernt habe, hoffe ich, das Ihr mir vielleicht bei der Fehlersuche bzw. Übersetzung nach iLogic etwas helfen könntet.

Anbei findet Ihr den Code und das Bauteil:

 

VBA:

 

Option Explicit

Public Sub Workplane_Visible()

'Deklaration
    Dim oApp As Application
    Dim oPart As PartDocument
    Dim oPara_WPV As Inventor.Parameter
    Dim c As PartComponentDefinition
    Dim occ As ComponentOccurrence
'Zuweisung
    Set oApp = ThisApplication
    Set oPart = oApp.ActiveDocument
    Set c = oPart.ComponentDefinition
    Set oPara_WPV = c.Parameters.Item("Workplane_Replacement_Visible")

For Each occ In c.Occurrences
Dim d As Document
Set d = occ.Definition.Document
If oPara_WPV = True Then
d.ComponentDefinition.WorkPlanes.Item("YZ_Workplane_Replacement").Visible = True
d.ComponentDefinition.WorkPlanes.Item("XZ_Workplane_Replacement").Visible = True
ElseIf oPara_WPV = False Then
d.ComponentDefinition.WorkPlanes.Item("YZ_Workplane_Replacement").Visible = False
d.ComponentDefinition.WorkPlanes.Item("XZ_Workplane_Replacement").Visible = False
End If
'occ.Definition.Document
Next
oPart.Update
End Sub

 

 

iLOgic:

 

Sub Main()

'Deklaration
    Dim oApp As Application:oApp = ThisApplication
    Dim oPart As PartDocument:oPart = oApp.ActiveDocument
    Dim c As PartComponentDefinition:c = oPart.ComponentDefinition
    Dim oPara_WPV As Inventor.Parameter:oPara_WPV = c.Parameters.Item("Workplane_Replacement_Visible")
    Dim occ As ComponentOccurrence

For Each occ In c.Occurrences
Dim d As Document:d = occ.Definition.Document

If Workplane_Replacement_Visible = True Then
d.ComponentDefinition.WorkPlanes.Item("YZ_Workplane_Replacement").Visible = True
d.ComponentDefinition.WorkPlanes.Item("XZ_Workplane_Replacement").Visible = True
ElseIf Workplane_Replacement_Visible = False Then
d.ComponentDefinition.WorkPlanes.Item("YZ_Workplane_Replacement").Visible = False
d.ComponentDefinition.WorkPlanes.Item("XZ_Workplane_Replacement").Visible = False
End If
'occ.Definition.Document
Next
oPart.Update
End Sub

 

 

 Im iLOgic scheint er mir die Regel überhaupt nicht mit dem Parameter zu verknüpfen und auch in VBA schmeißt er mir keine Fehlermeldung aus.

Vielleicht seh ich auch vor lauter Wald den Baum nicht mehr.

Jedenfalls würde ich mich freuen, wenn ihr mal ein Auge auf den Code werfen könntet.

 

Gruß Sven

0 „Gefällt mir“-Angaben
Antworten
Akzeptierte Lösungen (1)
863Aufrufe
2Antworten
Antworten (2)

S_Verbeek
Advocate
Advocate
Akzeptierte Lösung
MsgBox("Unsichtbar")
ThisApplication.ActiveDocument.ComponentDefinition.WorkPlanes.Item("TEST").Visible = False
msgbox("Sichtbar")
ThisApplication.ActiveDocument.ComponentDefinition.WorkPlanes.Item("TEST").Visible = True

Die Arbeitsebene muss entsprechend umbenannt sein. In diesem Fall TEST.

 

Gruß

Stefan Verbeek 

__________________________________________________________________________________

Stefan Verbeek
Mitarbeiter Support bei

Bild



0 „Gefällt mir“-Angaben

TAR_Loki
Collaborator
Collaborator

Manchmal kann es so einfach sein. 😊

Vielen Dank für die Lösung.

 

If Workplane_Replacement_Visible = True Then
	ThisApplication.ActiveDocument.ComponentDefinition.WorkPlanes.Item("YZ_Workplane_Replacement").Visible = True
	ThisApplication.ActiveDocument.ComponentDefinition.WorkPlanes.Item("XZ_Workplane_Replacement").Visible = True
ElseIf Workplane_Replacement_Visible = False Then
	ThisApplication.ActiveDocument.ComponentDefinition.WorkPlanes.Item("YZ_Workplane_Replacement").Visible = False
	ThisApplication.ActiveDocument.ComponentDefinition.WorkPlanes.Item("XZ_Workplane_Replacement").Visible = False
End If
0 „Gefällt mir“-Angaben