So fügen Sie Ihr Wissen hinzu

Funktionen

    Was sind Funktionen?

    Eine Funktion ist eine Anweisung, die in einem Programm ausgeführt wird. Die Anweisung kann aus Argumenten bestehen oder zu einer bestimmten Eingabe auffordern.

    Funktionen werden in der Regel nach einer bestimmten Vorschrift aufgebaut, um das gewünschte Ergebnis zu erzielen. Eine Funktion ruft beispielsweise Informationen aus einer Datenbank ab. In der nächsten Funktion werden diese Daten bearbeitet. In der Regel hängt eine Funktion nicht vom übrigen Code in einem Programm ab.

    Anatomie einer Funktion

    iLogic bietet viele Funktionen, die in Regeln verwendet werden können. Funktionen werden in Kategorien eingeordnet.

    Im Folgenden ist ein Beispiel aufgeführt, wie eine Funktion in einer Regel integriert werden kann:

    returnValue = Category.FunctionName(argument1, argument2, ...)

    Ein Argument kann eine Textzeichenfolge, ein Boolescher Wert (Wahr oder Falsch) oder eine Zahl sein.

    Der Textzeichenfolgenwert wird in doppelte Anführungszeichen gesetzt. Beispiele für Zeichenfolgen: “ComponentName:1” und “Hole2”. Diese Zeichenfolgen werden als Argumente wie folgt in eine Funktion integriert:

    returnValue = Category.FunctionName(“ComponentName:1”,“Hole2”)

    Ein iLogic-Textparameter kann als ein Argument in einer Funktion verwendet werden, die eine Textzeichenfolge erfordert. Ein numerischer Inventor-Parameter kann als ein Argument in einer Funktion verwendet werden, die eine Zahl erfordert.

    Ein Rückgabewert kann eine Textzeichenfolge, ein Boolescher Wert (Wahr oder Falsch) oder eine Zahl sein. Er stellt normalerweise den Wert dar, den Sie auf der Grundlage des Modells lesen oder abrufen möchten. Sie können den Rückgabewert testen oder einem Parameter oder einer lokale Variable in einer Regel zuweisen.

    Einige Funktionen haben keinen Rückgabewert. In VB.NET wird diese Art der Funktion als Sub bezeichnet. Diese ändert oft das Modell. Beispiel:

    Category.FunctionName(argument1, argument2, ...)

    Ein weiterer Funktionstyp kann dazu verwendet werden, in das Inventor-Modell einen Wert zu schreiben oder diesem einen Wert zuzuweisen. In VB.NET wird diese Art der Funktion als Eigenschaft bezeichnet. Beispiel:

    Category.FunctionName(argument1, argument2, ...) = value

    In diesem Beispiel schreibt wird mit der Funktion der Wert in das Modell geschrieben.

    Wie werden Funktionen in iLogic verwendet?

    iLogic bietet Funktionen zum Ändern des Inventor-Modells oder zum Lesen von Modelldaten, um sie Ihnen auszugeben. Diese Funktionen stehen im Dialogfeld Regel bearbeiten als Code-Snippets zur Verfügung. Fügen Sie die Funktionen in Regeln (kleine Visual Basic-Programme) ein, die Sie für das Modell definieren. Wenn eine Regel ausgeführt wird, werden die in dieser Regel integrierten Funktionen ausgeführt.

    Funktionen

    Eine Funktion einer Regel hinzufügen

    1. Wählen Sie die Regel aus dem iLogic Browser auf der Registerkarte Regeln oder der Registerkarte Externe Regeln aus.
    2. Klicken Sie mit der rechten Maustaste, und wählen Sie Regel bearbeiten.
    3. Platzieren Sie im Regeltextbereich im Dialogfeld Regel bearbeiten den Mauszeiger an der Stelle, an der die Funktion eingefügt werden soll. Die meisten Funktionen beginnen in einer neuen Zeile.
    4. Suchen Sie die Funktion im Bereich Snippets.
    5. Doppelklicken Sie auf die Funktion, um sie hinzuzufügen.
    6. Wenn die Funktion Argumente enthält oder eine Eingaben erfordert, bearbeiten Sie entsprechend den eingefügten Code.
    AnmerkungGeben Sie bei manuellem Hinzufügen einer Funktion diese an gewünschter Position ein. Sie können eine Funktion bereits in einer Regel kopieren und dann die Kopie bearbeiten.

    Eine Funktion bearbeiten

    Sie können eine Funktion innerhalb einer Regel mithilfe der normalen Textbearbeitungsverfahren bearbeiten. Weitere Informationen zu bestimmten Methoden finden Sie in der Werkzeugleiste über dem Regeltextbereich oder im Kontextmenü.

    Wenn Sie eine Funktion hinzufügen möchten, ist es manchmal schneller und effektiver, eine Kopie einer ähnlichen Funktion in einer Regel zu bearbeiten. Verwenden Sie zum Erstellen einer Kopie einer vorhandenen Funktion, die Sie bearbeiten möchten, die Option Kopieren/Einfügen.

    Parameterfunktionen

    Erweitern Sie zum Öffnen der Parameterfunktionen im Bereich Snippets auf Registerkarte System den Knoten Parameter.

    Parameter

    Parameter("parameterName")

    Mit dieser Funktion können die Parameterwerte direkt geändert werden.

    In Baugruppen können Sie auf Parameter von abhängigen Komponenten zugreifen. Wenn jedoch eine Komponente abhängig ist, können Sie auf die Parameter nicht direkt mit einer Zuordnungsanweisung wie die folgende zugreifen:

    PartA.ipt.d12 = 6.3

    Stattdessen können Sie Folgendes verwenden:

    Parameter("PartA:1", "d12") = 6.3

    Beachten Sie, dass statt eines Dateinamens ein Komponentenname angegeben wird. Obwohl Sie die Funktion mit einer bestimmten Komponentennummer versehen, wirkt sich die Parameteränderung auf alle Exemplare der Komponente aus. Der Komponentenname dient lediglich zur Identifizierung der Datei durch die Funktion.

    Benennen Sie die Komponente manuell um, um den Namen beim ersetzen der Komponente zu erhalten.

    Für den Komponentennamen können Sie auch die Funktion MakePath verwenden:

    Parameter(MakePath("SubAssem1:1", "Part1:1"), "d12") = 6.3

    Sie können den aktuellen Wert eines Parameters mithilfe der Syntax eines der folgenden Anweisungen lesen:

    param_val = Parameter("d0")

    param_val = Parameter("PartA:1", "d0")

    Wie in diesen Beispielen dargestellt, können sich die Parameter im aktuellen Dokument befinden. Sie können den Namen eines beliebigen Parameters verwenden, auf den über eine Regel zugegriffen werden kann.

    Bei einem nicht abhängigen Komponenten können Sie anstelle des Komponentennames den Dateinamen angeben: Verwenden Sie diese Methode zum Ändern eines Parameters in einem Basisbauteil, das nicht als Komponente in einer Baugruppe verwendet wird:

    Parameter("PartA.ipt", "d12") = 6.3

    Wenn ein Parameter nicht gefunden werden konnte, wird durch die Funktion Parameter eine Fehlermeldung angezeigt. Sie können die Fehlermeldung unterdrücken, indem Sie die folgenden Schritte ausführen:

    Parameter.Quiet = True

    Verwenden Sie diese Option, wenn Sie wissen, dass der Parameter fehlt, und Sie darauf vorbereitet sind.

    Auf Parameter von Basisbauteilen zugreifen

    Sie können auf Parameter eines Basisbauteils über ein abgeleitetes Bauteil bzw. eine Baugruppe zugreifen. Sie können auf die Parameter auch über eine Baugruppe zugreifen, die ein vom Basisbauteil abgeleitetes Bauteil enthält.

    Manchmal ist es hilfreich, Parameter eines Basisbauteil von Regeln einer Baugruppe abzuleiten. Dieses Verfahren wird als das sogenannte Top-Down-Modellieren bezeichnet. Wenn Sie einen Basisparameter ändern, werden auch die verknüpften Parameter aller abgeleiteten Bauteile geändert.

    Bauteil und Parameter werden nicht immer in der Modellhierarchie im Dialogfeld Regel bearbeiten angezeigt. Sie können auf sie unter Verwendung der Funktion Parameter zugreifen. Gehen Sie beispielsweise zum Ändern eines Parameters eines Basisbauteils wie folgt vor:

    Parameter("BaseShaft.ipt”, ”Diameter") = 0.125 in

    In der Regel müssen Sie die Parameterwerte des Basisbauteils nicht lesen. Die Parameter sind bereits mit dem Bauteil oder der Baugruppe verknüpft, an dem bzw. an der Sie gerade arbeiten.

    Erweiterte Parameterfunktionen

    Verwenden Sie die Funktion Parameter.Param, um direkt auf einen Inventor-Parameter zuzugreifen. Das zurückgegebene Objekt hat den Typ Parameter aus der Autodesk Inventor-API:

    param = Parameter.Param("parameterName")
    If (param IsNot Nothing) Then
    param.Expression = "5.0 in"
    param.Tolerance.SetToDeviation(0.002 * 2.54, -0.004 * 2.54)
    param.Comment = "Equation and Tolerance set by a rule"
    End If

    Alternativ können Sie auch eine Zeile verwenden:

    Parameter.Param("foo").Comment = "Comment set by a rule"

    Mithilfe der folgenden Anweisungen können Sie auf weitere Eigenschaften eines Autodesk Inventor-Parameters zugreifen:

    param = Parameter.Param("parameterName")param = Parameter.Param("componentName", "parameterName")

    Durch diese Funktionen erhalten Sie ein Objekt der Klasse Inventor.Parameter. Weitere Informationen zu dieser Klasse finden Sie in der Inventor-Programmierungshilfe.

    Multivalue-Funktionen

    Verwenden Sie Multivalue-Funktionen, um auf die Liste der Werte zuzugreifen, die in einem Multivalue-Parameter gespeichert sind, oder um diese zu ändern. Folgende Beispiele veranschaulichen die die Verwendung der Funktionen:

    MultiValue.SetList("d0", 0.5, 0.75, 1.0, 1.25)

    Legt die Liste verfügbarer Werte für den Parameter d0 fest.

    MultiValue.SetList("d0", "3/8", "d1 * 2", "d1 * 3")

    Legt anstatt von Werten Gleichungen fest. Die Liste darf sowohl aus Gleichungen als auch aus Werten bestehen.

    MultiValue.SetList("filename.ipt.str0", "Value1", "Value2")

    Legt eine Liste von Werten für einen Parameter eines Bauteils fest.

    MultiValue.SetList("Part1:1", "d0", 0.5, 0.75, 1.0, 1.25)

    Legt eine Liste von Werten für einen Parameter einer Komponente fest.

    Werte = MultiValue.List("d0")

    Ruft die aktuelle Liste von Werten ab. Dabei ist die Variable values ein Objekt des VB.NET-Typs ArrayList.

    MultiValue.SetValueOptions(True, DefaultIndex := 0, NumericCompare := “=”)

    Erzwingt einen Parameterwert aus der Multivalue-Liste. Wenn Sie dann die Multivalue-Liste ändern, wird auch der aktuelle Parameterwert auf einen Wert aus der Liste gesetzt. Der Wert wird nicht durch diese Funktion geändert, wenn er bereits in der neuen Liste enthalten ist.

    • DefaultIndex := 0

      Wenn der aktuelle Parameterwert nicht in der neuen Liste enthalten ist, wird der Parameter auf den ersten Wert (Index 0) in der Liste gesetzt.

    • NumericCompare := "="

      Gleichungstests: Sie können auch "<=" oder ">=" verwenden.

    MultiValue.SetValueOptions(False)

    Beim Ändern der Multivalue-Liste eines Parameters wird der aktuelle Wert des Parameters nicht geändert. Dies ist das normale Verhalten bei MultiValue.

    MultiValue.List("MyStringParam") = iProperties.Materials

    Legt eine Liste von Werten (z. B. eine Liste der Materialien, die für die aktive Norm verfügbar sind) für einen Textparameter fest.

    MultiValue.List("d0") = New Double() {0.5, 0.75, 1.0, 1.25}

    Stellt eine alternative Methode zum Festlegen der Liste von Werten dar.

    Beispiele für die Verwendung von Werten aus Microsoft® Excel finden Sie im Abschnitt zu GoExcel.CellValues.

    MultiValue.UpdateAfterChange = True

    Mit dieser Anweisung wird das Inventor-Modell sofort aktualisiert. (Alternativ können Sie auch Parameter.UpdateAfterChange auf True setzen.)

    MultiValue.Quiet = True

    Unterdrückt die Fehlermeldung, die angezeigt wird, wenn ein Parameter nicht gefunden wird. Verwenden Sie diese Funktion, wenn Sie wissen, dass der Parameter fehlt, und Sie darauf vorbereitet sind. Es ist beispielsweise möglich, dass der Parameter bei keinem Bauteil existiert, bei dem die Regel Anwendung findet.

    foundVal = MultiValue.FindValue(aList, "<=", 4.0)

    Sucht in einer Liste nach einem Wert, der eine Bedingung am ehesten erfüllt. aList kann ein ArrayList oder ein Array sein. Das Argument für den Vergleich kann "<=", "="oder ">=" sein.

    Im folgenden Beispiel wird ein Wert gesucht, der kleiner oder gleich 4.0 ist. Wenn mehr als ein Wert vorhanden ist, wird der Wert ausgegeben, der am nächsten zu 4.0 liegt. Wenn kein passender Wert vorhanden ist, wird in diesem Beispiel die VB-Konstante "Nothing" ausgegeben.

    foundVal = MultiValue.FindValue(MultiValue.List("d0"), "<=", 4.0)

    Sie können auf diese Bedingung hin prüfen.

    Elementfunktionen

    iLogic bietet Funktionen zum Lesen oder Festlegen von Elementunterdrückungsstatus, Farben und Gewindebezeichnungen.

    Verwenden Sie die Elementfunktionen für Gewinde, um Eigenschaften von Gewindeelementen oder Gewindebohrungen zu lesen oder festzulegen. Diese Eigenschaften werden auch im Dialogfeld zur Bearbeitung eines Gewindeelements oder einer Gewindebohrung angezeigt.

    Erweitern Sie zum Öffnen der Elementfunktionen im Bereich Snippets auf Registerkarte System den Knoten Elemente.

    Feature.IsActive (mit Elementname)

    Liest oder legt den Unterdrückungsstatus eines Bauteils oder eines Baugruppenelements fest. Verwenden Sie diese Funktion, um ein Element eines Inventor-Bauteils oder einer Inventor-Baugruppe zu unterdrücken oder dessen Unterdrückung aufzuheben. Wenn Sie den Aktivierungsstatus eines Elements ändern, werden auch die abhängigen Elemente geändert. Auf diese Weise ist es nicht mehr erforderlich, abhängige Elemente in Ihrer Regel anzugeben.

    AnmerkungDurch die manuelle Änderung des Aktivierungsstatus eines Elements werden die mit dem Element verbundenen Regeln nicht automatisch ausgelöst. Sie können die automatische Auslösung der Regeln für ein Bauteil erzielen, indem Sie die Regeln der Liste von Regeln hinzufügen, die durch ein Änderungsereignis des Elementunterdrückungsstatus ausgelöst werden. Dieses Ereignis wird mithilfe des Befehls Ereignisauslöser hervorgerufen.

    Wenn Sie den Namen eines Elements ändern, nachdem Sie die festgelegt haben Regel, die diese Funktion beinhaltet, muss die Regel bearbeitet werden. Ersetzen Sie den alten Namen durch den neuen Namen. Ändern Sie die Elementnamen (falls erforderlich), bevor Sie die Regeln festlegen.

    Elementnamen müssen immer in Anführungszeichen gesetzt werden.

    Syntax

    Feature.IsActive(“featurename”)

    Beispiel

    if bracket_width >= 3 then
    Feature.IsActive("flange_hole_pattern") = true
    Feature.IsActive("base_hole_pattern") = true
    else
    Feature.IsActive("flange_hole_pattern") = false
    end if

    Feature.IsActive (mit Komponenten- und Elementname)

    Mit dieser Variante der Funktion Feature.IsActive wird der Unterdrückungsstatus der Elemente eines Bauteils oder einer Unterbaugruppe durch Angabe des Komponenten- und Elementnamens festgelegt oder gelesen. Verwenden Sie die folgende Syntax, um den Aktivierungsstatus der Elemente eines Bauteils mithilfe einer Regel auf Baugruppenebene zu steuern.

    Syntax

    Feature.IsActive(“componentname”, “featurename”)

    Beispiele

    Unterdrückungsstatus festlegen:

    Feature.IsActive("PartA:1", "Hole:1") = false

    Unterdrückungsstatus lesen:

    MyBooleanParameter = Feature.IsActive("PartA:1","Hole:1")

    Feature.Color

    Liest oder legt die Farbe eines Bauteilelements durch Angabe des Elementnamens fest. Diese Funktion kann nicht für Baugruppenelemente verwendet werden.

    Der Farbwert ist eine Textzeichenfolge. Der Text muss in Anführungszeichen gesetzt werden. Die Farben müssen auch im Hinblick auf Schreibweise sowie Groß- und Kleinschreibung mit der aktiven Norm des aktuellen Autodesk Inventor-Dokuments übereinstimmen.

    Syntax

    Feature.Color("featurename")

    Beispiele

    So legen Sie die Farbe fest

    Feature.Color("Hole:1") = "Green"
    Feature.Color("Hole:2") = "Aluminum (Cast)
    "Feature.Color("Hole:3") = "As Material"

    So lesen Sie die Farbe

    MyStringParameter = Feature.Color("Chamfer:1")

    Lesen oder legen Sie die Farbe einer Unterbaugruppe oder eines Bauteilelements fest, indem Sie den Komponentennamen und Elementnamen angeben:

    Feature.Color("componentName", "featurename")

    Feature.ThreadDesignation

    Liest oder legt die Gewindebezeichnung eines Gewindes in einem Bauteil- oder Baugruppendokument fest. Die Gewindebezeichnung ist eine Textzeichenfolge. Die Bezeichnung muss mit der genauen Zeichenfolge angegeben werden, die im Feld Bezeichnung des Dialogfelds zur Bearbeitung von Gewindeelementen angezeigt wird.

    Geben Sie bei einem verjüngten Gewinde, den Wert ein, der im Feld Größe des Dialogfelds Gewinde angezeigt wird. Dieser Wert ist in der Regel eine verkürzte Version der vollständigen Gewindebezeichnung.

    Syntax

    Feature.ThreadDesignation("featurename") = "<designation value>"

    Verwenden Sie optional die folgende Syntax, um die aktuelle Gewindebezeichnung in dem Format anzuzeigen, der zum Festlegen dieser erforderlich ist:

    threadDes = Feature.ThreadDesignation("Thread1")

    Wenn Sie die Gewindebezeichnung für eine Bohrung mithilfe einer Regel festlegen, wird die Bohrungsgröße automatisch angepasst.

    Im Falle einer Gewindestange können Sie mithilfe einer Regel gleichzeitig den Stangendurchmesser und die Gewindebezeichnung ändern. Der Stangendurchmesser muss mit der Gewindebezeichnung kompatibel sein.

    Beispiel

    If rod_type = "small" Then
    Feature.ThreadDesignation("Thread1") = "3/8-16 UNC"
    rod_diameter = 0.375
    ElseIf rod_type = "large" Then
    Feature.ThreadDesignation("Thread1") = "1/2-13 UNC"
    rod_diameter = 0.500
    End If

    Die Gewindebezeichnung eines Gewindeelements in einem Bauteil- oder Baugruppendokument kann auch mithilfe einer Regel auf Baugruppenebene gelesen oder festgelegt werden. Geben Sie die Komponente oder den Dateiname und den Namen des Gewindeelements ein:

    Feature.ThreadDesignation("PartA.ipt", "featurename") = "1/2-13UNC"
    Feature.ThreadDesignation("PartA:1", "featurename") = "1/2-13UNC"

    Feature.SetThread

    Nimmt wichtige Änderungen an einer Bohrung oder einem Gewindeelement vor. Legt den Typ, die Bezeichnung und die Klasse fest. Verwenden Sie diese Funktion, um zwischen einem metrischen und Zollgewinde zu schalten. Sie können nicht zwischen einem geraden und verjüngten Gewinde schalten.

    AnmerkungErsetzen Sie bei einem verjüngten Gewinde eine leere Zeichenfolge ("") durch eine Gewindeklasse. Geben Sie außerdem statt der Bezeichnung die Größe an.

    Syntax

    Feature.SetThread("featurename", "thread type", "thread designation", "thread class")

    Alternativ können Sie mit der folgenden Syntax wichtige Änderungen an einer Bohrung oder einem Gewindeelement einer Komponente vornehmen:

    Feature.SetThread("componentName", "featurename", "thread type", "thread designation", "thread class")

    Feature.ThreadType

    Ruft die Gewindeart einer Bohrung oder eines Gewindeelements ab. Beispiele: "ANSI-genormte Schraubengewinde", "ANSI metrisches M-Profil" usw. Verwenden Sie zum Ändern der Gewindeart SetThread, und legen Sie gleichzeitig die Bezeichnung und die Klasse fest.

    Syntax

    currentType = Feature.ThreadType("featurename")

    Alternativ können Sie auch die folgende Syntax verwenden, um die Gewindeart einer Bohrung oder eines Gewindeelements einer Komponente abzurufen:

    currentType = Feature.ThreadType("componentName", "featurename")

    Feature.ThreadClass

    Legt die Gewindeklasse einer Bohrung oder eines Gewindeelements fest. Je höher die Zahl, desto höher der Grad der Genauigkeit.

    Syntax

    Feature.ThreadClass("featurename") = "3B"

    Verwenden Sie die folgende Syntax, um die Gewindeklasse einer Bohrung oder eines Gewindeelements abzurufen:

    currentClass = Feature.ThreadClass("featurename")

    Verwenden Sie die folgende Syntax, um die Gewindeklasse einer Bohrung oder eines Gewindeelements einer Komponente festzulegen:

    Feature.ThreadClass("componentName", "featurename") = "3B"

    AnmerkungKann nicht bei verjüngtem Gewinde verwendet werden.

    Rufen Sie die Gewindeklasse einer Bohrung oder eines Gewindeelements einer Komponente ab.

    currentClass = Feature.ThreadClass("componentName", "featurename")

    Komponentenfunktionen

    iLogic bietet Regelfunktionen zum Festlegen oder Lesen des Unterdrückungsstatus und der Farben von Komponenten sowie eine Funktion zum Ersetzen einer Komponente durch eine andere. Diese Funktionen dienen zur Festlegung verschiedener Konfigurationen für Bauteilen oder Baugruppen.

    Sie können ein Modell erstellen (Bauteil oder Baugruppe), das die zur Bereitstellung aller gültigen Konfigurationen eines Produkts erforderlichen Komponenten enthält. Diese Methode wird auch als Super-Modellieren bezeichnet. Verwenden Sie die Funktion Component.Replace, wenn die Bauteil- oder Baugruppenkomponenten zu komplex oder zu zahlreich sind und das Super-Modellieren sich als untauglich herausstellt.

    Erweitern Sie zum Öffnen der Komponentenfunktionen im Bereich Snippets auf Registerkarte System den Komponentenknoten.

    Komponentenbenennung

    Passen Sie alle Komponentennamen an, bevor Sie sie in einer Regel verwenden. Durch Ändern des von Autodesk Inventor zugewiesenen Komponentennamens stellen Sie sicher, dass er beim Ändern einer referenzierten IPT- oder IAM-Datei nicht geändert wird.

    Sie können wieder zurück zum ursprünglichen Namen der Komponente wechseln, ohne dass er durch andere Änderungen geändert werden kann. Zum Ändern der Komponente genügt eine geringfügige Änderung des Namens. Wechseln Sie anschließend wieder zurück zum ursprünglichen Namen.

    Im Falle einer Inhaltscenter-Komponente ist eine Namensänderung für die Funktionen Component.IsActive und Component.Replace erforderlich.

    Component.IsActive

    Liest oder legt den Unterdrückungsstatus und die Stücklistenstruktur für eine Baugruppenkomponente fest. Verwenden Sie diese Funktion, um eine Komponente in eine Baugruppenkonfiguration aufzunehmen bzw. diese aus der Konfiguration auszuschließen.

    Die Funktion kann bei einer Komponente oder einer Komponentenanordnungen angewendet werden. Verwenden Sie bei Anordnungen den Namen der Anordnung. Die Anordnung muss auf der gleichen Baugruppenebene wie die Regel sein, d. h. nicht in einer Unterbaugruppe.

    Es dürfen keine untergeordneten Komponenten unterdrückt werden. Eine bessere Alternative ist die Unterdrückung mithilfe einer Regel innerhalb der Komponente.

    Beispiel: Eine Baugruppe mit dem Namen ObersteBaugruppe enthält Unterbaugruppe:1. Diese Unterbaugruppe enthält Beispielbauteil:1.

    Verwenden Sie eine Regel innerhalb Unterbaugruppe:1, um Beispielbauteil:1 zu unterdrücken. Diese Regel kann über einen Parameter verfügen, der den Unterdrückungsstatus festlegt. Diesen Parameter können Sie mit einer Regel in ObersteBaugruppe definieren.

    Wenn Sie iLogic zur Unterdrückung einer Komponente verwenden, ist die Stücklistenstruktur der Komponente auf Referenz gesetzt. Dadurch wird verhindert, dass die Komponente in der Stückliste aufgeführt wird. Sie wird in der Modelldatenansicht jedoch nicht in den Ansichten Strukturiert oder Nur Bauteile angezeigt. Wenn die Unterdrückung der Komponente aufgehoben wird, wird die Komponente in iLogic auf den Status vor der Unterdrückung zurückgesetzt (Normal, Unteilbar, Gekauft oder Phantom).

    Erstellen und aktivieren Sie vor der Verwendung einer iLogic-Regel zum Ändern des Unterdrückungsstatus einer Baugruppenkomponente eine neue benutzerdefinierte Detailgenauigkeit.

    Syntax

    Component.IsActive("ComponentName")

    Beispiele

    Sie können 1 statt true und 0 statt false verwenden.

    So legen Sie den Unterdrückungsstatus und die Stücklistenstruktur fest

    Component.IsActive("PartA:1") = false
    Component.IsActive("PartB:1") = 0
    Component.IsActive("PartC:1") = false
    Component.IsActive("PartD:1") = 0

    So lesen Sie den Unterdrückungsstatus und die Stücklistenstruktur

    MyBooleanParam = Component.IsActive("ComponentName:1)
    If Component.IsActive("PartE") Then
    ' do something
    End If

    Component.iComponentIsActive

    Mithilfe einer Variante der Funktion Component.IsActive kann der Unterdrückungsstatus einer iPart- oder iAssembly-Komponente gelesen oder festgelegt werden. Wenn Sie den Komponentennamen nicht manuell ändern, dann ist für die Verwendung von iParts und iAssemblies die folgende dafür vorgesehene Syntax erforderlich.

    Es wird empfohlen, den Namen der Komponente zu ändern. Wenn Sie diesen Schritt ausgeführt haben, können Sie Component.IsActive statt dieser Funktion verwenden.

    Syntax

    Component.iComponentIsActive(“iPartParentName:1”)

    iPartParentName

    Der Name des Bauteils ohne die IPT-Dateinamenerweiterung

    Component.Color

    Liest oder legt die Farbe einer Komponente fest.

    Syntax

    Component.Color(“iPartA:1”)

    Beispiele

    Farbe festlegen:

    Component.Color("iPartA:1") = "Green"
    Component.Color("iPartA:2") = "Aluminum (Cast)"
    Component.Color("iPartA:3") = "As Material"

    Farbe lesen:

    MyStringParameter = Component.Color("iPartA:1")

    Component.Visible

    Liest oder legt die Sichtbarkeit einer Komponente fest. Diese Funktion ändern nicht die Stücklistenstruktur der Komponente fest.

    Syntax

    Component.Visible("componentName")

    Beispiele

    Sichtbarkeit festlegen:

    Component.Visible("Plate") = true
    Component.Visible("Bearing") = false

    Sichtbarkeit lesen:

    parameter = Component.Visible("Plate")
    parameter = Component.Visible("Bearing")
    If Component.Visible("PartE") Then
    do something
    End If

    Component.SkipDocumentSave

    Legt fest, ob ein Komponentendokument bei Änderungen gespeichert wird, und unterdrückt anschließend mithilfe einer Regel die Komponente.

    Syntax

    Component.SkipDocumentSave = True

    Wenn die Funktion auf True gesetzt ist, wird das Dokument nicht gespeichert.

    Der Standardwert ist False (Component.SkipDocumentSave = False): Das Komponentendokument wird gespeichert.

    Component.Replace

    Ersetzt ein Bauteil oder eine Unterbaugruppe durch ein anderes Bauteil bzw. eine andere Unterbaugruppe. Diese Funktion kann auch zum Ersetzen von Komponentenanordnungen verwendet werden.

    Verwenden Sie iMates für Komponenten, die ausgetauscht werden, damit die Baugruppenabhängigkeiten erhalten bleiben. Sie können ein Bauteil durch ein anderes Bauteil oder eine Baugruppe sowie eine Baugruppe durch ein Bauteil austauschen.

    Mit der Funktion wird in mehreren Verzeichnissen (Ordnern) nach der Datei gesucht, durch die ersetzt werden soll:

    • Das Verzeichnis des Dokuments der zu ersetzenden Komponente
    • Das Verzeichnis des Baugruppendokuments
    • Der Arbeitsbereichsordner des aktuellen Projekts

    Der Dateiname kann ein relativer Pfad sein (relativ zu den zu durchsuchenden Speicherorten).

    AnmerkungStabilisieren Sie den Komponentennamen, bevor Sie diese Funktion verwenden, um die Änderung des Komponentennamens beim Austauschvorgang zu verhindern. Benennen Sie zum Stabilisieren des Komponentennamens diesen um. Sie können den Namen auch stabilisieren, indem Sie ihn einmal ändern, um anschließend wieder zum ursprünglichen Namen zu wechseln. Wenn Sie den Namen nicht stabilisieren, wird der Komponentenname beim Ersetzen geändert, um mit einem anderen Namen zu übereinstimmen. Die Komponente wird beim nächsten Ausführen der Regel nicht mehr von dieser erkannt.

    Syntax

    Component.Replace(“ComponentToReplaceName”, “OtherPartfilename.ipt”, <replaceAll>)

    ComponentToReplaceName

    Der Name des Bauteils bzw. der Baugruppe, die ersetzt werden

    OtherPartfilename

    Das Bauteil oder die Baugruppe, durch die ersetzt werden soll

    <replaceAll>

    Setzen Sie den Booleschen Wert auf True, um alle Instanzen dieser Komponente zu ersetzen. Setzen Sie den Wert auf False, um nur die angegebene Instanz zu ersetzen.

    Beispiel

    If PartType = "Type A" Then
    Component.Replace("Widget","PartA.ipt", True)
    ElseIf PartType = "Type B" Then
    Component.Replace("Widget","PartB.ipt", True)
    End If

    Component.Replace (mit angegebener Detailgenauigkeit)

    Mit dieser Variante der Funktion Component.Replace wird die Komponente einer Baugruppe durch eine andere Komponente mit einer bestimmten Detailgenauigkeit ersetzt.

    Syntax

    Component.Replace("SubAssem:1", "OtherAssemFilename.iam<Level of Detail>", <replaceAll>)

    In dieser Funktion ist das Argument <replaceAll> mit dem Argument zu vergleichen, das im Zusammenhang mit der allgemeineren Funktion Component.Replace beschrieben wurde.

    Sie haben auch die Möglichkeit, eine Unterbaugruppe durch die gleiche Unterbaugruppe mit einer anderen Detailgenauigkeit zu ersetzen.

    Component.ReplaceiPart

    Diese Funktion, die für iParts mit benutzerdefinierten Parametern erforderlich ist, wird auch für Norm-iParts empfohlen. Verwenden Sie diese Funktion anstelle von Component.Replace, wenn es sich bei der Komponente um ein iPart handelt. Nach dem Ersetzen können Sie iPart.ChangeRow oder iPart.FindRow verwenden, um die jeweilige iPart-Konfiguration zu ändern.

    Geben Sie im Falle eines iParts mit benutzerdefinierten Parametern die Werte für die benutzerdefinierten Parameter nach rowNumber ein. Die Werte müssen in der Reihenfolge aufgeführt werden, in der sie in der Tabelle angezeigt werden.

    Syntax

    Component.ReplaceiPart("iPart1:1", "OtherPartfilename.ipt", True, rowNumber)

    Verwenden Sie rowNumber, um eine Komponente zu ersetzen und gleichzeitig eine iPart-Zeile auszuwählen.

    Beispiele

    Geben Sie zum Festlegen der benutzerdefinierten Parameter die benutzerdefinierten Werte erneut in Component.ReplaceiPart und später im Rahmen einer Regel in iPart.ChangeRow oder iPart.FindRow ein.

    Bei ChangeRow:

    Component.ReplaceiPart("iPart1:1", "OtherPartfilename.ipt", True, rowNumber, customParam1, customParam2)
    iPart.ChangeRow("iPart1:1", rowNumber, customParam1, customParam2)

    Bei FindRow:

    Component.ReplaceiPart("iPart1:1", "OtherPartfilename.ipt", True, rowNumber, customParam1, customParam2)
    i = iPart.FindRow("iPart1:1", "Dia", ">=", 3.0, "r;|", customParam1, customParam2)

    MakePath

    Definiert den Pfad eines Komponentennamens in einer Baugruppe. Führen Sie zum Festlegen des Pfads alle Baugruppenebenen in der Reihenfolge auf, in der sie in der Baumstrukturansicht erscheinen. Diese Funktion ist erforderlich, um einen Komponentennamen festzulegen, der bereits an einer anderen Stelle in der Baugruppe vorhanden ist.

    Syntax

    MakePath(“SubassemblyComponentName”,“PartComponentName”)

    Beispiele

    Component.Color(MakePath("SubAssem1:1", "Part2:1")) = “Green”
    Component.IsActive(MakePath("SubAssem1:1", "SubSubAssem2:1", "Part2:1")) = “Yellow”

    iProperties-Funktionen

    iLogic bietet Regelfunktionen zum Festlegen oder Abrufen von iProperties eines Inventor-Bauteils oder einer Inventor-Baugruppe und von Zeichnungsdokumenten. Die Konfigurationen von Konstruktionen werden mithilfe von Regeln geändert. Daher müssen die iProperties der Konstruktionsdokumente aktualisiert werden. Die iProperties müssen zur Gewährleistung der Richtigkeit der Stückliste auf dem neuesten Stand sein. Regeln können auch zum Lesen der iProperty-Werte eines Dokuments und zum Einleiten entsprechender Maßnahmen verwendet werden. Sie können beispielsweise eine Regel bestimmen, die die Dicke eines Bauteils bei Änderung der Materialeigenschaft ändert. Eine Regel kann zum Einleiten von Änderungen verwendet werden, wenn die Masse eines Bauteils unter bzw. über dem Mindest- oder Höchstwert liegt. Jede iProperty, die manuell festgelegt werden kann, kann auch mithilfe einer Regel festgelegt oder gelesen werden.

    Erweitern Sie zum Öffnen der iProperties-Funktionen im Bereich Snippets auf Registerkarte System den Knoten iProperties.

    iProperties.Value

    Syntax

    iProperties.Value("property tab name", "property name")

    Liest oder legt einen Eigenschaftswert im Dokument mit der Regel fest.

    iProperties.Value("filename.ipt", "property tab name", "property name")

    Diese Funktion wird in einer Regel auf Baugruppenebene verwendet, um auf iProperties eines Bauteils oder einer Unterbaugruppe zuzugreifen.

    Wenn der Dateiname des Bauteils oder der Unterbaugruppe geändert wird, muss auch der Regeltext geändert werden.

    Verwenden Sie statt des Dateinamens am besten den angepassten Komponentennamen.

    iProperties.Value("custom component name", "property tab name", "property name")

    Liest oder legt die Eigenschaftswerte einer Komponente fest. In dieser Funktion wird statt des Dateinamens der Komponentenname verwendet. Passen Sie den Komponentennamen an (durch Änderung des ursprünglichen Standardnamens), sodass dieser nicht bei Änderung der Dateireferenz geändert wird.

    Beispiele

    iProperty-Wert festlegen:

    iProperties.Value("Project", "Stock Number") = "302A"

    iProperty-Wert lesen:

    MyStringParam = iProperties.Value("Project", "Stock Number")

    Benutzerdefinierten iProperty-Wert festlegen:

    iProperties.Value("Custom", "Age") = 41 'number type
    iProperties.Value("Custom", "Company") = "Autodesk, Inc" 'text type
    iProperties.Value("Custom", "Date") = CDate("11/1/2008") ' date type
    iProperties.Value("Custom", "Insured") = true 'yes or no type

    Benutzerdefinierten iProperty-Wert lesen:

    age = iProperties.Value("Custom", "Age")
    company = iProperties.Value("Custom", "Company")
    thedate = CStr(iProperties.Value("Custom", "Date"))
    insured = iProperties.Value("Custom", "Insured")

    Nützliche Hinweise

    • Die meisten Eigenschaften sind Textzeichenfolgen.
    • Eigenschaften mit date im Namen sind Datumsangaben. Diese Eigenschaften können innerhalb von Regeln in lokale Variablen des VB.NET-Typs Date eingelesen oder durch diese festgelegt werden. Meistens ist es nicht erforderlich, den Eigenschaftstyp zu prüfen, da der Wert in VB.NET automatisch konvertiert wird.
    • Die Eigenschaft Estimated Cost (unter Projekt) ist eine Zahl.
    • Die Eigenschaft Design State (unter Status) ist ein Sonderfall. Verwenden Sie eine Zahl, auch wenn diese Eigenschaft im iProperties-Editor als Liste von Auswahlmöglichkeiten angezeigt wird. Im folgenden Beispiel werden temporären Variablen verwendet.
      Work_In_Progress = 1
      Pending = 2
      Released = 3
      iProperties.Value("Status", "Design State") = Pending

    Veraltete Funktionen

    In früheren iLogic-Versionen wurden zum Abrufen von iProperties aus Bauteilen in Baugruppen die folgenden Funktionen verwendet:

    iProperties.ValueInDoc("filename.ipt", "property tab name", "property name")

    Referenziert den Dateinamen.

    iProperties.ValueInComponent("custom component name", "property tab name", "property name")

    Referenziert den Komponentennamen.

    Obwohl diese Funktionen nicht im Bereich Snippets des Dialogfelds Regel bearbeiten verfügbar sind, können Sie dennoch in einer Regel verwendet werden. Es wird jedoch empfohlen, die Funktion iProperties.Value anstelle der älteren Funktionen zu verwenden.

    iProperties.StylesInEnglish

    Diese Funktion unterstützt die Nutzung des gleichen Dokuments in verschiedenen Sprachversionen von Autodesk Inventor. Ihr Modell kann leichter übertragen werden, wenn Sie in einer Regel englische Namen für Materialien und Farben wählen. Wenn Sie diese Funktion auf True setzen, werden Material- oder Farbnamen in allen Funktionen in Englisch ausgegeben. Zum Festlegen eines Material- oder Farbnamens können Sie auch Namen in der Sprache Ihrer Installation von Autodesk Inventor wählen. Der Konsistenz wegen wird jedoch die Nutzung von englischen Namen empfohlen. Folgende Funktionen geben die Namen in Englisch aus, wenn Sie den Wert iProperties.StylesInEnglish auf True setzen:

    • iProperties.Material
    • iProperties.MaterialOfComponent
    • iProperties.Materials
    • iProperties.PartColor
    • Feature.Color
    • Component.Color

    iProperties.Material

    Liest oder legt das Material eines Dokuments fest.

    Verwenden Sie beim Festlegen eines Materials den genauen Namen des Materials, (Groß-/Kleinschreibung beachten) wie er in der Liste von aktiven Normen der physikalischen Materialien aufgeführt ist. Materialwerte sind immer Textzeichenfolgen, die in Anführungszeichen gesetzt werden.

    Beispiele

    So legen Sie das Material fest

    iProperties.Material = "Gold"

    So lesen Sie das Material

    MyStringParam = iProperties.Material

    iProperties.Material(“filename.ipt”)

    Liest oder legt das Material für ein Bauteil innerhalb einer Baugruppe durch Angabe des Dateinamens fest.

    iProperties.Material(“componentName:1”)

    Wird in einer Regel auf Baugruppenebene verwendet, um durch die Angabe des Komponentennamens auf das Material eines Bauteils der Baugruppe zuzugreifen.

    iProperties.PartColor

    Liest oder legt die aktuelle Farbe eines Bauteils fest. Bauteilfarbwerte sind Textzeichenfolgen, die in Anführungszeichen gesetzt werden. Die Farbe kann ohne Auswirkungen auf den aktuellen Materialwert geändert werden.

    Diese Funktion ist nur im Zusammenhang mit Bauteilen verfügbar.

    Beispiele

    So legen Sie die Farbe fest

    iProperties.PartColor = "Green"
    iProperties.PartColor = "As Material"

    So lesen Sie die Farbe

    MyStringParam = iProperties.PartColor

    iProperties.Mass

    Liest oder legt die Masse des Bauteils oder der Baugruppe in einem Dokument fest, das die Regel enthält.

    Wenn Sie einen Wert für die Masse eingeben, wird die berechnete Wert für die Masse überschrieben. Setzen Sie zur Wiederherstellung des berechneten Werts die Masse auf -1.

    iProperties.Mass(“filename.ipt”)

    Liest oder legt die Masse eines Bauteils oder einer Unterbaugruppe in einer Baugruppe durch Angabe des Dateinamens fest.

    iProperties.Mass(“component name:1”)

    Liest oder legt die Masse einer Komponente in einer Baugruppe durch Angabe des Komponentennamens fest. Diese Funktion kann auch zum Lesen oder Festlegen der Masse einer virtuellen Komponente verwendet werden.

    Beispiele

    So lesen Sie die Masse

    MyMassParam = iProperties.Mass
    MyMassParam = iProperties.Mass("component:1")
    MyMassParam = iProperties.Mass("mypart.ipt")

    So legen Sie die Masse fest (Überschreiben der automatischen Berechnung)

    iProperties.Mass = 3 kg
    iProperties.Mass("virtual_component") = 233 g
    iProperties.Mass("mypart.ipt") = 4.2 lb
    massiProperties.Mass = -1 'set the mass back to automatic calculation

    iProperties.Volume

    Liest oder legt die Größe des Dokuments fest, das die Regel enthält.

    iProperties.Volume(“filename.ipt”)

    Liest oder legt durch Angabe des Dateinamens das Volumen des Bauteils oder der Baugruppe fest, die die Regel enthalten.

    iProperties.Volume(“component:1”)

    Liest oder legt das Volumen einer Komponente in einer Baugruppe durch Angabe des Komponentennamens fest. Diese Funktion kann auch zum Lesen oder Festlegen des Volumens einer virtuellen Komponente verwendet werden.

    Beispiele

    So lesen Sie das Volumen

    MyVolumeParam = iProperties.Volume
    MyVolumeParam = iProperties.Volume("component:1")
    MyVolumeParam = iProperties.Volume("mypart.ipt")

    So legen Sie das Volumen fest (Überschreiben der automatischen Berechnung)

    iProperties.Volume = 12.4 in^3
    iProperties.Volume("virtual_component") = 542 cm^3
    iProperties.Volume("mypart.ipt") = 12.8 in^3
    iProperties.Volume = -1 'set it back to automatic calculation

    iProperties.CenterOfGravity

    Liest den Schwerpunkt des Modells im Dokument fest, das die Regel enthält.

    Syntax

    pt = iProperties.CenterOfGravity

    pt ist vom Typ Inventor.Point, der in der Hilfe zum Inventor-API beschrieben wird. Sie können die X-, Y- und Z-Werte des Punkts in den Einheiten des Regeldokuments ablesen:

    cx = pt.X
    cy = pt.Y
    cz = pt.Z

    pt = iProperties.CenterOfGravity("component")

    Liest durch die Angabe des Komponentennamens den Schwerpunkt der Komponente in einer Baugruppe.

    iProperties.Area

    Liest die Fläche des Modells im Dokument, das die Regel enthält.

    Syntax

    surfaceArea = iProperties.Area

    surfaceArea = iProperties.Area(“component:1”)

    Liest durch die Angabe des Komponentennamens die Fläche einer Komponente in einer Baugruppe.

    Funktionen für Excel-Datenverknüpfungen

    iLogic bietet Regelfunktionen zum Lesen und Schreiben in Microsoft® Excel-Tabellen. Erweitern Sie zum Öffnen der Funktionen für Excel-Datenverknüpfungen im Bereich Snippets auf Registerkarte System den Knoten Excel-Datenverknüpfungen.

    Es sind zwei Arten von Excel-Datenverknüpfungen verfügbar:

    • Funktionen zum Lesen der Daten in Tabellen
    • Funktionen zum Lesen und Schreiben von Daten in einer bestimmten Zelle

    Fügen Sie zum Lesen und Schreiben in anderen Dateiformaten einen benutzerdefinierten VB.NET-Code Ihren Regeln hinzu.

    Verwenden Sie die entsprechende Funktion ThisBOM.Export, um eine Baugruppen-Stückliste in Microsoft® Excel und in anderen Formaten zu exportieren.

    Excel-Datei angeben

    Microsoft® Excel-Daten können in ein Autodesk Inventor-Dokument eingebettet, mit diesem verknüpft oder in einer externen Datei gespeichert werden. Für die Nutzung dieser Funktionen ist die Angabe des Dateinamens oder einer verknüpften oder eingebetteten Excel-Datei erforderlich.

    Zum Festlegen eines Dateinamens können Sie einen relativen oder absoluten Pfad angeben. Bei Verwendung von absoluten Pfaden können jedoch beim Senden des Modells an einen anderen Benutzer an einem anderen Computer Schwierigkeiten entstehen. Wenn kein Pfad angegeben wird, wird in iLogic davon ausgegangen, dass sich das Excel-Dokument im demselben Ordner befindet, in dem das aktuelle Inventor-Dokument gespeichert ist. Ein relativer Pfad bezieht sich auf den Ordner, der das Inventor-Dokument enthält.

    iLogic sucht auch unter dem Arbeitsbereich-Projektpfad nach der Datei. Sie können als relativen Pfad einen Pfad unter dem Arbeitsbereich-Projektpfad verwenden.

    Zu den unterstützten Dateinamenerweiterungen zählen .xls, .xlsx, .xlsm und.xlsb.

    Sie können anstelle eines Dateinamens auch ein verknüpftes oder eingebettetes Arbeitsblatt angeben. Verwenden Sie bei eingebetteten Arbeitsblättern die Syntax 3rd Party:Embedding#.

    Verwenden Sie bei verknüpften Arbeitsblättern die Syntax 3rd Party:LinkedName.xls. Geben Sie unter Autodesk Inventor den Namen an, der in der Baumstruktur des Autodesk Inventor-Modells angezeigt wird.

    Verwenden Sie zum Einbetten einer Tabelle die Option Verknüpfen des Dialogfelds Parameter. Ändern Sie nicht den Namen der eingebetteten Tabelle, der von Autodesk Inventor standardmäßig festgelegt wurde (z. B. Embedding 1). Bei GoExcel ist der ursprüngliche Name erforderlich.

    AnmerkungFügen Sie nach dem Zeichen : in der Syntax 3rd Party:Name kein Leerzeichen ein.

    Klicken Sie zum Verknüpfen einer Datei auf Registerkarte Verwalten Gruppe Einfügen Objekt einfügen, oder wählen Sie im Dialogfeld Parameter die Option Verknüpfung.

    GoExcel.FindRow

    Sucht nach einer Zeile anhand einer oder mehrerer Spaltenwertkriterien.

    Syntax

    GoExcel.FindRow("filename", "sheetname", "first column title", "operator", value to look for, "second column title", "operator", value to look for, "third column title",...)

    ”filename”

    Gibt die Datendatei an.

    ”sheetname”

    Das Arbeitsblatt im Excel-Dokument, das die zu durchsuchende Tabelle enthält: Das Arbeitsblatt kann ein beliebiges, bereits vorhandenes Arbeitsblatt sein.

    ”first column title”

    Der Titel der ersten Spalte in der Tabelle, die durchsucht werden soll: Spaltentitel befinden sich in der Regel in Zeile 1 beginnend bei Spalte A.

    ”operator”

    Mögliche Werte:

    • <=

      Sucht nach einer Zeile mit einem Spaltenwert, der kleiner oder gleich dem angegebenen Wert ist.

    • >=

      Sucht nach einer Zeile mit einem Spaltenwert, der größer oder gleich dem angegebenen Wert ist.

    • =

      Sucht nach einer Zeile mit einem Text oder einer Zahl als Spaltenwert, der dem angegebenen Wert entspricht.

    value to look for

    Ein Textwert oder ein numerischer Wert, der durch einen genauen Wert, einen Parameter oder eine lokale Variable angegeben wird

    ”second column title”

    Der Titel der zweiten Spalte in der zu durchsuchenden Tabelle

    ”operator”

    <= , > = oder =

    value to look for

    ”third column title”

    Sucht eine Zeile auf der Grundlage mehrerer Kriterien.

    Rückgabewerte

    Die Zeilennummer (eine ganze Zahl), die die Suchkriterien erfüllt: Der Wert beträgt -1, wenn keine passende Zeile gefunden wurde.

    Mögliche Fehler

    • Datei nicht gefunden
    • Name des Arbeitsblatts nicht gefunden
    • Spaltenname nicht gefunden
    • Falscher Typ des eingegebenen Werts (entspricht nicht dem Wertetyp in der Spalte)

    Excel-Tabellenanforderungen

    • Tabellen müssen horizontal konfiguriert werden (Konfigurationen müssen nach Zeile und nicht nach Spalte erfolgen).
    • Die erste Zelle einer Spalte muss einen Titel enthalten.
    • Der Suchwert kann aus einem Text oder einer Zahl bestehen.

    Beispiele

    In den folgenden Beispielen wird der Wert der Parametervariable i auf die Anzahl der Zeilen in der Tabelle festgelegt. Dia ist gleich 0.2 und Len ist größer als oder gleich 4.1. Im ersten Beispiel wird auf ein externes und im zweiten Beispiel auf ein eingebettetes Arbeitsblatt verwiesen.

    i = GoExcel.FindRow("mytable.xls", "Sheet1", "Dia", "=", 0.2, "len", ">=",4.1)
    i = GoExcel.FindRow("3rd Party:Embedding 1", "Sheet1", "Dia", "=", 0.2, "len",">=", 4.1)

    In diesen Beispielen wird die erste Bedingung Dia=.2 in Zeile 5, 6 und 7 erfüllt. Die Kriterien Dia=.2 und len>=4.1 werden jedoch nur in Zeile 7 erfüllt.

    GoExcel.CurrentRowValue

    Liest mithilfe der Funktion GoExcel.FindRowden Wert in einer gefundenen Zeile.

    Syntax

    GoExcel.CurrentRowValue("column name")

    ”column name”

    Spaltentitel als Zellenwert zum Abrufen aus der aktuellen Zeile

    Rückgabewerte

    Zellenwert aus der Spalte der aktuellen Zeile, die zuvor mithilfe der Funktion GoExcel.FindRow gefunden wurde

    Fehler

    Gibt eine Fehlermeldung aus, wenn die Spalte nicht gefunden werden konnte.

    Beispiel

    i = GoExcel.FindRow("iLogic_SCHS.xls", "Sheet1", "thread_diameter", "=", Screw_Size, "screw-length", ">=",
    screw_length_required)
    thread_diameter = GoExcel.CurrentRowValue("thread_diameter")
    screw_length =  GoExcel.CurrentRowValue("screw_length")
    head_diameter = GoExcel.CurrentRowValue("head_diameter")
    head_thickness = GoExcel.CurrentRowValue("head_thickness")
    socket_size =  GoExcel.CurrentRowValue("socket_size")
    thread_pitch =  GoExcel.CurrentRowValue("thread_pitch")

    GoExcel.CellValue

    Liest oder schreibt Werte in die Zellen eines Arbeitsblatts.

    Syntax

    GoExcel.CellValue("filename", "sheetname", "cellnumber")

    ”filename”

    Informationen dazu finden Sie im Abschnitt zum Angeben einer Excel-Datei.

    ”sheetname”

    Name des Arbeitsblatts im Excel-Dokument, das die Zielzelle enthält. Das Arbeitsblatt kann ein beliebiges, bereits vorhandenes Arbeitsblatt sein.

    ”cell number”

    Die Zelladresse, die gelesen oder in die geschrieben werden soll (z. B. A7). Im Arbeitsblatt haben Sie auch die Möglichkeit, einen benannten Bereich anzugeben.

    Rückgabewerte

    • Wert der Zelle
    • Keine Zuordnung im Fall eines Fehlers

    Fehler

    • Datei nicht gefunden
    • Name des Arbeitsblatts nicht gefunden

    Excel-Tabellenformatanforderungen

    Der Zellwert kann aus einem Text oder einer Zahl bestehen.

    Beispiele

    Ein eingebettetes Arbeitsblatt lesen:

    head_rad = GoExcel.CellValue("3rd Party:Embedding 4", "Sheet1","A1")

    In ein eingebettetes Arbeitsblatt schreiben:

    GoExcel.CellValue("3rd Party:Embedding 4", "Sheet1", "A1")= head_rad

    Ein externes Arbeitsblatt lesen:

    head_rad = GoExcel.CellValue("Spreadsheet.xlsx", "Sheet1", "A5")
    message =GoExcel.CellValue("Spreadsheet.xlsx", "Sheet1", "B5")

    In ein externes Arbeitsblatt schreiben:

    GoExcel.CellValue("Spreadsheet.xls", "Sheet1", "A6") = "Hello World"
    GoExcel.Save
    Anmerkung Zum Speichern der Änderungen in einem Arbeitsblatt ist die Funktion GoExcel.Save erforderlich.

    GoExcel.CurrentCellValue, GoExcel.CellValue

    Liest oder schreibt in eine Zelle mit einer bestimmten Zelladresse in einem Arbeitsblatt nach Verwendung der Funktion GoExcel.CellValue oder GoExcel.Open. Diese Funktion verwendet die Datei und das Arbeitsblatt, die zuvor geöffnet wurden.

    Syntax

    GoExcel.CurrentCellValue("cellnumber")

    GoExcel.CellValue("cellnumber") (without specifying a filename and sheet name)

    ”cellnumber”

    Zelladresse oder der benannte Bereich eines Zellwerts, die im aktuellen Arbeitsblatt gelesen oder in dieses geschrieben werden sollen.

    Rückgabewerte

    Der Zellwert der Zelle mit der angegebenen Zellennummer

    Fehler

    • Keine Zuordnung bei Fehler
    • Fehlermeldungsanzeige

    Beispiele

    Mehrere Zellen in einem Arbeitsblatt lesen:

    head_rad = GoExcel.CellValue("Spreadsheet.xlsx","Sheet1","A1")
    head_thick = GoExcel.CellValue("B1")
    pin_length = GoExcel.CellValue("C1")
    shaft_rad = GoExcel.CellValue("D1")

    In mehrere Zellen in einer Tabelle schreiben:

    GoExcel.CellValue("Spreadsheet.xlsx","Sheet1","A1") = head_rad
    GoExcel.CellValue("B1") = head_thick
    GoExcel.CellValue("C1") = pin_length
    GoExcel.CellValue("D1") = shaft_rad
    GoExcel.Save

    GoExcel.NameRangeValue

    Diese Funktion erfüllt den gleichen Zweck wie Funktion CellValue. Geben Sie anstelle einer Zelladresse einen benannten Bereich in der definierten Excel-Arbeitsmappe an. Der Name sollte bereits in der Arbeitsmappe enthalten sein, und der Bereich darf nicht mehr als eine Zelle umfassen. Sie können auf die benannten Bereiche eines Arbeitsblatts zugreifen, indem Sie anstelle einer Zelladresse die standardmäßige Syntax CellValue verwenden.

    Verwenden Sie zum Öffnen einer Excel-Datei die Funktionen GoExcel.CellValue oder GoExcel.Open, bevor Sie NamedRangeValue in eine Regel integrieren.

    Syntax

    GoExcel.NamedRangeValue("PinLength")

    GoExcel.Open

    Öffnet die angegebenen Excel-Tabelle und aktiviert (optional) ein benanntes Arbeitsblatt. Anschließend können Sie mit Funktionen wie GoExcel.FindRow und GoExcel.CellValue die enthaltenen Informationen extrahieren oder das Arbeitsblatt ändern.

    Syntax

    GoExcel.Open("filename", “sheetname”)

    ”filename”

    Informationen dazu finden Sie im Abschnitt zum Angeben einer Excel-Datei.

    ”sheetname”

    Name eines Excel-Arbeitsblatts, das aktiviert werden soll: Das Arbeitsblatt kann ein beliebiges, bereits vorhandenes Arbeitsblatt sein.

    Rückgabewerte

    Fehler

    Excel-Datei konnte nicht gefunden werden.

    Beispiele

    Wenn kein Name angegeben wird, wird der Name Blatt1 vergeben.

    GoExcel.Open("Spreadsheet.xls")

    Sie können auch ein zusätzliches Arbeitsblatt angeben.

    GoExcel.Open("Spreadsheet.xls", "MyOtherSheet")

    GoExcel.Save

    Speichert das aktuelle Excel-Dokument. Verwenden Sie diese Funktion, wenn Zellen mithilfe der Funktion GoExcel.CellValue oder GoExcel.CurrentCellValue geändert haben.

    Rückgabewerte

    Fehler

    Beispiel

    GoExcel.CellValue("Spreadsheet.xls", "Sheet1", "A1") = "Hello, World!"
    GoExcel.CellValue("A2") = 5.42
    GoExcel.Save

    GoExcel.CellValues

    Diese Funktion dient zwei Zwecken:

    • Lesen der Werte in Zellen im angegebenen Bereich einer Excel-Tabelle und Zuordnen dieser Werte zu einer Multivalue-Liste
    • Abrufen der Werte aus einer Multivalue-Liste und Schreiben dieser in Zellen im angegebenen Bereich einer Excel-Tabelle

    Eine Excel-Tabelle lesen

    Sie können die Werte in Zellen lesen, die in einem senkrecht ausgerichteten Bereich enthalten sind. Mit der Funktion werden die Werte von oben nach unten beginnend in der ersten Zelle bis zum Wert in der zweiten Zelle gelesen, die in der Funktion angegeben wurde:

    Multivalue.List("parameter") =  GoExcel.CellValues("filename.xls", "Sheet1", "A1", "A10")

    Wenn die zweite Zelladresse aus einer leeren Zeichenfolge besteht (""), werden die Zellwerte bis zur nächsten leeren Zelle gelesen:

    Multivalue.List("parameter") =  GoExcel.CellValues("filename.xls", "Sheet1", "A1", "")

    Sie können die Werte in Zellen lesen, die in einem horizontal ausgerichteten Bereich enthalten sind.

    Multivalue.List("parameter") =  GoExcel.CellValues("filename.xls", "Sheet1", "A1", "J1")

    Wenn auf das Arbeitsblatt zuvor innerhalb einer Regel verwiesen wurde, müssen der Dateiname und der Name des Arbeitsblatts nicht mehr angegeben werden:

    Multivalue.List("parameter") =  GoExcel.CellValues("B2", "G2")

    In eine Excel-Tabelle schreiben

    Werte können in Zellen in einem senkrecht ausgerichteten Bereich geschrieben werden. Mit der Funktion werden die Werte von oben nach unten beginnend in der ersten Zelle bis zur zweiten Zelle geschrieben, die in der Funktion angegeben wurde:

    GoExcel.CellValues("filename.xls", "Sheet1", "A2", "A10") = Multivalue.List("parameter")

    Werte können in Zellen in einem senkrecht ausgerichteten Bereich geschrieben werden. Wenn die zweite Zelladresse aus einer leeren Zeichenfolge besteht (""), wird von iLogic die Anzahl an Zellen verwendet, die erforderlich ist, um alle Werte der Multivalue-Liste einzutragen:

    GoExcel.CellValues("filename.xls", "Sheet1", "A2", "") = Multivalue.List("parameter")

    Werte können in Zellen in einem horizontal ausgerichteten Bereich geschrieben werden.

    GoExcel.CellValues("filename.xls", "Sheet1", "A1", "J1") = Multivalue.List("parameter")

    Wenn auf das Arbeitsblatt zuvor innerhalb einer Regel verwiesen wurde, müssen der Dateiname und der Name des Arbeitsblatts nicht mehr angegeben werden:

    GoExcel.CellValues("B2", "G2") = Multivalue.List("parameter")

    GoExcel.Close

    Schließt die aktuelle Excel-Tabelle.

    GoExcel.TitleRow

    Wird vor der Funktion GoExcel.FindRow verwendet, um die Anzahl der Zeilen in der Tabelle anzugeben, in der die Spaltennamen enthalten sind. Die Standardzeilenanzahl ist 1. Ändern Sie diesen Wert, wenn über der Zeile mit dem Spaltennamen noch weitere Zeilen vorhanden sind.

    Beispiel

    GoExcel.TitleRow = 2

    GoExcel.FindRowStart

    Wird vor der Funktion GoExcel.FindRow verwendet, um die Nummer der ersten Zeile in der Tabelle anzugeben, die Daten enthält. Die Standardzeilennummer ist 2.

    Syntax

    GoExcel.FindRowStart = <row>

    <row>

    Die erste Zeile, in der Daten angezeigt werden

    Beispiele

    Der Standardwert von 2 gibt an, dass die erste Zeile, die Daten enthält, Zeile 2 ist und eine Zeile nach der Titelzeile folgt:

    GoExcel.FindRowStart = 2

    Wenn Sie zwei Titelzeilen haben, fügen Sie die folgende Anweisung der Regel vor der Stelle hinzu, an der die Anweisung mit GoExcel.FindRow aufgeführt wird:

    GoExcel.FindRowStart = 3

    GoExcel.ChangeSourceOfLinked

    Bietet einen Zugriff auf die Option Quelle ändern von einer iLogic-Regel aus.

    Diese Funktion ersetzt eine Excel-Tabelle, die aktuell das Modell festlegt, durch eine andere Tabelle. Die Bemaßungen des Modells werden dann durch die Werte in der neuen Tabelle festgelegt.

    AnmerkungDiese Funktion können Sie auch manuell über das Kontextmenü verknüpfter Excel-Tabellen ausführen.

    Syntax

    changeOK = GoExcel.ChangeSourceOfLinked(partialOldName, newName)

    partialOldName

    Teil des Tabellennamens, der ersetzt werden soll.

    partialOldName kann eine leere Zeichenfolge "" sein. In diesem Fall wird die erste verknüpfte Excel-Datei verwendet. Häufig liegt für ein Bauteil oder eine Baugruppe nur eine Excel-Datei vor.

    newName

    Der vollständige neue Tabellenname (absoluter oder relativer Dateiname)

    Beispiel

    If size = "small" Then
    changeOK = GoExcel.ChangeSourceOfLinked("pipe"," smallpipe.xlsx")
    ElseIf size = "medium" Then
    changeOK = GoExcel.ChangeSourceOfLinked("pipe", "mediumpipe.xlsx")
    ElseIf size = "large" Then
    changeOK = GoExcel.ChangeSourceOfLinked("pipe", "largepipe.xlsx")
    End If

    GoExcel.Tolerance

    Wird in Verbindung mit der Funktion GoExcel.FindRow verwendet, um nach einem Wert in einem bestimmten Bereich statt nach einem genauen Wert zu suchen. Der vorgegebene Toleranzwert beträgt "0.0000001" und ist unabhängig von den Dokumenteinheiten.

    Syntax

    GoExcel.Tolerance = <tolerance>

    Legen Sie einen höheren Toleranzwert fest, um den Bereich zulässiger Werte zu erweitern.

    Beispiel

    Verwenden Sie die Anweisung, um folgende Suche auszuführen:

    GoExcel.Tolerance = 0.001
    i = GoExcel.FindRow("Table1.xlsx", "Sheet1", "length", "=", 2.3)

    Die Anweisung ist vergleichbar mit folgendem Suchvorgang ohne die Angabe eines Toleranzwerts:

    i = GoExcel.FindRow("Table1.xlsx", "Sheet1", "length", ">=", 2.299, "length","<=", 2.301)

    GoExcel.DisplayAlerts

    Verhindert die Anzeige der Dialogfelder mit Eingabeaufforderung.

    Syntax

    GoExcel.DisplayAlerts = True

    GoExcel.DisplayAlerts = False

    True

    Zeigt die Microsoft® Excel Eingabeaufforderungen an(Standardeinstellung).

    False

    Die Excel-Eingabeaufforderungen werden nicht angezeigt.

    GoExcel.Application

    Greift auf das Excel-Anwendungsobjekt zu. Verwenden Sie nur dann diese Funktion, wenn Sie bereits Erfahrung mit Excel-COM-Schnittstelle haben. Rufen Sie vor der Verwendung dieser Funktion in einer Regel eine andere GoExcel-Funktion auf, um die Anwendung zu starten.

    Syntax

    excelApp = GoExcel.Application

    iPart- und iAssembly-Funktionen

    Verwenden Sie iPart- und iAssembly-Funktionen, um iParts- und iAssembly-Konfigurationen in einer Baugruppe festzulegen. Sie können mithilfe selbst festgelegter Bedingungen eine Regel zum Ändern der aktuellen Konfiguration eines iParts oder einer iAssembly definieren.

    Diese Funktionen lassen sich sowohl für iAssemblies als auch für iParts gleichermaßen einsetzen. Ausnahme: Benutzerdefinierte Parameter können nur in Verbindung mit iParts verwendet werden. Um eine iAssembly-Funktion verwenden zu können, haben Sie die Möglichkeit, iPart beim Festlegen der Funktion durch iAssembly zu ersetzen.

    Erweitern Sie zum Öffnen der iPart- und iAssembly-Funktionen im Bereich Snippets auf Registerkarte System den Knoten iParts.

    Ähnliche Funktionen stehen in Verbindung mit iFeatures zur Verfügung. Weitere Informationen dazu finden Sie unter iFeature- Funktionen.

    iPart.ChangeRow

    Ändert die aktive Zeile in einer iPart- oder iAssembly-Tabelle.

    Syntax

    iPart.ChangeRow("iChangedComponentName:1", "memberName")

    “iChangedComponentName:1”

    Dies stellt den Namen der Komponente dar, wie er im Autodesk Inventor-Baugruppenbrowser angezeigt wird. Ändern Sie den vom Inventor zugewiesenen Komponentennamen, um diesen zu stabilisieren, sodass er beim Auswählen einer anderen Tabellenzeile nicht geändert wird.

    “memberName”

    Name der Tabellenzeile in der Spalte Variante

    Verwenden Sie bei einem iPart mit benutzerdefinierten Parametern die folgende Syntax, um die benutzerdefinierten Parameter nach "memberName" aufzuführen. Geben Sie sie in der gleichen Reihenfolge ein, in der sie in der Tabelle aufgeführt sind:

    iPart.ChangeRow("iChangedComponentName:1", "memberName", customParam1,customParam2)

    Verwenden Sie die folgende Syntax, um anstelle eines Variantennamens eine Zeilennummer anzugeben. Die Zeilennummer ist eine ganze Zahl. Die erste Zeile erhält die Zeilennummer 1 (nur bei Norm-iParts):

    iPart.ChangeRow("iChangedComponentName:1", rowNumber)

    Beispiel

    In diesem Beispiel wird die aktuelle iPart-Konfiguration basierend auf einer Bedingung geändert, die zur Auswertung eines Inventor-Benutzerparameters Port_1_Size dient. Für diese Funktion ist nur der iPart-Komponentenname port_1_Flange_screw und der Variantenname aus der iPart-Tabelle Screw-01 erforderlich, um die aktive iPart-Konfiguration festzulegen:

    If Port_1_Size = .50 Then
    iPart.ChangeRow("port_1_flange_screw", "Screw-01")
    ElseIf Port_1_Size = .75 Then
    iPart.ChangeRow("port_1_flange_screw", "Screw-02")
    ElseIf Port_1_Size = 1.00 Then
    iPart.ChangeRow("port_1_flange_screw", "Screw-03")
    End If

    iPart.FindRow

    Durchsucht spaltenweise die iPart- oder iAssembly-Tabelle nach der Zeile, die einen bestimmten oder ungefähren Wert enthält, und legt die gefundene Zeile als aktive Konfiguration fest.

    Syntax

    i=iPart.FindRow("iChangedComponentName:1", "columnName","<=",0.2,"columnName","<=", 4.1,"|",customParam1,customParam2)

    i=iPart.FindRow("iChangedComponentName:1","columnName", "<=",d1,"columnName","<=",d2)

    “i”

    Eine lokale Variable, mit der überprüft werden kann, ob eine gültige Zeilennummer gefunden wurde

    “iChangedComponentName:1”

    Dies stellt den Namen der Komponente dar, wie er im Inventor-Baugruppenbrowser angezeigt wird. Ändern Sie den vom Inventor zugewiesenen Komponentennamen, um diesen zu stabilisieren, sodass er beim Auswählen einer anderen Tabellenzeile nicht geändert wird.

    “columnName”

    Dies stellt die zu durchsuchende Spalte in der iPart-Tabelle dar. Verwenden Sie den Namen der Spaltenüberschrift, wie er in der iPart-Tabelle angezeigt wird.

    Beispiel

    In diesem Beispiel wird eine iPart-Tabelle nach einer Zeile mit den Spaltenwerten durchsucht, die größer oder gleich den angegebenen Werten sind. iLogic tauscht die aktuelle iPart-Konfiguration durch die Konfiguration in der gefundenen Zeile aus:

    iPart.FindRow("port_1_flange_screw", "Thread_Diameter", ">=", 0.45, "Thread_Length", ">=", 2.0)

    iPart.CurrentRowValue

    Nachdem Sie die gewünschte Zeile mithilfe der Funktion iPart.FindRow gefunden haben, werden die verknüpften Spaltenwerte aus dieser Zeile unter Verwendung dieser Funktion gelesen. Mit dieser Funktion können nur numerische Werte gelesen werden. Verwenden Sie zum Lesen von Spalten mit Text die Funktion iPart.CurrentRowStringValue.

    Syntax

    d0 = iPart.CurrentRowValue("columnName")

    Die aktuelle Zeile lässt sich mithilfe folgender Funktionen festlegen:

    • iPart.FindRow
    • iPart.ChangeRow
    • iPart.RowName
    • iPart.RowNumber

    iPart.FindRow oder iPart.ChangeRow

    “columnName”

    Der Name der gewünschten Spalte in der iPart-Tabelle

    Beispiel

    In diesem Beispiel wird in Spalte Port_Size der iPart-Tabelle port_1_flare_flange nach einem bestimmten Wert gesucht, der mit dem Wert des Inventor-Parameters Port_1_Size übereinstimmt. Nachdem Sie die gewünschte Zeile gefunden wurde, wird iPart.CurrentRowValue verwendet, um die Bemaßungen aus den Tabellenspalten A_dim und B_dim abzurufen. Anschließend werden diese Werte den Inventor-Parametern Port_1_screw_A_dim und Port_1_screw_B_dim zugewiesen:

    i = iPart.FindRow("port_1_flare_flange", "Port_Size", "=", Port_1_Size)
    Port_1_screw_A_dim = iPart.CurrentRowValue("A_dim")
    Port_1_screw_B_dim = iPart.CurrentRowValue("B_dim")

    iPart.CurrentRowStringValue

    Nachdem Sie die gewünschte Zeile mithilfe der Funktion iPart.FindRow gefunden haben, können Sie diese Funktion verwenden, um die verknüpften Spaltenwerte aus dieser Zeile zu lesen. Diese Funktion ist mit der Ausnahme, dass nur aus Text bestehende Werte gelesen werden können, mit iPart.CurrentRowValue vergleichbar. Verwenden Sie zum Lesen von Spalten mit numerischen Werten die Funktion iPart.CurrentRowValue.

    Syntax

    iPart.CurrentRowStringValue("PartNumber")

    Alternative Syntax für den Komponentennamen

    So geben Sie einen Komponentennamen ein, der nicht geändert wird, wenn die iPart-Zeile geändert wird

    iPart.ChangeRow("iParentFileName:1", "memberName")

    iPart.FindRow("iParentFileName:1","columnName","<=",d1,"columnName","<=",d2)

    “iParentFileName:1”

    Dies stellt den Namen der übergeordneten iPart-Datei dar, in dem ":1" normalerweise die IPT- oder IAM-Erweiterung ersetzt. Geben Sie für ":1" die Nummer der Komponente ein, an der Sie arbeiten.

    Diese Syntax wird zwar unterstützt jedoch nicht empfohlen. Eine gängigere Methode ist die Änderung des Komponentennamens, um diesen zu stabilisieren.

    iPart.RowName

    Ruft den Variantennamen der aktiven Zeile in einem iPart- oder iAssembly-Komponentenexemplar auf. Diese Funktion ist nützlich für die Verwendung in Regeln, die durch das Ereignis iPart- oder iAssembly-Änderungskomponente ausgelöst werden. Verwenden Sie iPart.ChangeRow oder iPart.FindRow, um eine Zeile automatisch über eine Regel auszuwählen. Wenn der Benutzer in der Lage sein soll, eine Zeile manuell auszuwählen, können Sie dieses Ereignis mit dieser Funktion kombinieren, um auf die Änderung zu reagieren.

    AnmerkungNach Verwendung dieser Funktion können Sie zum Abrufen der Werte aus anderen Zellen in der aktiven Zeile die Funktion iPart.CurrentRowValue oder iPart.CurrentRowStringValue verwenden.

    Syntax

    iPart.RowName("iChangedComponentName:1")

    Beispiel

    memberName = iPart.RowName("port_1_flange_screw:1")

    iPart.RowNumber

    Ruft die Zeilennummer der aktiven Zeile in einem iPart- oder iAssembly-Komponentenexemplar auf.

    AnmerkungNach Verwendung dieser Funktion können Sie zum Abrufen der Werte aus anderen Zellen in der aktiven Zeile die Funktion iPart.CurrentRowValue oder iPart.CurrentRowStringValue verwenden.

    Syntax

    iPart.RowNumber("iChangedComponentName:1")

    Beispiel

    rowNumber = iPart.RowNumber("port_1_flange_screw:1")

    iPart.Tolerance

    In Verbindung mit der Funktion iPart.FindRow können Sie mit dieser Funktion nach einem Wert innerhalb eines Bereichs anstatt nach einem genauen Wert suchen. Bei dieser Suchmethode wird immer eine Toleranz angegeben. Der vorgegebene Toleranzwert beträgt "0.0000001" und ist unabhängig von den Dokumenteinheiten.

    Syntax

    iPart.Tolerance = <value>

    Legen Sie einen höheren Toleranzwert fest, um den Bereich zulässiger Werte zu erweitern.

    Beispiel

    Wenn Sie die folgenden Anweisungen verwenden:

    iPart.Tolerance = 0.001
    i = iPart.FindRow("Block:1","length", "=", 2.3)

    Diese Anweisungen ergeben zusammen die folgende Suche ohne Toleranzangabe:

    i = iPart.FindRow("Block:1", "length", ">=", 2.299, "length","<=", 2.301)

    Verwenden Sie zum Ersetzen einer iPart-Variante durch eine Variante aus einer anderen Teilefamilie die Funktion Component.ReplaceiPart.

    iFeature-Funktionen

    Verwenden Sie die iFeature-Funktionen, um eine Zeile in einem tabellengetriebenem iFeature auszuwählen. Jede Zeile enthält eine Reihe an Parameterwerten zum Festlegen des iFeature.

    iFeature-Funktionen werden innerhalb eines Bauteils verwendet, in dem das iFeature platziert ist (Instanz). Die Syntax stimmt mit der Syntax der Funktionen GoExcel und iPart überein.

    Erweitern Sie zum Öffnen der iFeature-Funktionen im Bereich Snippets auf Registerkarte System den Knoten iFeatures.

    iFeature.ChangeRow

    Ändert die aktive Zeile eines tabellengetriebenen iFeature.

    Syntax

    iFeature.ChangeRow("iFeatureName", "rowName")

    "iFeatureName”

    Der in der Modellhierarchie angezeigte Name des iFeature

    "rowName"

    Der gewünschte Wert des Schlüsselparameter in der iFeature-Tabelle

    Wenn das iFeature über mehr als einen Schlüsselparameter verfügt, geben Sie diese wie folgt als Textzeichenfolge ein: [Key1=Value1][Key2=Value2]. Beispiel:

    [Size=A0][CutLength=0.4375000 in]

    In diesem Beispiel ist die Eigenschaft iFeatureTableRow.MemberName dargestellt, die in der Inventor-API-Dokumentation beschrieben wird. Eine weitere Möglichkeit, mehrere Parameterwerte einzugeben, bietet die Funktion iFeature.FindRow.

    Sie können auch die Zeilennummer als eine ganze Zahl eingeben:

    iFeature.ChangeRow("iFeatureName", rowNumber)

    Beispiel

    In diesem Beispiel wird die aktuelle iFeature-Konfiguration basierend auf einer Bedingung geändert, die zur Auswertung des Textparameters size dient. Für iFeature.ChangeRow ist nur der Name der iFeature-Komponente RectangularPocket1 und der Key Column-Name "Pocket-01" aus der iFeature-Tabelle erforderlich, um die aktive iFeature-Konfiguration zu bestimmen:

    If size = "small" Then
    iFeature.ChangeRow("RectangularPocket1", "Pocket-01")
    ElseIf size = "medium" Then
    iFeature.ChangeRow("RectangularPocket1", "Pocket-02")
    ElseIf size = "large" Then
    iFeature.ChangeRow("RectangularPocket1", "Pocket-03")
    ElseIf size = "very large" Then
    iFeature.ChangeRow("RectangularPocket1", "Pocket-04")
    End If

    iFeature.FindRow

    Sucht nach einer Zeile anhand einer oder mehrerer Spaltenwertkriterien. Wenn eine passende Zeile gefunden wurde, wird diese als die aktive Zeile des iFeature festgelegt.

    Syntax

    i = iFeature.FindRow("iFeatureName", "columnName", "<=", 0.2, "columnName", "<=", 4.1)

    "iFeatureName"

    Der Name des tabellengetriebenen iFeature

    "columnName"

    Der Titel der zu durchsuchenden Spalte

    Operatoren

    • "=" wird zum Suchen nach einer Zeile mit dem Wert verwendet, der mit dem angegebenen Wert übereinstimmt.
    • "=" wird zum Suchen nach einer Zeile mit dem Wert verwendet, der größer als oder gleich dem angegebenen Wert ist.
    • "=" wird zum Suchen nach einer Zeile mit dem Wert verwendet, der größer als oder gleich dem angegebenen Wert ist.

    Der Wert kann einen numerischen Wert oder eine Textzeichenfolge sein. Sie können ihn als expliziten Wert, Parameter oder eine lokale Variable angeben.

    Rückgabewerte

    • Zeilennummer (ganze Zahl) der Zeile, die mit den Suchkriterien übereinstimmt
    • -1, wenn die Zeile nicht gefunden wurde

    iFeature.CurrentRowValue(“columnName”)

    Liest einen Wert aus der Zeile, die mithilfe der Funktion iFeature.FindRow gefunden wurde und der Spaltentitel "columnName" ist. Diese Funktion gibt den Zellenwert aus der aktuellen Zeile aus, die mithilfe der Funktion iFeature.FindRow gefunden wurde. Beispiel:

    i = iFeature.FindRow("RectangularPocket1", "pocketdepth", "=", 0.250)
    pocketlength = iFeature.CurrentRowValue("pocketlength")
    pocketwidth = iFeature.CurrentRowValue("pocketwidth")

    Wenn die Spalte nicht im iFeature vorhanden ist, wird durch die Regel eine Fehlermeldung erzeugt.

    iFeature.CurrentRowStringValue("columnName")

    Verwenden Sie diese Funktion, wenn der gesuchte Eintrag eine Textzeichenfolge in der iFeature-Tabelle ist. Beispiel:

    Part_number = iFeature.CurrentRowStringValue("Part Number")

    iFeature.Tolerance

    In Verbindung mit der Funktion iFeature.FindRow können Sie mit dieser Funktion nach einem Wert innerhalb eines Bereichs anstatt nach einem genauen Wert suchen. Bei dieser Suchmethode wird immer eine Toleranz angegeben. Der vorgegebene Toleranzwert beträgt "0.0000001" und ist unabhängig von den Dokumenteinheiten.

    Syntax

    iFeature.Tolerance = <value>

    Legen Sie einen höheren Toleranzwert fest, um den Bereich zulässiger Werte zu erweitern.

    Beispiel

    iFeature.Tolerance = 0.001
    i = iFeature.FindRow("insertpocket", "pocketlength", "=", 2.0)

    In diesem Beispiel wird nach einer Zeile mit einem pocketlength-Wert von "2.0004" gesucht.

    Funktionen für Baugruppenabhängigkeiten

    iLogic bietet Regelfunktionen zum Festlegen des Unterdrückungsstatus von Baugruppenabhängigkeiten. Diese Funktionen dienen zum Definieren von Konfigurationen auf Baugruppenebene mithilfe von iLogic Regeln.

    Beispiel: Sie möchten alternative Positionen für eine Komponente in einer Baugruppe definieren. Sie können alle Passungen definieren, die zum Festlegen der Abhängigkeiten einer Komponente an den gewünschten Orten erforderlich sind. Anschließend können Sie eine Regel verwenden, um die Passungen nach Bedarf zu unterdrücken oder ihre Unterdrückung aufzuheben und auf diese Weise die Komponente in jeder Konfiguration zu verschieben.

    In Autodesk Inventor ist es nicht möglich, sich widersprechende Abhängigkeiten zu erzeugen. Erstellen Sie die Abhängigkeiten zunächst für eine Position der Komponente. Unterdrücken Sie anschließend diese Abhängigkeiten manuell, um weitere Abhängigkeiten für alternative Komponentenpositionen zu erstellen. Nachdem Sie alle erforderlichen Abhängigkeiten erstellt haben, die zur Positionierung für alle Konfigurationen erforderlich sind, können Sie die Regeln zum Auswählen der Abhängigkeiten erstellen.

    Erweitern Sie zum Öffnen der Abhängigkeits-Funktionen im Bereich Snippets auf Registerkarte System den Knoten Abhängigkeiten.

    Constraint.IsActive

    Liest oder legt den Unterdrückungsstatus der Abhängigkeit einer Baugruppe auf oberster Ebene fest.

    Weisen Sie jeder mit einer Regel verknüpften Abhängigkeit einen eindeutigen benutzerdefinierten Namen zu:

    • Die Regeln sind besser zu verstehen.
    • Benennen Sie eine Passung um, um den Namen zu stabilisieren und so eine automatische Änderung des Namens zu verhindern, die zur Folge hätte, dass die Abhängigkeit von keiner Regel gefunden werden könnte.

    Wenn Sie den Unterdrückungsstatus einer Abhängigkeit manuell ändern, führt das nicht dazu, dass sie von Regeln, die auf sie verweisen, automatisch ausgelöst wird.

    Syntax

    Constraint.IsActive(“Mate:1”)

    Constraint.IsActive(“SubAssem.iam”, “Mate:1”)

    Beispiele

    Unterdrückungsstatus festlegen:

    If ConfigStyle = “A” Then
    Constraint.IsActive("MateLeftSide:1") = true
    Constraint.IsActive("MateRightSide:2") = false
    ElseIf ConfigStyle = “B” Then
    Constraint.IsActive("MateLeftSide:1") = false
    Constraint.IsActive("MateRightSide:2") = true
    End If

    Unterdrückungsstatus lesen:

    If Constraint.IsActive("MateLeftSide:1")  Then (Do something)

    Unterdrückungsstatus einer Abhängigkeit in einer Unterbaugruppe (Namen der Unterbaugruppendatei und der Abhängigkeit angeben) festlegen oder lesen:

    Constraint.IsActiveInDoc("SubAssem.iam", "Mate:1")

    Verwenden Sie zum Kopieren und Umbenennen aller Dateien in einer Baugruppe, ohne die Regeln zu verändern, die Funktion Constraint.IsActiveInComponent, und geben Sie anstelle des Dateinamens den Namen einer Unterbaugruppe an.

    Unter Verwendung eines Unterbaugruppennamens festlegen:

    If ConfigStyle = “A” Then
    Constraint.IsActiveInDoc("SubAssem.iam", “LeftMate”) = true
    Constraint.IsActiveInDoc("SubAssem.iam", “RightMate”) = false
    ElseIf ConfigStyle = “B” Then
    Constraint.IsActiveInDoc("SubAssem.iam", “LeftMate”) = false
    Constraint.IsActiveInDoc("SubAssem.iam", “RightMate”) = true
    End If

    Unter Verwendung eines Unterbaugruppennamens lesen:

    Constraint.IsActiveInDoc("SubAssem.iam",”LeftMate”) = true then (Do something)

    Constraint.iMateDefIsActive

    Unterdrückt eine iMate-Definition oder hebt die Unterdrückung einer iMate-Definition auf.

    Constraint.iMateDefIsActive(“iMate:1”) = False

    Unterdrückt im aktuellen Regeldokument die iMate-Definition iMate:1. Alternativ können Sie die iMate-Definition über das Kontextmenü auf der Benutzeroberfläche unterdrücken. Wenn die iMate-Definition unterdrückt wird, kann sie für keine Passungen verwendet werden.

    Constraint.iMateDefIsActive(“SubAssem:1”,“iMate:1) = False

    Unterdrückt die iMate-Definition iMate:1 in der Komponente SubAssem:1.

    Constraint.iMateDefIsActive(PartA:1”,“iMate:1”) = True

    Hebt die Unterdrückung der iMate-Definition iMate:1 im Komponentenbauteil PartA:1 auf.

    Messfunktionen

    Verwenden Sie die Messfunktionen zum Suchen nach und Ausgeben von Werten für Abstand, Winkel, Fläche, Umfang und Bemaßungen.

    Erweitern Sie zum Öffnen der Messfunktionen im Bereich Snippets auf Registerkarte System den Knoten Messen.

    Abstand und Winkel messen

    Sie können den Abstand oder Winkel zwischen zwei (bei Winkel drei) Objekten messen. Geben Sie die Namen der Objekte an, zwischen denen der Abstand gemessen werden soll. Ein Name kann sich beziehen auf:

    • Ein Arbeitselement, wie z. B. eine Arbeitsebene, Arbeitsachse oder Arbeitspunkt in einem Bauteil oder einer Baugruppe. Beim Arbeitselement kann es sich um ein standardmäßiges Inventor-Arbeitselement wie beispielsweise XY-Ebene oder X-Achse.
    • Ein iMate, das mit einer Fläche, Kante oder einem Scheitelpunkt verbunden ist. Verwenden Sie diese Methode, um dem Element einen dauerhaften Namen zuzuweisen. Es ist nicht erforderlich, das iMate als Abhängigkeit zu verwenden. Das iMate kann unterdrückt werden.

    Die Objekte können sich im gleichen Bauteil, der gleichen Baugruppe oder in anderen Komponenten einer Baugruppe befinden.

    Sie können auch den Abstand zwischen zwei Komponenten in einer Baugruppe messen, indem Sie nach dem nächsten Punkt auf jeder Komponente suchen und den Abstand zwischen diesen festhalten.

    Geben Sie vor einer Messfunktion innerhalb einer Regel die Funktionen RuleParametersOutput und InventorVb.DocumentUpdate() (in dieser Reihenfolge) ein. Durch die Verwendung dieser Funktionen wird sichergestellt, dass bei der Messfunktion die aktualisierte Version des Inventor-Modells untersucht wird.

    Measure.MinimumDistance

    Misst den Mindestabstand zwischen zwei Punkten, Ebenen oder Achsen. Mit dieser Funktion kann auch der Abstand zwischen einer Ebene und einem Punkt, einer Ebene und einer Achse oder einem Punkt und einer Achse gemessen werden.

    Syntax

    Measure.MinimumDistance("entityName1","entityName2")

    Beispiele

    So messen Sie den Abstand zwischen zwei Punkten

    distance = Measure.MinimumDistance("Work Point1", "Work Point2")

    (1) Arbeitspunkt1 (2) Arbeitspunkt2

    So messen Sie den Abstand zwischen einem Punkt und einer Achse

    distance = Measure.MinimumDistance(“Work Point1”, “Work Axis1”)

    (1) Arbeitspunkt1 (2) Arbeitsachse1

    So messen Sie den Abstand zwischen zwei Achsen

    distance = Measure.MinimumDistance("Work Axis1", "Work Axis2")

    (1) Arbeitsachse1 (2) Arbeitsachse2

    So messen Sie den Abstand zwischen zwei Ebenen

    distance = Measure.MinimumDistance(“Work Plane1”, “Work Plane2”)

    (1) Arbeitsebene1 (2) Arbeitsebene2

    Measure.MinimumDistance("componentName1", "entityName1", "componentName2", "entityName2")

    Misst den Abstand zwischen Objekten in zwei Komponenten einer Baugruppe. Diese Objekte können Punkte, Ebenen oder Achsen sein.

    Im folgenden Beispiel wird das Vorgehen zur Abstandsmessung zwischen Arbeitsebenen in zwei Komponenten einer Baugruppe dargestellt:

    distance = Measure.MinimumDistance(“Wheel1”, “Workplane1”, “Wheel2”, Workplane2”)

    (1) Rad1 Arbeitsebene1 (2) Rad2 Arbeitsebene2

    Measure.MinimumDistance("componentName1", "componentName2")

    Misst den Mindestabstand zwischen zwei Komponenten in einer Baugruppe. Hierbei werden die Komponenten als Ganzes betrachtet, um den nächsten Punkt auf den Komponenten zu suchen:

    distance = Measure.MinimumDistance("partA:1", "partB:1")
    distance = Measure.MinimumDistance("Wheel1", "Wheel2")

    (1) Rad1 (2) Rad2

    Gehen Sie bei Messungen mit nicht parallelen Achsen mit besonderer Sorgfalt vor!

    Ihre Baugruppe besteht beispielsweise aus zwei Blöcken. Der Winkel zwischen den Flächen der Blöcke beträgt 60 Grad. Jeder Block verfügt über eine Bohrung auf der dem anderen Block zugewandten Seite. Die Achsen der beiden Bohrungen sind nicht parallele koplanare Linien, die sich überschneiden. Schreiben Sie die Funktion wie folgt:

    distance = Measure.MinimumDistance("Block1","Axis1","Block2","Axis1")

    Sie können die Messung unter der Annahme vornehmen, dass die Linien unendlich lang sind. Das Ergebnis der Abstandsmessung wäre Null. Wenn jedoch die Funktion Measure.MinimumDistance verwendet wird, wird der Abstand zwischen den nächstgelegenen Endpunkt der zwei Markierungen gemessen, die die Position der Achsen darstellen. Die Messung wird auf den begrenzten Linien durchgeführt. Der ausgegebene Wert beträgt 1,36 Zoll.

    (1) Achse1 (2) Block1 (3) Achse2 (4) Block2

    Verlängern Sie zum Erzeugen eines anderen Ergebnisses manuell die Linien, die die Achsen der Bohrungen darstellen. Die Funktion Measure.MinimumDistance gibt nun einen Wert von 0 Zoll aus, wie bei sich überschneidenden Linien zu erwarten war.

    (1) Block1 (2) Achse1 (3) Achse2 (4) Block2

    Measure.Angle

    Misst basierend auf drei definierten Punkten den Winkel zwischen zwei Objekten.

    Winkel = Measure.Angle("entityName1", "entityName2")

    Misst den Winkel zwischen zwei Objekten in einem Bauteil oder einer Baugruppe. Damit können Sie den Winkel zwischen zwei Achsen, zwei Ebenen oder einer Achse und einer Ebene messen. Die Objekte können Arbeitselemente oder iMates sein.

    Winkel = Measure.Angle("componentName1", "entityName1", "componentName2", "entityName2")

    Misst den Winkel zwischen zwei Objekten in zwei Komponenten auf Baugruppenebene. Damit können Sie den Winkel zwischen zwei Achsen, zwei Ebenen oder einer Achse und einer Ebene messen.

    Winkel = Measure.Angle("point1", "point2", "point3")

    Misst den Winkel, der durch drei Punkte definiert ist. Dieser Wert entspricht dem Winkel zwischen zwei Linien:

    • Linie 1 liegt zwischen "point1" und "point2".
    • Linie 2 liegt zwischen "point2" und "point3".

    In diesem Fall stellt "point2" den Scheitelpunkt des Winkels dar. Beispiel:

    angle = Measure.Angle("Work Point1", "Work Point2", "Work Point3")

    (1) Arbeitspunkt1 (2) Arbeitspunkt2 (Scheitelpunkt) (3) Arbeitspunkt3

    angle = Measure.Angle("componentName1", "point1", "componentName2", "point2", "componentName3", "point3")

    Misst den Winkel, der durch drei Punkte definiert ist. "point2" definiert den Scheitelpunkt des Winkels. Jeder Punkt kann sich auf einer anderen Komponente befinden.

    (1) Arbeitspunkt1 Komponente1 (2) Arbeitspunkt2 Komponente 2 (Scheitelpunkt des Winkels) (3) Arbeitspunkt3 Komponente3 (4) 74,02 Grad

    Measure.Area

    Misst die Fläche einer Skizze. Mit dieser Funktion wird die Summe der Flächen gemessen, die innerhalb der geschlossenen Profile einer Skizze liegen.

    Syntax

    Measure.Area(“SketchName”)

    Beispiele

    Bei einem einzelnen, geschlossenen Profil wird mit der Funktion die durch das Profil eingeschlossene Fläche berechnet:

    Fläche: 3,14 = sq in

    Wenn die Skizze mehrere geschlossene Profile enthält, wird mit der Funktion die Summe der durch die Profile eingeschlossenen Flächen berechnet:

    Fläche: 6,28 = sq in

    Wenn sich die geschlossenen Profile überschneiden, wird mit der Funktion die Summe der eingeschlossenen Flächen berechnet, unabhängig davon, ob die Flächen überlappen:

    Fläche: 6,28 = sq in

    Wenn die Skizze mehrere Profile enthält, wobei eines der Profile vollständig innerhalb eines anderen Profils liegt, wird mit der Funktion Measure.Area die Differenz zwischen den beiden Flächen ausgegeben:

    Fläche: 1,37 = sq in

    Measure.Perimeter

    Measure.Perimeter(“SketchName”)

    Misst die Summe des Umfangs der geschlossene Profile in einer Skizze. Bei einer Skizze mit einem einzelnen geschlossenen Profil wird mit dieser Funktion die Größe des Profilumfangs berechnet.

    Syntax

    size = Measure.Perimeter("Sketch1")

    Beispiele

    Bei einer Skizze mit einem einzelnen geschlossenen Profil wird mit dieser Funktion die Größe des Profilumfangs berechnet.

    Umfang: 6 Zoll

    Bei einer Skizze mit mehreren sich nicht überschneidender geschlossener Profile wird mit dieser Funktion die Summe der Umfanglängen aller Profile berechnet:

    Umfang: 9 Zoll

    Bei einer Skizze mit mehreren sich überschneidender geschlossener Profile wird mit dieser Funktion die Summe der Umfanglängen aller Profile berechnet:

    Umfang: 12 Zoll

    Measure.Extents

    Misst die X-, Y- oder Z-Bemaßungsgrenzen eines Bauteils oder einer Baugruppe. Die Grenzen kann größer sein als die entsprechenden genauen Bemaßungen des Modells auf der jeweiligen Achse (v. a. bei gebogenen Formen).

    AnmerkungMit diesen Funktionen werden nur die Grenzen der sichtbaren Objekte einschließlich der Ebenen, Arbeitspunkte, Flächen und Volumenkörper gemessen. Verdeckte Objekte werden nicht gemessen.

    Syntax

    Measure.ExtentsLength

    Misst die X-Grenze (entlang der roten Achse) des Modells.

    Measure.ExtentsWidth

    Misst die Y-Grenze (entlang der grünen Achse) des Modells.

    Measure.ExtentsHeight

    Misst die Z-Grenze (entlang der blauen Achse) des Modells.

    Arbeitselementfunktionen

    Verwenden Sie Arbeitselementfunktionen zum Ändern vorhandener Arbeitselemente.

    Erweitern Sie zum Öffnen der Arbeitselementfunktionen im Bereich Snippets auf Registerkarte System den Knoten Arbeitselemente.

    WorkPlane.FlipNormal

    Kehrt unter bestimmten Bedingungen den lotrechten Vektor einer Arbeitsebene um. Dabei wird die Arbeitsebene gespiegelt. Die Skizze, die auf dieser Ebene basiert, wird ebenfalls umgekehrt. Mit dieser Funktion kann ein Element für Linkshänder in ein Element für Rechtshänder umgekehrt werden. Diese Funktion ist besonders für die Extrusion einer Mittelebene nützlich. Die Normale wird allerdings nur dann umgekehrt, wenn dadurch sichergestellt wird, dass die Normale in die gewünschte Richtung gerichtet ist. Die Normale wird nur dann unter Verwendung dieser Funktion umgekehrt, wenn sie nicht mit der angegebenen Achse übereinstimmt.

    Syntax

    WorkPlane.FlipNormal(“workPlaneName”, “axisWanted”)

    “workPlaneName”

    Der Name der zu spiegelnden Arbeitsebene

    “axisWanted”

    Der Name der Achse eines Bauteils, der optional mit einem negativen Vorzeichen (-) zum Anzeigen der Richtung angegeben wird. Mit dieser Konvention wird die ungefähre Richtung der Ebenennormale angegeben, die in der Funktion verwendet wird. Wenn die Ebene nicht genau auf eine Achse im Modell ausgerichtet ist, verwenden Sie die zur gewünschten Ebenennormale nächstliegende Achse. Ausrichtungen unter 60 Grad sind akzeptabel.

    Beispiele

    WorkPlane.FlipNormal("Work Plane1", "X")
    WorkPlane.FlipNormal("Work Plane1", "-X")
    WorkPlane.FlipNormal("Work Plane1", "Y")
    WorkPlane.FlipNormal("Work Plane1", "-Y")
    WorkPlane.FlipNormal("Work Plane1", "Z")
    WorkPlane.FlipNormal("Work Plane1", "-Z")

    Sketch.Redefine

    Definiert eine Skizze anhand anderer Eingabewerte neu. Diese Funktion ist am besten für die Verwendung in Verbindung mit unabhängigen Skizzen geeignet, die keine projizierte Geometrie enthalten. Beschränken Sie die gesamte Skizziergeometrie auf den Ursprung oder auf eine der Skizzenachsen unter Verwendung zufällig erzeugter oder fester Abhängigkeiten oder Bemaßungen.

    Für diese Funktion ist die Eingabe von Namen erforderlich. Definieren Sie daher die Skizze mithilfe benannter Objekte:

    • Arbeitselemente
    • Standardmäßige Ebenen oder Achsen
    • Flächen, Kanten oder mit iMates verbundene Scheitelpunkte

    Syntax

    Sketch.Redefine(sketchName, planeName, originName, axisName, AxisIsX := True, NaturalAxisDirection := True )

    sketchName

    Name der Skizze

    planeName

    Name des Objekts, die als Skizzenebene verwendet werden soll

    originName

    Name des Objekts, das als Ursprungspunkt der Skizze verwendet werden soll

    axisName

    Name des Objekts, das als Skizzierachse (X- oder Y-Achse) verwendet werden soll

    AxisIsX

    Der Standardwert True zeigt an, dass die durch axisName angegebene Skizzenachse, die X-Achse (horizontal) ist. False zeigt an, dass die Y-Achse (vertikal) die Skizzenachse ist.

    NaturalAxisDirection

    Der Standardwert True indicates zeigt an, dass die Skizzenachse in die gleiche Richtung wie das Objekt unter axisName ausgerichtet ist. False weist darauf hin, dass die Skizzenachse in die entgegengesetzte Richtung ausgerichtet ist.

    Meldungsfeldfunktionen

    Verwenden Sie Meldungsfeldfunktionen zum Erstellen von Meldungs- und Eingabefeldern in einer Regel.

    MessageBox.Show und InputBox zählen zu den Standardfunktionen von VB.NET. Weitere Informationen finden Sie in der VB.NET-Dokumentation.

    Bei MessageBox.Show handelt es sich um eine VB.NET-Version der MsgBox-Funktion in VB6 und VBA. MsgBox können Sie weiterhin in iLogic-Regeln verwenden.

    InputListBox und InputRadioBox sind iLogic-Funktionen.

    Erweitern Sie zum Öffnen der Meldungsfeldfunktionen im Bereich Snippets auf Registerkarte System den Knoten für das Meldungsfeld.

    Der Meldungsfeld-Assistent lässt sich über das Dialogfeld Regel hinzufügen aufrufen, der zur Erstellung eines Meldungsfeldcodes verwendet werden kann.

    MessageBox.Show

    Fungiert in iLogic als Basis für die Meldungsfeldfunktionen. Verwenden Sie diese Funktion, um ein Meldungsfeld anzuzeigen.

    Syntax

    MessageBox.Show("Message", "Title")

    “Message”

    Text im Meldungsfeld

    “Title”

    Text in der Titelleiste des Meldungsfelds

    MessageBoxButtons

    Sie können die Schaltflächen in einem Meldungsfeld mithilfe der MessageBoxButtons-Parameter festlegen, um die entsprechenden Werte in der Funktion MessageBox.Show zu bestimmen.

    Beispiel:

    MessageBox.Show("Message",'"Title", MessageBoxButtons.OK)

    Mit dieser Option wird ein einfaches Meldungsfeld mit der SchaltflächeOK erzeugt:

    Weitere Optionen:

    MessageBox.Show("Message",'"Title", MessageBoxButtons.OKCancel)
    MessageBox.Show("Message",'"Title", MessageBoxButtons.RetryCancel)
    MessageBox.Show("Message",'"Title", MessageBoxButtons.YesNo)
    MessageBox.Show("Message",'"Title", MessageBoxButtons.YesNoCancel)
    MessageBox.Show("Message",'"Title", MessageBoxButtons.AbortRetryIgnore)

    MessageBoxIcon

    Fügen Sie ein Symbol in ein Meldungsfeld ein, indem Sie den Parameter MessageBoxIcon in die Funktion MessageBox.Show aufnehmen.

    Beispiel:

    MessageBox.Show("Message",'"Title", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Error)

    Mit dieser Option wird in das Meldungsfeld ein Fehlersymbol eingefügt:

    Weitere Optionen:

    MessageBox.Show("Message",'"Title", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Exclamation)
    MessageBox.Show("Message",'"Title", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information)
    MessageBox.Show("Message",'"Title", MessageBoxButtons.YesNoCancel, MessageBoxIcon.None)
    MessageBox.Show("Message",'"Title", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question)
    MessageBox.Show("Message",'"Title", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Stop)
    MessageBox.Show("Message",'"Title", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning)

    DefaultButton

    Sie können die Meldungsfeldschaltfläche festlegen, wenn Sie das Meldungsfeld zum ersten Mal anzeigen. Geben Sie zum Festlegen der Schaltfläche den Parameter MessageBoxDefaultButton in der Funktion MessageBox.Show an. Wählen Sie im Meldungsfeld je nach MessageBoxButtons-Wert eine der drei möglichen Schaltflächen.

    Beispiel:

    MessageBox.Show("Message",'"Title", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2)

    Mit dieser Option wird festgelegt, dass standardmäßig die zweite Schaltfläche (Nein) ausgewählt wird:

    Weitere Optionen:

    MessageBox.Show("Message",'"Title", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1)
    MessageBox.Show("Message",'"Title", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button3)

    InputBox

    Erstellt ein Meldungsfeld mit den Optionen zur Eingabeaufforderung und zur Annahme der Eingabe.

    Syntax

    myparam = InputBox("Prompt", "Title", "Default Entry")

    "Prompt"

    Im Feld angezeigte Meldung

    "Title"

    In der Titelleiste des Felds angezeigter Text

    "Default Entry"

    Im Eingabefeld des Felds angezeigter Text

    Beispiel

    InputListBox

    Zeigt ein Meldungsfeld mit einer Liste verfügbarer Werte an. Wenn Sie einen Wert aus der Liste auswählen, gibt die Funktion diesen Wert aus.

    Syntax

    d0 = InputListBox("Prompt",MultiValue.List("listName"), defaultEntry, Title := "Dialog Title", ListPrompt := "List Prompt")

    "Prompt"

    Über der Schaltfläche OK angezeigte Meldung

    MultiValue.List("listName")

    Name der zu verwendenden Multivalue-Liste

    defaultEntry

    Anfänglich ausgewählter Wert im Listenfeld

    Title

    In der Titelleiste angezeigter Text

    ListPrompt

    Message

    Über der Liste angezeigte Text

    Rückgabewerte

    d0

    Wert aus der ausgewählten Liste

    Beispiel

    material = InputListBox("Choose Part material", MultiValue.List("material"),  _
    material, Title := "Part material", ListName := "Available Standard materials")

    InputRadioBox

    Zeigt ein Meldungsfeld an, in dem zur Auswahl einer der zwei verfügbaren Optionen aufgefordert wird.

    Syntax

    booleanResult= InputRadioBox("Prompt", "Button1 Label", "Button2 Label", booleanParam, Title :="Title")

    "Prompt"

    Im Feld angezeigte Meldung

    "Button1 Label"

    Text der ersten angezeigten Option

    "Button2 Label"

    Text der zweiten angezeigten Option

    booleanParam

    Wählen Sie True, um die erste Option auszuwählen, oder False, um die zweite Option auszuwählen.

    Title

    In der Titelleiste des Felds angezeigter Text

    Rückgabewerte

    booleanResult

    True, wenn die erste Option ausgewählt wird, und False, wenn die zweite Option ausgewählt wird.

    Beispiel

    booleanParam= InputRadioBox("Choose an Edge Treatment option", "Chamfer", "Fillet", true, Title :="Edge
    Treatment")

    Dokumentfunktionen

    Verwenden Sie Dokumentfunktionen zum Zugriff auf ein Inventor-Bauteil-, Baugruppen- oder Zeichnungsdokument. Mithilfe von Dokumentfunktionen können Sie Aufgaben wie z. B. das Abrufen eines Dateinamens und Aktualisieren des Modells ausführen.

    ThisDoc ist in Dokumentfunktionen das Autodesk Inventor-Dokument, in das eine Regel geschrieben wird. Meistens ist es das aktive Dokument. Es kann sich aber auch auf ein Bauteil in einer Baugruppe beziehen. Über ThisDoc erhalten Sie unabhängig vom Speicherort der Regel Zugriff auf das Dokument.

    Erweitern Sie zum Öffnen der Dokumentfunktionen im Bereich Snippets auf Registerkarte System den Knoten Dokument.

    Path

    Gibt den Dokumentpfad (Ordner) als Zeichenfolge aus.

    Syntax

    ThisDoc.Path

    FileName

    Gibt den Dateinamen des Dokuments an.

    Syntax

    ThisDoc.FileName(False)

    Die Dateierweiterung wird beim Argument False nicht berücksichtigt. Wählen Sie das Argument True, wenn die Dateierweiterung berücksichtigt werden soll.

    PathAndFileName

    Gibt den Pfad und den Dateinamen des Dokuments aus.

    Syntax

    ThisDoc.PathAndFileName(False)

    Die Dateierweiterung wird beim Argument False nicht berücksichtigt. Wählen Sie True in Klammern, wenn die Dateierweiterung berücksichtigt werden soll.

    ChangeExtension

    Erstellt einen Dateinamen aus dem Dateinamen des Dokuments und einer geänderten Erweiterung.

    Syntax

    changedName = ThisDoc.ChangeExtension(“.new”)

    WorkspacePath

    Gibt den Pfad (Ordner) des aktiven Autodesk Inventor-Projektarbeitsbereichs aus. Wenn kein Arbeitsbereich definiert ist, gibt diese Funktion eine leere Zeichenfolge aus (eine Zeichenfolge ohne Zeichen und der Länge = Null).

    Syntax

    ThisDoc.WorkspacePath()

    Launch

    Öffnet anhand des angegebenen Pfads und Dateinamens (einschließlich der Dateierweiterung) eine Datei. Wenn Sie eine Datendatei angeben, wird sie in der entsprechenden Anwendung geöffnet. Wenn Sie eine ausführbare Datei (EXE) angeben, wird das Programm ausgeführt. Wenn Sie keinen vollständigen Pfad angeben, wird nach der Datei im selben Ordner gesucht, in dem sich das Inventor-Dokument befindet. Sie können auch einen relativen Namen und Pfad des Dokuments angeben.

    Syntax

    ThisDoc.Launch(“path\file.ext”)

    Save

    Speichert das aktuell aktive Dokument. Diese Funktion kann nicht in einer Regel verwendet werden, die durch Änderung eines Parameters ausgelöst wird.

    Syntax

    ThisDoc.Save

    UpdateWhenDone

    Aktualisiert das Dokument, in dem sich die Regel befindet, nachdem die Regel (und alle durch sie ausgelösten Regeln) ausgeführt wurde. Diese Aktualisierung kann auch durch Klicken auf die Schaltfläche Aktualisieren auf der Benutzeroberfläche durchgeführt werden.

    Syntax

    iLogicVb.UpdateWhenDone = True

    RuleParametersOutput

    Wenn durch die Regel Parameterwerte geändert wurden, werden durch diese Funktion neue Regelwerte für das Inventor-Modell verwendet. Wenn diese Funktion nicht verwendet wird, werden die Werte erst angewendet, nachdem die Regel ausgeführt wurde. Verwenden Sie diese Funktion, wenn Sie eine Aktualisierung mithilfe von DocumentUpdate ausführen müssen. Diese Funktion muss auch dann verwendet werden, wenn Sie die Funktion iLogicVb.RunRule verwenden. Auf diese Weise können die neuen Parameterwerte durch die andere Regel abgerufen werden.

    Syntax

    RuleParametersOutput()

    DocumentUpdate

    Führt eine sofortige Aktualisierung im aktuellen Dokument (das Dokument, in dem sich die Regel befindet) aus, und aktualisiert die Anzeige. Verwenden Sie diese Funktion, wenn die Geometrie neu erstellt werden soll (z. B., wenn Sie die Masse mithilfe von iProperties.Mass berechnen). Wenn die Regel andere Regeln auslöst (durch Ändern der Parameter), aktivieren Sie im Dialogfeld Regel bearbeiten die Option Abhängige Regeln sofort auslösen für diese Regel. Durch diese Option wird sichergestellt, dass die anderen Regeln ausgeführt werden, bevor Sie die Aktualisierung durchführen.

    Syntax

    InventorVb.DocumentUpdate()

    DocumentUpdate(False)

    Führt eine sofortige Aktualisierung im aktuellen Dokument (das Dokument, in dem sich die Regel befindet) aus, ohne die Dokumentanzeige zu aktualisieren. Die Funktion InventorVb.DocumentUpdate aktualisiert die Anzeige als auch das Modell. Wenn die Anzeige nicht aktualisiert werden soll, verwenden Sie diese Funktion.

    Syntax

    InventorVb.DocumentUpdate(False)

    Nur Anzeige aktualisieren

    Diese Inventor-API-Funktion aktualisiert nur die Anzeige, nicht das Modell.

    Syntax

    ThisApplication.ActiveView.Update()

    CheckParameters

    Überprüft Parameterwerte, ohne einen Wert zu ändern.

    Verwenden Sie diese Funktion in beispielsweise folgenden Situationen:

    Ihre Parameter sind mit einem Basisbauteil verknüpft, wo sie mit einer externen Tabelle verknüpft sind. Sie haben die Möglichkeit, die Parameterwerte in der Tabelle zu ändern und zu speichern, ohne dass diese Änderungen im Hauptbauteil angezeigt werden. Verwenden Sie diese Funktion in einer Regel innerhalb des Hauptbauteils, bevor Sie GoExcel verwenden, um die Werte in der Tabelle zu ändern. Durch diese Funktion wird sichergestellt, dass das Basisteil geladen wird (im Hintergrund) und das Änderungen auf das Hauptbauteil in der Baugruppe übertragen werden.

    Syntax

    InventorVb.CheckParameters(“”)

    File Save As

    Speichert das Dokument unter einem neuen Dateinamen und optional mit einer neuen Erweiterung.

    Syntax

    ThisDoc.Document.SaveAs(NewFileNameAndExtension , True)

    True

    Setzen Sie den Wert auf True, um den Vorgang Kopie speichern unter auszuführen. Legen Sie den Wert auf False fest, um den Vorgang Speichern unter durchzuführen.

    Funktionen unter Weitere ausführen

    In iLogic sind verschiedene Variationen einer Funktion möglich, die zur Ausführung anderer Funktionen verwendet werden können. Normalerweise wird eine Regel ausgelöst, indem ein Parameter in der Regel geändert wird. Diese Funktion ist für Regeln ohne Parameter oder Regeln mit der aktivierten Option Nicht automatisch ausführen geeignet.

    Erweitern Sie zum Öffnen dieser Funktionen im Bereich Snippets auf Registerkarte System den Knoten Weitere ausführen.

    RunRule

    Führt eine andere Regel aus, indem der Name der Regel angegeben wird. Verwenden Sie diese Funktion für Regeln wie Berichts-Generatoren, die sich nicht auf das Modell auswirken, aber auf viele Parameter beziehen können. Mit dieser Funktion lässt sich eine beliebige Regel ausführen.

    Syntax

    iLogicVb.RunRule(“ruleName”)

    Beispiel

    iLogicVb.RunRule(“Rule0”)

    RunRule in Komponente

    Führt eine weitere Regel in einer Komponente einer Baugruppe aus.

    Syntax

    iLogicVb.RunRule(“componentName”, “ruleName”)

    Beispiel

    iLogicVb.RunRule("PartA:1", "Rule0")

    Weitere Informationen zu den Funktionen im Bereich Snippets in der Kategorie Weitere ausführen finden Sie im Abschnitt zu erweiterten API-Funktionen und erweiterten Regelprogrammierung.

    RunExternalRule

    Führt eine externe Regel mithilfe einer Standardregel in einem Autodesk Inventor-Dokument durch.

    Syntax

    iLogicVb.RunExternalRule("ruleFileName")

    "ruleFileName"

    Legt den Namen der Regeldatei mit oder ohne Dateierweiterung fest. Sie können hier auch einen Dateipfad angeben. Dadurch kann jedoch die Übertragbarkeit der Datei beeinträchtigt werden. iLogic sucht die Datei in den folgenden Ordnern in der angegebenen Reihenfolge:

    • Ordner, in dem das aktuelle Inventor-Dokument gespeichert ist (Modelle können mit den dazugehörigen Regeln kopiert werden.)
    • Aktueller Inventor-Projektarbeitsbereichsordner
    • Die in der iLogic-Konfiguration festgelegte Ordnerliste (in der Regel für Arbeitsgruppenregeln oder Unternehmensregeln)

    Regeldateinamen können relative Namen von Pfaden sein, die

    Externe Regeln, die über eine andere Regel ausgeführt werden, müssen nicht im Regel-Browser angezeigt werden. Wenn Sie die Regel bearbeiten möchten, müssen Sie die Regel jedoch dem Regel-Browser hinzufügen.

    Beispiel

    iLogicVb.RunExternalRule("color_by_vendor")

    RunMacro

    Führt ein Makro von Inventor Visual Basic for Applications (VBA) aus. Makros können im Dokument oder in separaten IVB-Dateien gespeichert werden. Drücken Sie Alt + F11, um den Microsoft VBA-Editor zu öffnen, die verfügbaren Makros anzuzeigen und die gewünschten Makros zu laden oder zu bearbeiten. Wenn für das Makro Argumente erforderlich sind, fügen Sie sie nach dem Makronamen hinzu.

    Sie können eine VBA-Funktion abrufen, allerdings wird dabei kein Rückgabewert ausgegeben.

    AnmerkungVBA soll später VSTA ersetzen. Sie sollten keine neuen VBA-Makros erstellen. Verwenden Sie RunMacro, wenn Sie über bereits vorhandene VBA-Makros verfügen.

    Syntax

    InventorVb.RunMacro(“projectName”, “moduleName”, “macroName”)

    Beispiele

    InventorVb.RunMacro ("DocumentProject", "Module1", "DrawCustomLines" )
    InventorVb.RunMacro ("ThreadMacros", "Module1", "ThreadsInit" )
    InventorVb.RunMacro ("ThreadMacros", "Module1", "AddThreads", "3/8-16 UNC")

    AddReference

    Für die Nutzung externer .NET-Codes erforderlich (siehe Abschnitt zu erweiterter Regelprogrammierung)

    Syntax

    AddReference “fileName.dll”

    Stücklistenfunktionen

    Verwenden Sie Stücklistenlistenfunktionen, um Operationen mit Auswirkungen auf die Stückliste einer Baugruppe auszuführen.

    Sie können die berechnete Komponentenmenge überschreiben, die in der Stückliste angezeigt wird. Sie können auch Stücklistendaten in Excel und in anderen Formaten exportieren.

    Erweitern Sie zum Öffnen der Stücklistenfunktionen im Bereich Snippets auf Registerkarte System den Knoten Stückliste.

    Export

    Exportieren Sie die Stückliste in eine externe Datei.

    AnmerkungDiese Funktion ist nur für die Hauptdarstellung der Detailgenauigkeit in einer Baugruppe verfügbar.

    Syntax

    ThisBOM.Export(“BOMViewName”, filename, format)

    “BOMViewName”

    Der auf einer Registerkarte im Inventor-Dialogfeld Stückliste angezeigte Name. Dieser Wert kann den Wert Model Data, Structured oder Parts Only annehmen. Aktivieren Sie die Ansicht, die Sie verwenden möchten, bevor Sie die Regel das erste Mal ausführen (mit der rechten Maustaste auf die Registerkarte in der Stücklistentabelle klicken).

    filename

    Der Name der zu erstellenden Exportdatei (ohne Dateinamenerweiterung). Wenn Sie keinen vollständigen Pfad angeben, wird die Stückliste in den Ordner exportiert, in dem die Baugruppe gespeichert ist. Beim Export einer Excel-Datei müssen Sie die Dateinamenerweiterung .xls wählen (.xlsx wird nicht unterstützt).

    format

    Folgende Möglichkeiten sind verfügbar:

    • kMicrosoftAccessFormat = Microsoft Access
    • kMicrosoftExcelFormat = Microsoft Excel
    • kdBASEIVFormat = dBASE IV
    • kdBASEIIIFormat = dBASE III
    • kTextFileTabDelimitedFormat = Text File Tab Delimited
    • kTextFileCommaDelimitedFormat = Text File Comma Delimited
    • kUnicodeTextFileTabDelimitedFormat = Unicode Text File Tab Delimited
    • kUnicodeTextFileCommaDelimitedFormat = Unicode Text File Comma Delimited

    Beispiele

    ThisBOM.Export("Parts Only", "Bom353.xls",  kMicrosoftExcelFormat)
    ThisBOM.Export("Structured", "Bom631.xls",  kTextFileTabDelimitedFormat)
    ThisBOM.Export("Structured", ThisDoc.ChangeExtension(".mdb"),  kMicrosoftAccessFormat)

    OverrideQuantity

    Überschreibt die Anzahl einer Komponente. Diese Funktion kann dazu verwendet werden, um nur einige Exemplare in einem Modell anzuzeigen. Die tatsächliche Komponentenanzahl wird in der Stückliste aufgeführt. Alternativ können Sie das Dialogfeld Stückliste öffnen und in der Spalte Anzahl einer Komponente anstelle der Option Menge berechnen die Option Statische Menge wählen.

    Syntax

    ThisBOM.OverrideQuantity(“Model Data”, partNumber, quantity)

    Das erste Argument enthält den Namen der Stücklistenansicht und muss immer "Model Data" lauten.

    partNumber

    Das stellt die Eigenschaft Bauteilnummer der Komponente dar. Dieser Wert wird als Spalte in einer Stücklistenansicht angezeigt.

    quantity

    Die für diese Komponente festzulegende Menge

    Beispiel

    ThisBOM.OverrideQuantity("Model Data", "Top Screw", 18)

    CalculateQuantity

    Setzt die Stücklistenmenge auf die automatisch berechnete Menge zurück.

    Syntax

    quantity = ThisBOM.CalculateQuantity(“Model Data”, “partNumber”)

    Beispiel

    quantity = ThisBOM.CalculateQuantity("Model Data", "Top Screws")

    Mathematikfunktionen

    iLogic bietet eine Reihe an mathematischen Funktionen, die Regeln hinzugefügt werden können. Wählen Sie im iLogic-Dialogfeld Regel bearbeiten eine der folgenden Methoden, um auf die Mathematikfunktionen zuzugreifen:

    • Erweitern Sie im Bereich Snippets auf Registerkarte System den Knoten Mathematikoperatoren.
    • Klicken Sie mit der rechten Maustaste in den Regeltextbereich, und wählen Sie Mathematikfunktionen.

    Standard-Mathematikfunktionen

    In der Standard-Mathematikbibliothek in VB.NET sind die meisten Mathematikfunktionen enthalten, die in iLogic verwendet werden:

    IsNumeric PI
    MinOfMany Wurzel
    MaxOfMany Abs
    Rundung Vorzeichen
    Dezimalstellen für Rundung Int
    Bis zum nächsten Inkrement runden Fest
    Bis zu Inkrement aufrunden Log10
    Bis zu Inkrement abrunden Ln
    Obergrenze Potenz
    Untergrenze Min.
    Sin Max.
    Cos CDbl
    Tan EqualWithinTolerance

    iLogic-Mathematikfunktionen

    iLogic bietet einige Mathematikfunktionen. Die folgenden Funktionen emulieren die in den Standard-Parametergleichungen in Inventor verfügbaren Funktionen:

    Ceil (same as Math.Ceiling)
    Sign0(a) = 1 if a > 0.0, = 0 otherwise
    Ln (same as Math.Log)

    Da sich bestimmte Autodesk Inventor-Funktionen von den gleichnamigen Standard-Mathematikfunktionen in VB.NET unterscheiden, werden sie beim Erfassen zur Verwendung in einer iLogic-Regel konvertiert:

    • Aus Funktion sign wird bei der Verwendung in einer Regel Funktion sign0.
    • Aus Funktion log wird bei der Verwendung in einer Regel Funktion log10.

    Trigonometriefunktionen

    Sin(0) = 0 Cos(PI) = -1
    Sin(PI) = 0 Tan(0) = 0
    Sin(PI/2) = 1 Tan(PI/4) = 1
    Cos(0) = 1 PI = 3.1415926......
    Cos(PI/2) = 0  

    Sin(), Cos() und Tan() sind standardmäßige Trigonometriefunktionen. Die Argumente werden im Bogenmaß (nicht in Grad) angegeben:

    Wenn Sie die Option Aktuellen Status erfassen im Dialogfeld Regel bearbeiten in einer trigonometrischen Formel verwenden, wird sie nicht in den VB.NET-Code konvertiert. Die Formel wird stattdessen als Inventor-Formel beibehalten. Sie können die Formel manuell ändern, um sie in eine VB.NET-Formel umzuwandeln (Winkelangabe in Bogenmaßeinheit).

    Verwenden Sie zum Konvertieren von Grad in Bogenmaß die folgende Formel:

    Bogenmaß = Grad * (PI/180)

    Weitere Mathematikfunktionen

    Funktion Zielsetzung Beispiele
    Abs() Gibt den absoluten Wert des Arguments aus.

    Abs(10) = 10

    Abs(-9.87) = 9.87

    Sqrt() Gibt die Quadratwurzel des Arguments aus.

    Sqrt(25) = 5

    Sqrt(100) = 10

    Sqrt(3) = 1.732051

    Sign() Gibt eine Zahl aus, die das Vorzeichen des Arguments kennzeichnet.

    Wenn der Wert positiv ist, ist der ausgegebene Wert = 1

    Wenn der Wert negativ ist, ist der ausgegebene Wert = -1

    Wenn der Wert Null ist, ist der ausgegebene Wert = 0

    Round() Rundet das Argument auf eine ganze Zahl (Ganzzahl) oder auf eine bestimmte Dezimalstelle auf.

    Syntax: Round (Argument, optionale Angabe der gewünschten Dezimalstellenanzahl)

    Round(2.55689) = 3

    Round(2.55689, 1) = 2.6

    Round(2.55689, 3) = 2.557

    Round(PI, 4) = 3.1416

    Ceil() Rundet das Argument auf die nächsthöhere ganze Zahl auf.

    Ceil(2.56) = 3

    Ceil(Sqrt(3))= 2

    Floor() Rundet das Argument auf die nächstniedrigere ganze Zahl ab.

    Floor(1.789) = 1

    Floor(PI) = 3

    Log10() Gibt den Logarithmus des Arguments zur Basis 10 aus.

    Log10(10) = 1

    Log10(100) = 2

    Log10(15) = 1.176091

    Ln() Gibt den natürlichen Logarithmus des Arguments aus (Logarithmus zur Basis e).

    Ln(5) = 1.609438

    Ln(37) = 3.610918

    Pow(Argument1, Argument2) Gibt das Ergebnis nach Potenzieren von Argument1 mit Argument2 aus.

    Pow(2, 2) = 22 = 4

    Pow(2, 3) = 23 = 8

    Pow(3, 2) = 32 = 9

    Vergleichsfunktionen

    Funktion Zielsetzung Beispiele
    Min (Argument1, Argument2) Gibt bei zwei Argumenten das kleinere aus.

    Min(2, 4) = 2

    Min(9, 4) = 4

    Min(Sqrt(2), Sqrt(3)) = 1.4142.....

    Max (Argument1, Argument2) Gibt bei zwei Argumenten das größere aus.

    Max(2, 4) = 4

    Max(9, 4) = 9

    Sqrt(3)) = 1.73205.....

    MinOfMany( ,,, ) Gibt bei vielen Argumenten das kleinste aus.

    MinOfMany(2,4,3,6,7,8) = 2

    MinOfMany(9,4,5,67,3,5) = 3

    MinOfMany(Sqrt(2), Sqrt(3), Sin(PI/2)) = 1

    MaxOfMany( ,,, ) Gibt bei vielen Argumenten das größte aus.

    MaxOfMany(2,4,3,6,7,8) = 8

    MaxOfMany(9,4,5,67,3,5) = 67

    MaxOfMany(Sqrt(2), Sqrt(3), Sin(PI/ignored>/2)) = 1.73205.....

    EqualWithinTolerance (a, b, 0.001) Vergleicht die Werte zweier Parameter (dargestellt durch aund b), und vergleicht die Differenz mit dem Toleranzwert (in diesem Fall 0,001). Wenn die Differenz kleiner als der Toleranzwert ist, gibt die Funktion den Booleschen Wert True aus. Wenn die Differenz größer als der Toleranzwert ist, gibt die Funktion den Booleschen Wert False aus.

    If a = 10.00 and b=10.01

    EqualWithinTolerance(a, b, 0.015) = True[Abs(a-b) is less than the tolerance value of 0.015 in]

    EqualWithinTolerance(a, b, 0.001) = False[Abs(a-b) is greater than the tolerance value of 0.001]

    EqualWithinTolerance (a, b) Verwendet einen Standard-Toleranzwert von 0,0000001.  

    Zeichenfolgenfunktionen

    iLogic bietet eine Reihe von Zeichenfolgenfunktionen für Textparameter, die in iLogic-Regeln integriert werden können. Erweitern Sie zum Öffnen der Zeichenfolgenfunktionen im Bereich Snippets auf Registerkarte System den Knoten Zeichenfolgen.

    Standard-Zeichenfolgenfunktionen

    Die meisten Zeichenfolgenfunktionen, die in iLogic verwendet werden, sind als Teil der Standard-Zeichenfolgenbibliothek in VB.NET enthalten. Dazu gehören:

    Links() CStr()
    Vergleichen Now()
    Länge() DateString
    Rechts() TimeString
    Mitte() Val(string)
    LCase() Gesamten Text einlesen
    UCase()  

    Die Dokumentation zu diesen Funktionen steht unter folgender Adresse zur Verfügung: http://msdn.microsoft.com/en-us/library/system.string_methods(VS.80).aspx

    iLogic-Zeichenfolgenfunktionen

    Viele Zeichenfolgenfunktionen sind nur in iLogic verfügbar.

    Funktion Zielsetzung Beispiele
    CDblAny (Zeichenfolge) Konvertiert eine Textzeichenfolge in einen Double-Wert. Die Funktionsweise ist mit der Standard-CDbl.-Funktion in VB.NET vergleichbar: Dabei wird eine Textzeichenfolge unter Verwendung eines Kommas oder Punkts als Dezimaltrennzeichen, unabhängig von den Windows-Spracheinstellungen konvertiert. Dies schlägt fehl, wenn die Textzeichenfolge keine gültige Zahl darstellt.

    x = CDblAny(“3.14159”) returns 3.14159

    x = CDblAny(“3,14159”) returns 3.14159

    RoundToFraction(Wert, fractionFactor, RoundingMethod.Round)

    Formatiert einen numerischen Wert als Textzeichenfolge in Bruchform zur Darstellung in Zoll.

    Gibt einen Bruch (z. B. 1/2) oder eine Zahl und einen Bruch (z. B. 3 5/8) aus. Rundet den Wert auf ein Vielfaches des Bruchs auf.

    fractionFactor muss 1/4, 1/2, 1/8, 1/16, 1/32, 1/64 oder 1/128 sein.

    RoundingMethod.Round rundet auf das nächstliegende Vielfache des fractionFactor auf.

    RoundToFraction(0.7502, 1/4, RoundingMethod.Round)' returns "1/4"

    RoundToTraction (Wert, fractionFactor, RoundingMethod.RoundUp)

    Formatiert einen numerischen Wert als Textzeichenfolge in Bruchform zur Darstellung in Zoll.

    Gibt einen Bruch (z. B. 1/2) oder eine Zahl und einen Bruch (z. B. 3 5/8) aus. Rundet den Wert auf ein Vielfaches des Bruchs auf.

    fractionFactor muss 1/4, 1/2, 1/8, 1/16, 1/32, 1/64 oder 1/128 sein.

    RoundingMethod.RoundUp rundet auf das nächstliegende Vielfache von fractionFactor auf, der größer als oder gleich dem Wert ist.

    RoundToFraction(0.7502, 1/4, RoundingMethod.RoundUp)' returns "3/4"

    RoundToFraction(0.749, 1/4, RoundingMethod.RoundUp) ' returns "3/4"

    RoundToFraction(0.749, 1/8, RoundingMethod.RoundUp)' returns "3/4"

    RoundToFraction(0.7, 1/8, RoundingMethod.RoundUp) ' returns "3/4"

    RoundToFraction(0.6, 1/4, RoundingMethod.RoundUp)' returns "3/4"

    RoundToFraction(0.6, 1/8, RoundingMethod.RoundUp) ' returns "5/8"

    RoundToTraction (Wert, fractionFactor, RoundingMethod.RoundDown)

    Formatiert einen numerischen Wert als Textzeichenfolge in Bruchform zur Darstellung in Zoll.

    Gibt einen Bruch (z. B. 1/2) oder eine Zahl und einen Bruch (z. B. 3 5/8) aus. Rundet den Wert auf ein Vielfaches des Bruchs auf.

    fractionFactor muss 1/4, 1/2, 1/8, 1/16, 1/32, 1/64 oder 1/128 sein.

    RoundingMethod.RoundDown rundet auf das nächstliegende Vielfache von fractionFactor ab, der kleiner als oder gleich dem Wert ist.

    RoundToFraction(0.7502, 1/4, RoundingMethod.RoundDown) ' returns "3/4"

    RoundToFraction(0.749, 1/4, RoundingMethod.RoundDown) ' returns "1/2"

    FormatAsFraction (Wert, [Dezimalstellenanzahl])

    Formatiert einen numerischen Wert als Textzeichenfolge in Bruchform zur Darstellung in Zoll.

    Gibt einen Bruch (z. B. 1/2) oder eine Zahl und einen Bruch (z. B. 3 5/8) aus. Diese Ausgabe erfolgt nur dann, wenn der Wert durch eine ganze Zahl und einen Bruch ausgedrückt werden kann, deren Nenner eine Zweierpotenz ist (bis maximal 128 und einer Abweichung von höchstens 0,0000001). Andernfalls wird eine Dezimalzahl ausgegeben.

    Bei der Ausgabe einer Dezimalzahl kann durch das Argument für die Dezimalstellenanzahl das Runden der resultierenden Textzeichenfolge bestimmt werden. Dieses Argument ist optional und wird standardmäßig auf 3 festgelegt.

    FormatAsFraction(0.75) ' returns "3/4"

    FormatAsFraction(2.375)' returns "2 3/8"

    FormatAsFraction(2.4) ' returns "2.4"

    FormatAsFraction(2.00001) ' returns "2"

    AnmerkungSie können die Funktion CDblAny verwenden, um Textparameter in iLogic in Zahlen zu konvertieren.

    Variablenfunktionen

    Erweitern Sie zum Öffnen der Variablenfunktionen im Bereich Snippets auf Registerkarte System den Knoten Variablen.

    Gemeinsam genutzte Variablenfunktionen

    Gemeinsam genutzte iLogic-Variablen werden in Regeln verwendet und im Speicher abgelegt. Im Gegensatz zu Inventor-Parametern sind Sie mit keinem Bauteil oder Baugruppe verknüpft. Sie können gemeinsam genutzte Variablen anstelle von Inventor-Parametern verwenden, um Daten zwischen Regeln weiterzuleiten. Sie können sie auch dazu verwenden, Daten zu speichern, die nicht in Inventor-Parametern gespeichert werden können. Folgende Beispiele veranschaulichen die die Verwendung der Funktionen:

    Gruppe Zeichnen (“Gewinde1”) = “1/4-20 UNC”

    Weist einen Textwert einer gemeinsam genutzten Variable namens Thread1 zu. Falls die Variable noch nicht existiert, wird sie erstellt.

    s0 = Gruppe Zeichnen (“Gewinde1”)

    Weist den Wert einer gemeinsam genutzten Variable einem Textparameter zu. Der Variablentyp ist bekannt, da Sie ihn zuvor erstellt haben.

    Gruppe Zeichnen (“Abstand1”) = 7.2

    Weist eine Zahl einer gemeinsam genutzten Variable zu.

    d0 = Gruppe Zeichnen (“Abstand1”)

    Weist den Wert einer gemeinsam genutzten Variable einem numerischen Parameter zu.

    , wenn SharedVariable.Exists(“Gewinde1”) dann

    Überprüft, ob ein Parameter vorhanden ist. Wenn der Parameter in einer anderen Regel erstellt wurde, wird durch diese Funktion der Wert True ausgegeben.

    SharedVariable.Remove(“Gewinde1”)

    Entfernt (löscht) eine gemeinsam genutzte Variable. Diese Funktion wird empfohlen (ist allerdings nicht erforderlich), wenn Sie die Variable nicht mehr benötigen.

    SharedVariable.RemoveAll()

    Entfernt alle gemeinsam genutzten Variablen. Diese Funktion sollte mit Bedacht in einer Regel verwendet werden. Wenn nicht verbundene Bauteile und Baugruppen geöffnet sind, die gemeinsam genutzte Variablen verwenden, sollten Sie stattdessen den Befehl Freier iLogic-Speicher verwenden.

    Funktionen für neue Arrays

    Die Funktionen für neue Arrays sind Standardfunktionen in Visual Basic, die Sie dazu verwenden können, um verschiedene Arraytypen zu definieren und Anfangswerte festzulegen. Weitere Informationen zu diesen Funktionen finden Sie in der Visual Basic-Hilfe.

    Neues Array von Double-Werten

    Definiert ein neues Array von Double-Werten und legt die Anfangswerte fest.

    MyDoubleValues = new double(){1.2,2.2,3.3}

    Neues Ganzzahl-Array

    Definiert ein neues Ganzzahl-Array und legt die Anfangswerte fest.

    MyIntegerValues = new integer(){1,2,3}

    Neues Zeichenfolge-Array

    Definiert ein neues Zeichenfolge-Array und legt die Anfangswerte fest.

    MyStringValues = new string(){string1,string2}

    Neues Objekt-Array

    Definiert ein neues Objekt-Array und legt die Anfangswerte fest.

    MyObjectValues = new object(){“string”,true,1.234}

    Neue Array-Liste

    Definiert eine neue ArrayList-Typvariable, und fügt dieser Werte hinzu.

    Dim MyArrayList As New ArrayListMyArrayList.add(“string”)MyArrayList.add(1.234)MyArrayList.add(True)

    Für jede Schleife

    Setzt alle Werte für eine Array- oder ArrayList-Variable hintereinander ein.

    for each oval in MyVariableHeremsgbox(oval)next

    Materialeigenschaftsfunktionen

    Erweitern Sie zum Öffnen der Materialeigenschaftsfunktionen im Bereich Snippets auf Registerkarte System den Knoten Materialeigenschaften.

    Weitere Informationen zu diesen Funktionen finden Sie in der Inventor-API-Hilfe.

    Blechfunktionen

    Verwenden Sie Blechfunktionen, um die aktuelle Blechregel und den KFaktor in einem Blechbauteil zu lesen und/oder festzulegen. Mit diesen Funktionen können Sie die aktuelle Blechregel basierend auf bestimmten Bedingungen (z. B. das aktuelle Material oder die Materialstärke) automatisch ändern.

    Erweitern Sie zum Öffnen der Blechfunktionen im Bereich Snippets auf Registerkarte System den Knoten Blech.

    SheetMetal.SetActiveStyle

    Legt die aktuell aktive Blechregel fest. Alternativ können Sie im Dialogfeld Blechstandards die Blechregel manuell auswählen.

    Syntax

    SheetMetal.SetActiveStyle(“styleName”)

    “styleName”

    Der Name der Blechregel, der im Dialogfeld Blechstandards angezeigt wird. Bei diesem Namen wird nicht zwischen Groß- und Kleinschreibung unterschieden.

    Beispiele

    SheetMetal.SetActiveStyle(“styleName”)

    Gibt den Namen eines Stils aus der Blechregelliste an:

    SheetMetal.SetActiveStyle(MyStyleParameter)

    Gibt einen iLogic-Textparameter an.

    SheetMetal.GetActiveStyle

    Liest die aktuell aktive Blechregel. Sie können sie einem iLogic-Textparameter oder einer lokale Variable in einer Regel zuweisen. Verwenden Sie diese Funktion, um ein Modell zu bearbeiten oder basierend auf der aktiven Blechregel zu ändern.

    Beispiel

    CurrentStyleParameter=SheetMetal.GetActiveStyle()

    SheetMetal.ActiveKFactor

    Liest den aktuell aktiven KFaktor (numerischer Wert).

    Beispiele

    KFactorParameter=SheetMetal.ActiveKFactor

    Größe der Abwicklung - Funktionen

    Verwenden Sie diese Funktionen, um die Größe der abgewickelten Abwicklung abzurufen. Sie können diese Werte auch anzeigen, indem Sie mit der rechten Maustaste auf die Abwicklung in der Baumstruktur des Modells des Blechbauteils klicken und Größe wählen.

    SheetMetal.FlatExtentsLength

    Ruft die Breite (X-Achse) der Größe der Abwicklung ab.

    SheetMetal.FlatExtentsWidth

    Ruft die Breite (Y-Achse) der Größe der Abwicklung ab.

    SheetMetal.FlatExtentsArea

    Ruft die Fläche (X * Y) der Größe der Abwicklung ab.

    Zeichnungsfunktionen

    Verwenden Sie Zeichnungsfunktionen, um die Methode anzupassen, mit der Änderungen am Model vorgenommen werden, die in den Zeichnungsblättern festgehalten werden. Mithilfe von Zeichnungsfunktionen kann die Aktualisierung eines Modells effizient vereinfacht werden. Sie können außerdem in Regeln integriert werden, die durch ein iLogic-Ereignis zur Änderung der Zeichnungsansicht ausgelöst werden.

    ThisDrawing

    Greift auf die aktuelle Zeichnung in einer Regel zu.

    ActiveSheet

    Greift auf das aktive Blatt in einer Zeichnung zu. Diese Funktion ist ein Alias für ThisDrawing.ActiveSheet. Die meisten Zeichnungsvorgänge werden auf dem aktiven Blatt ausgeführt, da die anderen Blätter möglicherweise nicht auf dem neuesten Stand sind.

    ThisDrawing.Sheet

    Greift auf ein Blatt in einer Zeichnung zu.

    Syntax

    ThisDrawing.Sheet(“sheetname”)

    ResourceFileName

    Sie können dieser Eigenschaft eine Dateinamen-Zeichenfolge zuordnen, um den Namen einer anderen Zeichnung anzugeben, aus der Schriftfeld und Randdefinition kopiert werden sollen. Wenn Sie die Funktion TitleBlock oder Border verwenden, ruft iLogic in dieser Zeichnung die Ressourcen ab, die nicht in der aktuellen Zeichnung gefunden werden konnten. Geben Sie für diesen Dateinamen einen relativen Pfad an. iLogic sucht nach dieser Datei im Ordner, in dem die aktuelle Zeichnung gespeichert ist, und im Projektarbeitsbereichsordner. Sie können für diese Speicherorte entsprechende relative Unterordner angeben.

    Beispiel

    ThisDrawing.ResourceFileName = “DrawingResources1.idw”

    KeepExtraResources

    Setzen Sie diese Eigenschaft auf False, wenn die Kopien der Ressourcen aus externen Ressourcendatei nicht in der aktuellen Zeichnung gespeichert werden.

    Wenn Sie diese Eigenschaft auf False setzen, wird die vorhandene Ressource gelöscht und durch eine andere Ressource ersetzt. Der Löschvorgang wird nur ausgeführt, wenn die Funktion ResourceFileName nicht leer ist. Es wird vorausgesetzt, dass alle erforderlichen Ressourcen in der externen Ressourcendatei enthalten sind.

    Beispiel

    ThisDrawing.KeepExtraResources = False

    Blattfunktionen

    Die Blattfunktionen für Zeichnungen kommen in der Regel auf dem aktiven Blatt zum Tragen. Um festzulegen, dass eine Regel nur bei einem bestimmten Blatt ausgeführt wird, können Sie oben in einer Regel einen Code hinzufügen. Beispiel:

    If (ActiveSheet.Name <> "Sheet:2") Then Return

    ChangeSize (mit Textzeichenfolgenwert)

    Ändert die Größe des Blatts mithilfe einer Textzeichenfolge, die als Wert für die neue Größe dient.

    Syntax

    Sheet.ChangeSize (“value”,<MoveBorderItems = True>)

    value

    Der Wert der neuen Größe.

    MoveBorderItems

    Dieser Parameter ist optional. Wenn MoveBorderItems auf False gesetzt ist, werden alle Tabellen und Bauteillisten, die sich derzeit am Rand oder an der Kante des Blatts befinden, nicht mit dem neuen Rand verschoben.

    Beispiele

    ActiveSheet.ChangeSize (“A”)
    ActiveSheet.ChangeSize (“B1”, MoveBorderItems := False)

    ChangeSize (mit benutzerdefinierten Werten)

    Ändert in Dokumenteinheiten anhand einer benutzerdefinierten Höhe und Breite die Größe des Blatts.

    Syntax

    Sheet.ChangeSize (customHeight, customWidth, <MoveBorderItems = True>)

    height

    Höhe in Dokumenteinheiten

    width

    Breite in Dokumenteinheiten

    MoveBorderItems

    Dieser Parameter ist optional. Wenn MoveBorderItems auf False gesetzt ist, werden alle Tabellen und Bauteillisten, die sich derzeit am Rand oder an der Kante des Blatts befinden, nicht mit dem neuen Rand verschoben.

    Beispiele

    ActiveSheet.ChangeSize (7.2, 4)
    ActiveSheet.ChangeSize ( 7.2, 4, MoveBorderItems = False)

    Sheet.Border

    Ändert den aktuellen Rand auf dem Blatt durch die Angabe eines anderen Namens. Der Name muss in den Zeichnungsressourcen der aktuellen Zeichnung oder in der Zeichnung ResourceFileName (falls angegeben) enthalten sein.

    Beispiele

    ActiveSheet.Border = “OtherBorder”
    currentName = ActiveSheet.Border

    Sheet.TitleBlock

    Ändert durch die Angabe eines anderen Namens das aktuelle Schriftfeld auf dem Blatt. Der Name muss in den Zeichnungsressourcen der aktuellen Zeichnung oder in der Zeichnung ResourceFileName (falls angegeben) enthalten sein.

    Beispiele

    ActiveSheet.TitleBlock = “ANSI - A”
    currentName = ActiveSheet.TitleBlock

    Beispiel für die Verwendung einer externen Quelldatei:

    ThisDrawing.ResourceFileName = “DrawingResources1.idw”
    ActiveSheet.TitleBlock = “Custom - A”

    ActiveSheet.Name

    Ruft den Namen des Blatts ab.

    ActiveSheet.Size

    Ruft die Größe des Blatts als Zeichenfolge ab (z. B. A oder B0).

    ActiveSheet.Height

    Ruft die Höhe des Blatts in den Dokumenteinheiten ab.

    ActiveSheet.Width

    Ruft die Breite des Blatts in Dokumenteinheiten ab.

    ActiveSheet.View(“viewName”)

    Greift auf eine Ansicht auf dem Blatt zu.

    Ansichtsfunktionen

    Die Ansichtsfunktionen für Zeichnungen werden in der Regel auf dem aktiven Blatt verwendet (empfohlen).

    View.Name

    Ruft den Namen der Ansicht ab.

    View.Height

    Ruft in den Dokumenteinheiten die Höhe der Ansicht ab.

    View.Width

    Ruft die Breite der Ansicht in Dokumenteinheiten ab.

    View.Scale

    Ruft den Ansichtsmaßstab ab oder legt ihn als Nummer fest.

    View.ScaleString

    Ruft den Ansichtsmaßstab als Zeichenfolge ab (z. B. 1:2 oder 4.1) oder legt diesen fest.

    View.SetCenter(centerX,centerY)

    Legt den Mittelpunkt der Ansicht fest (verschiebt die Ansicht). Die Koordinaten werden in Dokumenteinheiten der Zeichnung angegeben.

    View.SetSpacingToCorner(distanceX, distanceY, corner)

    Legt die Ansichtsanzeige fest (Ansicht wird verschoben), indem der Abstand zwischen einer Ecke der Ansicht und der nächstliegenden Blattecke angegeben wird. Folgende Werte sind für die Variable corner möglich:

    SheetCorner.BottomLeft
    SheetCorner.BottomRight
    SheetCorner.TopLeft
    SheetCorner.TopRight

    Die Koordinaten werden in Zeichnungseinheiten angegeben. iLogic sucht nach der zur Blattecke nächstliegenden Ecke.

    View.SpacingBetween(“otherViewName”)

    Legt die Ansichtsanzeige fest (Ansicht wird verschoben), indem der Abstand zwischen der vorliegenden Ansicht und einer anderen Ansicht angegeben wird. Der Name der anderen Ansicht verweist in der Regel auf eine angrenzende Ansicht auf dem Blatt. Der Abstand befindet sich zwischen den Ansichtskanten in X- oder Y-Richtung. Geben Sie einen positiven Wert ein, um diese Ansicht auf der rechten Seite oder über der anderen Ansicht zu platzieren. Geben Sie einen negativen Wert ein, um diese Ansicht auf der linken Seite oder unter der anderen Ansicht zu platzieren. Beispiel:

    ActiveSheet.View("VIEW2").SpacingBetween("VIEW1") = 30 mm  '

    VIEW2 befindet sich rechts von VIEW1.

    ActiveSheet.View("VIEW3").SpacingBetween("VIEW1") = -40 mm  '

    VIEW3 befindet sich unterhalb von VIEW1.

    View.Balloons

    Greift auf die Positionsnummern in der Ansicht zu.

    Positionsnummerfunktionen

    Positionsnummerfunktionen für Zeichnungen sind nur in einer bestimmten Ansicht verfügbar.

    Balloons.Reattach

    Bei Ansichten von Baugruppendokumenten wird mit dieser Funktion nach nicht verbundenen Positionsnummern in einer Ansicht gesucht, um diese nach Möglichkeit mit einer Komponente zu verbinden. Die erste Option ist eine Komponente an der Pfeilspitze. Wenn dort keine gefunden wurde, wird die nächstliegende verfügbare Komponente ohne Positionsnummer verwendet. Wenn die Positionsnummer nicht verbunden werden kann, wird sie auf einen verdeckten Layer verschoben. Ein verdeckter Layer ist ggf. ein für diesen Zweck erstellter Layer.

    AnmerkungFür diese Funktion muss die Option Verwaiste Kommentare beibehalten für die Zeichnung aktiviert werden (unter Extras Optionen Dokumenteinstellungen). Wenn diese Option nicht aktiviert ist, wird sie durch die Funktion automatisch aktiviert.

    Balloons.AttachToComponent(“componentName”)

    Gibt eine Komponente an, die eine Positionsnummer erfordert. Mit componentName wird ein Komponentenexemplar wie beispielsweise "Pin:1" angegeben. Wenn Sie diese Funktion verwenden, werden die Positionsnummern nur mit den Komponenten verbunden, die Sie angegeben haben. Wenn Sie diese Funktion nicht verwenden, werden die Positionsnummern mit beliebigen Komponenten verbunden (soweit nicht durch die Funktion DoNotAttachToComponent ausgeschlossen).

    Balloons.DoNotAttachToComponent(“componentName”)

    Gibt eine Komponente an, die keine Positionsnummer erfordert. Mit componentName wird ein Komponentenexemplar wie beispielsweise "Pin:1". angegeben.

    Erweiterte Zeichnungs-API-Funktionen

    Verwenden Sie die erweiterten Zeichnungs-API-Funktionen, wenn Sie die Vorteile der API-Funktionen nutzen möchten. Beachten Sie die folgenden Schnittstellentypen, die für Objekte in Zeichnungsfunktionen verwendet werden:

    • ThisDrawing ist vom Typ ICadDrawing.
    • Sheet ist vom Typ ICadSheet.
    • View ist vom Typ ICadView.

    ThisDrawing.Document

    Greift auf das zugrunde liegende Zeichnungsdokument zu. Gibt ein Objekt vom Typ Inventor.DrawingDocument. aus.

    ICadSheet.Sheet

    Greift auf das zugrunde liegende Blatt zu. Gibt ein Objekt vom Typ Inventor.Sheet aus.

    ICadView.View

    Greift auf die zugrunde liegende Objektansicht zu. Gibt ein Objekt vom Typ Inventor.DrawingView aus.

    ICadView.ModelDocument

    Greift auf das in dieser Ansicht angezeigte Dokument zu. Gibt ein Objekt vom Typ Inventor.Document aus. Gibt kein Ergebnis aus, wenn es sich bei dem Dokument um keine Modellansicht handelt.

    Erweiterte API-Funktionen

    ThisApplication

    Das Inventor-Anwendungsobjekt für die aktuelle Autodesk Inventor-Sitzung. Von diesem Objekt aus können Sie direkt auf das Inventor-API zugreifen. Die Hilfe zu API finden Sie in der Programmierungshilfe, die sich im Menü Hilfe unter Weitere Ressourcen befindet.

    Auf dieses Objekt kann auch mithilfe der älteren Syntax zugegriffen werden:

    app = InventorVb.Application

    ThisDoc.Document

    Ruft das Dokument ab, in dem die aktuelle Regel als Inventor.Document -Objekt gespeichert ist. Es kann als Startpunkt für die Untersuchung oder Änderung des Modells verwendet werden. Dieses Objekt wird in der Hilfe zu Inventor-API beschrieben.

    Syntax

    doc = ThisDoc.Document

    Auf dieses Objekt kann auch mithilfe der älteren Syntax zugegriffen werden:

    doc = iLogicVb.RuleDocument

    ModelDocument

    Ruft das Modelldokument (Bauteil oder Baugruppe) auf, das in einem Zeichnungsdokument angezeigt wird. Wenn kein Modelldokument vorhanden ist, gibt diese Funktion kein Ergebnis aus. Wenn mehr als ein Modelldokument vorhanden ist, wird das zuerst gefundene ausgegeben.

    Syntax

    doc = ThisDoc.ModelDocument

    Automation

    Greift auf das iLogicAutomation-Objekt in einer Regel zu.

    Syntax

    auto = iLogicVb.Automation

    UserInterfaceManager

    Muss in einer Regel vor der Verwendung einer bestimmten Inventor-API-Funktion (z. B. Document.SelectSet.Select) verwendet werden. Wenn Sie ein VBA-Beispiel oder einen anderen API-Code vorfinden, der nicht in einer Regel funktioniert, fügen Sie diese Anweisung an die erste Stelle in einer Regel ein.

    Syntax

    ThisApplication.UserInterfaceManager.UserInteractionDisabled = False

    InventorComponent

    Verwenden Sie diese Funktion, um direkten Zugriff auf eine Komponente zu erhalten. Die Funktion gibt ein Objekt des Typs Inventor.ComponentOccurrence aus.

    Syntax

    compo = Component.InventorComponent(“componentName”)

    InventorFeature

    Greift direkten auf ein Element zu. Bei dieser Funktion wird ein Objekt des Typs Inventor.PartFeature ausgegeben.

    Syntax

    feat = Feature.InventorFeature(“featureName”)

    InventorFeature (Komponente)

    Greift direkt auf ein Element in einer Komponente oder einem Dokument zu.

    Syntax

    feat = Feature.InventorFeature(componentOrDocNameName, “featureName”)