Hot News:
   

Mit Unterstützung durch:

  Foren auf CAD.de
  Inventor
  iLogic FX-Listenparameter über eine externe Regel Updaten

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
  
Phoenix/PLM von ORCON bei Atlanta Antriebssysteme , ein Anwenderbericht
Autor Thema:  iLogic FX-Listenparameter über eine externe Regel Updaten (58 mal gelesen)
TRL
Mitglied
Konstruktionsassistent

Sehen Sie sich das Profil von TRL an!   Senden Sie eine Private Message an TRL  Schreiben Sie einen Gästebucheintrag für TRL

Beiträge: 9
Registriert: 12.03.2024

Inventor 2022, iLogic

erstellt am: 04. Dez. 2025 11:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

Ich habe ein rechenbares Bauteil welches in ganz unterschiedlichen Längen und Maßen bei uns im Einsatz kommen wird.
Dieses Bauteil besitzt einen Benutzerdefinierten Text-Parameter (FX) in welchen eine mehrfach Auswahl über eine Liste hinterlegt ist.

Als Beispiel.

Der Parameter heißt "ProfilAuswahl".
Die in der Liste dazu hinterlegten Werte sind: eins, zwei, drei, vier, fünf.

Nun wird das Bauteil hunderte male kopiert wwerden und nach einer gewissen Zeit, werden für den Parameter "ProfilAuswahl" weitere Listenwerte hinzu gekommen (die jetzt noch nicht bekannt sind).

Ich möchte also gerne von Anfang an eine externe Regel hinzufügen, in welcher die Werte für die Auswahlliste hinterlegt sind. Und wenn neue Werte hinzukommen, will ich sie in die Regel ergänzen, so das sie beim öffnen eines Bauteils die Auswahlliste automatisch aktualisiert wird, so das die neuen Werte auch in den alten Teilen mit zur Verfügung stehen.

Ich hätte jetzt eigentlich nur reingeschrieben:

MultiValue.SetList("ProfilAuswahl", eins, zwei, drei, vier, Fünf)


Damit bekomme ich aber die fehlermeldung "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt"

Also wird irgend was fehlen (aber nur Ahnung von ein paar Grundlagen im iLogic).


Für Zukünftige aktualisierungen würde ich die Listen Parameter zb. einfach nur weiter ergänzen in der Externen Regel, zum Beispiel:

MultiValue.SetList("ProfilAuswahl", eins, zwei, drei, vier, Fünf, sechs, sieben)

Einstellen würde ich dann das sie beim öffnen der Datei ausgeführt werden soll um die aktualisierung in die Liste zu bringen.
Die Ausgewählte Option soll dabei aber nicht überschrieben werden.

Kann mir damit jemand weiter helfen bitte ?


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik, Master Eng. IT-Security & Forensic




Sehen Sie sich das Profil von rkauskh an!   Senden Sie eine Private Message an rkauskh  Schreiben Sie einen Gästebucheintrag für rkauskh

Beiträge: 2972
Registriert: 15.11.2006

Windows 10 x64, AIP 2020-2025

erstellt am: 04. Dez. 2025 17:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für TRL 10 Unities + Antwort hilfreich

Moin

Scheinbar wird bei externen Regeln kein MultiValue Objekt erzeugt, da nicht eindeutig ist in welchem Kontext die Regel ausgeführt wird. Könnte das aktuelle Dokument sein, ein in place edit in einer Baugruppe oder das referenzierte Modell einer Zeichnung. Ich würde mir den StandardObjectProvider mit dem aktiven Dokument selbst erstellen und daraus ein myMultiValue ableiten. Die Zeile "myMultiValue.SetValueOptions(False)" verhindert das beim Update der Liste ein neuer Wert ausgewählt wird. Achtung, wenn der gewählte Wert nicht mehr in der neuen Liste enthalten ist, bleibt er erhalten und ausgewählt. Man müsste also vorher noch prüfen ob der aktuelle Wert in der neuen Liste noch enthalten ist und dann entweder einen neuen Wert festlegen oder abbrechen.
Ebenso denke ich es wäre sinnvoll vor dem Update beide Listen zu vergleichen und nur bei einem Unterschied zu aktualisieren. Inventor will sonst bei jedem Öffnen der Datei am Ende speichern, weil sich die Parameterliste "geändert" hat.


Code:

Sub main
If Not ThisApplication.ActiveDocumentType = DocumentTypeEnum.kPartDocumentObject Then Exit Sub

Dim sParam As String = "ProfilAuswahl"
Dim sList() As String = {"eins", "zwei", "drei", "vier","fünf"}

Dim oDoc As PartDocument = ThisApplication.ActiveDocument

Dim oSOP As IStandardObjectProvider
oSOP = Autodesk.iLogic.Interfaces.StandardObjectFactory.Create(oDoc)

Dim myMultiValue As Autodesk.iLogic.Interfaces.IMultiValueParam = oSOP.MultiValue

oSOP.Parameter.Quiet = True

Dim myParam As Parameter = oSOP.Parameter.Param(sParam)
If myParam Is Nothing Then
MsgBox("Parameter '" & sParam & "' existiert nicht. Abbruch", MsgBoxStyle.Critical, "iLogic")
Exit Sub
End If

myMultiValue.SetValueOptions(False)
myMultiValue.SetList(sParam, sList)
End Sub


------------------
MfG
Ralf

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen .... | Nach anderen Beiträgen suchen

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz