Modelzustände auslesen

Modelzustände auslesen

karsten.mertzdorff
Observer Observer
367Aufrufe
6Antworten
Nachricht 1 von 7

Modelzustände auslesen

karsten.mertzdorff
Observer
Observer

Moin, wie kann ich den Modelzustand auslesen und automatisiert in iProps oder Textfeld (z.B. im Schriftfeld einer idw) eintragen ? Vielen Dank.

0 „Gefällt mir“-Angaben
368Aufrufe
6Antworten
Antworten (6)
Nachricht 2 von 7

RaphaelMichel
Advisor
Advisor

So wie ich das sehe, geht das nicht direkt. Du kannst dir aber eine iLogic-Regel nehmen, die den Modellzustand in deine Parameter schreibt und diesen Parameter in deinem Schriftfeld verwenden.
Ein Beispiel wäre:

Dim oModelStateName = ThisDoc.ActiveModelState
Dim oUserParameter = ThisDoc.Document.ComponentDefinition.Parameters.UserParameters 
Try
		otester = oUserParameter.Item("Modellzustand")
	Catch
		oParameter = oUserParameter.AddByValue("Modellzustand", "", UnitsTypeEnum.kTextUnits)
End Try
Parameter("Modellzustand") = oModelStateName
iLogicVb.UpdateWhenDone = True

 Diese Regel triggerst du beispielsweise beim Ereignis "Modellzustand aktiviert" für deine Bauteile und Baugruppen. Die Regel würde ich als externe Regel speichern.

Nachricht 3 von 7

karsten.mertzdorff
Observer
Observer

Vielen Dank. Leider sagt Inventor "Fehler in Zeile 3". Konnte es also leider nicht umsetzen. Weißt du was Fehler sein könnte ?

karstenmertzdorff_0-1743608051045.png

 

0 „Gefällt mir“-Angaben
Nachricht 4 von 7

RaphaelMichel
Advisor
Advisor

Nein, ich weiss nicht was der Fehler sein könnte. Habe es auf zwei verschiedenen Systemen erfolgreich getestet.

Hast du noch weitere Infos zur Fehlermeldung?

0 „Gefällt mir“-Angaben
Nachricht 5 von 7

RaphaelMichel
Advisor
Advisor

@karsten.mertzdorffKonntest du das Problem beheben oder hast du noch weitere Fehler-Infos, damit ich dich bei der Behebung unterstützen kann?

0 „Gefällt mir“-Angaben
Nachricht 6 von 7

karsten.mertzdorff
Observer
Observer

Hi, Danke der Nachfrage, toller Service! Ich musste es leider vorübergehend aufgeben da ich syntax und generelle Vorgehensweise der Vergabe von Regeln mittels ilogic noch nicht verstehe. Bin aber natürlich weiterhin an Lösung der einfachen (wie ich fälschlicherweise dachte) Aufgabe: Nimm den Namen des jeweilig auf der Zeichnung aktiven Modelzustandes und schreibe diesen in ein Textfeld um Zeichnungsableitungen zu verschiedenen Modelzuständen zu unterscheiden und die damit verbundene Tipperei bzw. Fehlereingaben zu vermeiden. Alternativ wäre auch der Abgriff von relevanten (den Modellzustand bezeichnenden Maßen) Maßen und Übertrag dieser in ein Textfeld (z.B. im Schriftfeld). Danke und Grüße

0 „Gefällt mir“-Angaben
Nachricht 7 von 7

RaphaelMichel
Advisor
Advisor

Für die einfache Parameterübernahme würde ich den gewünschten Parameter benennen - bspw "Durchmesser" - und als Exportparameter definineren (Spalte mit einem Kontrollkästchen im Parametereditor. Dadurch wird der Parameter in deine benutzerdefinierten iProperties geschrieben und diesen kannst du in der Zeichnung abgreifen. Die Parameter selbst kannst du auch abgreifen, jedoch hat es bei mir beim testen den Wert nicht aktuallisiert, wenn ich den Modellzustand geändert habe. Mit dem iProperty hat es funktioniert.

RaphaelMichel_0-1743767959843.png

Bezüglich iLogic kann ich dir nur raten, dich in die Thematik einzulesen. Es ist nicht schwer und du kannst schnell einfache Sachen mit vorgefertigten Regeln automatisieren. Für einen ersten Test kannst du die Regel auch in deinen lokalen Regeln des Dokuments hinzufügen und manuell ausführen, um zu sehen, ob die Regel funktioniert. Der Nachteil ist dann eifach, dass die Regel nur in diesem Dokument ausgeführt werden kann und wenn du eine Änderung der Regel durchführst, diese nur im aktuellen Dokument geändert wird.

0 „Gefällt mir“-Angaben