Ankündigungen

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

Community
Inventor - Deutsch
Das Forum für alle Fragen rund um Autodesk Inventor, iLogic, Factory Design, Automation und mehr. Der Ort zum Fragen stellen, Antworten erhalten und Wissen teilen.
abbrechen
Suchergebnisse werden angezeigt für 
Anzeigen  nur  | Stattdessen suchen nach 
Meintest du: 

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

2 ANTWORTEN 2
GELÖST
Antworten
Nachricht 1 von 3
TAR_Loki
863 Aufrufe, 2 Antworten

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

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

Beschriftungen (3)
2 ANTWORTEN 2
Nachricht 2 von 3
S_Verbeek
als Antwort auf: TAR_Loki

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



Nachricht 3 von 3
TAR_Loki
als Antwort auf: S_Verbeek

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

Sie finden nicht, was Sie suchen? Fragen Sie die Community oder teilen Sie Ihr Wissen mit anderen.

In Foren veröffentlichen  

Autodesk Design & Make Report