- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
ich habe ein Problem beim füllen eines zuvor neu angelgten Paramters per iLogic.
Der Paramter wird zwar erzeugt , aber nicht ausgefüllt.
Erscheint in den fx-Parametern also als leer.
zur Kontrolle habe ich den Wert in die iProperties schreiben lassen. Dies funktioniert auch.
Wir arbeiten mit Inventor 2024.2
Bin dankbar für jede Idee
Hier der Code:
'erstellt einen benutzerdefinierten Parameter SML , falls leer oder nicht vorhanden: If iProperties.Value("Summary", "Keywords") = "" Then 'legt den Paramter an oPara = ThisApplication.ActiveDocument.ComponentDefinition.Parameters.UserParameters oParameter = oPara.AddByValue("SML", "", kTextUnits) Else If iProperties.Value("Summary", "Keywords") <> "" Then 'verhindert das überschreiben einer vorhanden SML 'und beendet das Programm GoTo 100 End If 'öfnnet eine Auswahlliste zum füllen des Parameters und des iProperties MultiValue.SetList("SML", "Wert1","Wert2","Wert3") SML = InputListBox("bitte doppelklick auf Auswahl", MultiValue.List("SML"), SML, Title := "SML nach Vornummer", ListName := "Liste") iProperties.Value("Summary", "Keywords") = SML iLogicVb.UpdateWhenDone = True Parameter.UpdateAfterChange = True InventorVb.DocumentUpdate() 100 :
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hi, Can you try this :
oPara = ThisApplication.ActiveDocument.ComponentDefinition.Parameters.UserParameters Try Param = Parameter("SML") Catch oPara.AddByValue("SML", "", kTextUnits) MultiValue.SetList("SML", "Wert1", "Wert2", "Wert3") End Try If iProperties.Value("Summary", "Keywords") = "" Then SML = InputListBox("bitte doppelklick auf Auswahl", MultiValue.List("SML"), SML, Title := "SML nach Vornummer", ListName := "Liste") iProperties.Value("Summary", "Keywords") = SML iLogicVb.UpdateWhenDone = True Parameter.UpdateAfterChange = True InventorVb.DocumentUpdate() End If
Vincent.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Yes you are right, strangely, you have to select the value once manually for it to work afterwards.
Try this modified code, it works fine on my side:
oPara = ThisApplication.ActiveDocument.ComponentDefinition.Parameters.UserParameters Try Param = Parameter.Param("SML") Catch oPara.AddByValue("SML", "", kTextUnits) MultiValue.SetList("SML", "Wert1", "Wert2", "Wert3") Parameter.Param("SML").Value = "Wert1" End Try If iProperties.Value("Summary", "Keywords") = "" Then Parameter.Param("SML").Value = InputListBox("bitte doppelklick auf Auswahl", MultiValue.List("SML"), SML, Title := "SML nach Vornummer", ListName := "Liste") iProperties.Value("Summary", "Keywords") = Parameter.Param("SML").Value iLogicVb.UpdateWhenDone = True Parameter.UpdateAfterChange = True InventorVb.DocumentUpdate() End If
Vincent.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hi,
thanks a lot, but its the same mistake.
The param SML does not update.
I have tried to change the order:
first the param and then the set list but that doesn't help either.
Did you work with 2024? I now think that this is a programme error ?
Catch oPara.AddByValue("SML", "", kTextUnits) Parameter.Param("SML").Value = "Wert1"
MultiValue.SetList("SML", "Wert1", "Wert2", "Wert3") End Try
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hi,
I'm using the latest version of Inventor 2023.
It works on my side, I can no longer reproduce the error.
Can you try this modification:
Catch oPara.AddByValue("SML", "Wert1", kTextUnits) MultiValue.SetList("SML", "Wert1", "Wert2", "Wert3") End Try
I broke the code into two parts:
- Create the parameter if it does not exist:
oPara = ThisApplication.ActiveDocument.ComponentDefinition.Parameters.UserParameters Try Param = Parameter.Param("SML") Catch oPara.AddByValue("SML", "Wert1", kTextUnits) MultiValue.SetList("SML", "Wert1", "Wert2", "Wert3") End Try
- Modify the value of the existing parameter:
Parameter.Param("SML").Value = InputListBox("bitte doppelklick auf Auswahl", MultiValue.List("SML"), SML, Title := "SML nach Vornummer", ListName := "Liste") iLogicVb.UpdateWhenDone = True Parameter.UpdateAfterChange = True InventorVb.DocumentUpdate()
If you test each part separately, what results do you get?
Vincent.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hi Vincent,
this one works ![]()
Parameter.Param("SML").Value
Such a small thing with such a big effect.
Thanks a lot and have a nice day