Die Inventor FAQ wird unterstützt von:

Inventor FAQ Logo

06.11.2018

iLogic: Parameter aus einer Baugruppe in Bauteilen verwenden

Ausgangssituation: In einer Baugruppe gibt es einen Parameter Anzahl, der über ein iLogic-Form im Wert geändert werden kann.

image

image

image ==> image

Wird der Parameterwert über den Schieberegler geändert, soll der Wert innerhalb der Bauteile in der Baugruppe auch geändert werden. Die Parameter in den Bauteilen heißt ebenfalls Anzahl. Dieser Parameter wird ebenfalls in beiden Bauteilen in Features verwendet, z.B. in der Runden Anordnung und der Drehung.

image

image

Es soll nun erreicht werden, das bei einer Änderung des Parameters in der IAM die Parameter in den IPTs geändert wird. Das ergibt dann folgendes Verhalten (die zufällige Farbänderung der Komponenten in der IAM wird ebenfalls bei der Parameteränderung durchgeführt):

ilogic2

  1. Parameter Anzahl in IAM und IPT anlegen und den entsprechenden Elementen (Reihen, Drehungen,...) zuweisen
  2. In der IAM iLogic-Form erstellen mit Schieberegler für IAM-Parameter Anzahl
  3. In der IAM iLogic-Code erstellen: Dort wird dem IPT-Parameter Anzahl den Wert des IAM-Parameters Anzahl zugewiesen.
    2018-11-04 18_54_48.png

Kleines Video zum Ablauf:

ilogic1

Die Farbänderung ist in eine anderen Sub ausgelagert.

Hier der gesamte Quelltext inkl. zufällige Farbänderung bei Änderung des Parameters Anzahl:

Sub Main
Parameter("181104184335154 iLogic Parameter IAM und IPT:1", "Anzahl") = Anzahl
Parameter("181105200821711 iLogic Parameter IAM und IPT:1", "Anzahl") = Anzahl
Komp_Farbe_Zufall
End Sub

Public Sub Komp_Farbe_Zufall()
    On Error GoTo Err
    Dim oAsmDoc As AssemblyDocument
     oAsmDoc = ThisApplication.ActiveDocument

    ' Initialize the random number generator and get
    ' the number of render styles defined.
    Randomize
    Dim iColorCount As Long
    iColorCount = oAsmDoc.RenderStyles.Count
    
    'JW 30092017
    Dim Invapp As Inventor.Application
     Invapp = ThisApplication
    
    Dim oTrans As Inventor.Transaction
     oTrans = Invapp.TransactionManager.StartGlobalTransaction(oAsmDoc, "VBA973")
    
    Invapp.UserInterfaceManager.UserInteractionDisabled = True
    Invapp.ScreenUpdating = False
    
    ' Iterate through the top-level occurrences in the assembly.
    Dim oOcc As ComponentOccurrence
    For Each oOcc In oAsmDoc.ComponentDefinition.Occurrences
        ' Set the color to a random color.
        Call oOcc.SetRenderStyle(kOverrideRenderStyle, _
            oAsmDoc.RenderStyles.Item(Int((iColorCount * Rnd) + 1)))
    Next
Err:

Invapp.ScreenUpdating = True
Invapp.UserInterfaceManager.UserInteractionDisabled = False

Call oAsmDoc.Update
oTrans.End
End Sub

Die fertige Baugruppe (Inventor 2019) kann hier heruntergeladen werden.

7 Kommentare:

  1. Hallo,

    ich habe in meiner Baugruppe einen Benutzerparameter "Anzahl" angelegt,
    aber im Formulareditor steht nichts von "Schieberegler-Eigenschaften".
    Bei Verhalten wird nur "Name des Aktivierungsparameters" und "Steuerelementtyp bearbeiten" angezeigt.
    Rechts bei Beschriftung habe ich den Parameter "Anzahl" eingefügt.
    Woran kann das denn liegen?

    Ich benutze Inventor 2019

    AntwortenLöschen
    Antworten
    1. Du musst den Parameter in das Form ziehen. Siehe Bild 2

      Löschen
    2. Das habe ich ja gemacht (schrieb ich oben). Deswegen wundert es mich ja.

      Löschen
    3. Du hast den Parameter in der Formansicht oben markiert um unten die Eigenschaften wie des Parameters wie "Schieberegler" anzuzeigen weil sonst siehst du nur die Eigenschaften des Forms.

      Löschen
    4. Auch wenn ich den Parameter "Anzahl" markiere sieht man "Schieberegler" nicht.

      Löschen
    5. bei "Steuerelementtyp bearbeiten" unten vorher auf Schiebebregler stellen (da steht standardmäßig Textfeld) sonst siehst du keine Scheiebreglereigenschaften.

      Löschen
    6. Ah ok, danke. Das wars :)

      Löschen

War der Beitrag hilfreich oder hast du eine Ergänzung dazu?
Ist noch eine Frage offen?
Ich freue mich auf deine Rückmeldung!

Hinweis: Nur ein Mitglied dieses Blogs kann Kommentare posten.

Related Posts Plugin for WordPress, Blogger...
Inventor FAQ Newsletter. Emailadresse: