UPDATE
Ich habe inzwischen den Code und die Routine verbessert.
Erst die Routine:
In jedem selbst erstellten Bauteil gibt es per Vorlagedatei (oder bei Altlasten per CodeInjector) die interne iLogic-Regel:
startIPTextRule (=Kurzform von: start IPT extern rule) (Ereignisauslöser: vor jedem Speichern)
mit dem Einzeiler-Code:
iLogicVb.RunExternalRule("IPText")
dadurch wird folgende externe iLogic-Regel aufgerufen
Name:
IPText
IPText sorgt für den richtigen Displaynamen auch wenn die Geometrieparameter (G_L ...) geändert werden.
Daneben werden weitere Felder ausgefüllt.
Durch die externe Regel ist es möglich den ausgeführten Code zentral neuen Wünchen anzupassen und es gibt keine alten iLogic-Regeln in irgendwelchen Bauteilen.
Für .iam habe ich bisher den gleichen Code (vgl. unten) auch wenn die interne Regel und externe Regel andere Namen haben (startIAMextRule und IAMext).Somit sind Sonderwünsche bei IAMs möglich!
gruss Michael
CODE:
___________
'RuleName: IPText
'früher RuleName: iLogicProfil3
'A) Datum erstellt wird aktualisiert
'B) Anmeldename wird eingegeben
'C) Revisionstext wird erzeugt
'D) Displayname wird erzeugt
'immer aktuelles Datum
'set the Creation Date iproperty to the current date
iProperties.Value("Project", "Creation Date" ) = Now
'Feld Bestandsnummer wird mit "-" ausgefüllt
'iProperties.Value("Project", "Stock Number") = "-"
'iProperties.Value("Summary", "Title") = "-"
'set Author iproperty to match the system user name
iProperties.Value("Summary", "Author" ) = ThisApplication.GeneralOptions.UserName
'Feld Konstrukteur wird mit username ausgefüllt
iProperties.Value("Design Tracking Properties", "Designer")=ThisApplication.GeneralOptions.UserName
'Feld Rev. wird entsprechen Feld KB und Länge ausgef?llt
iProperties.Value("Summary", "Revision Number")="=<KB> Länge: <G_L>"
'Feld Material wird mit "St 37-2" ausgef?llt
' nicht anwendbar, da manuelle Änderungen überschrieben werden!
'iProperties.Value("User Defined", "Material")="St 37-2"
doc = ThisDoc.Document
Filename_Description = iProperties.Value("Inventor User Defined Properties", "KB") _
& " -" & iProperties.Value("Inventor User Defined Properties", "G_L") _
& " NR " & iProperties.Value("Project", "Part Number")
doc.DisplayName = Filename_Description
'update the file
iLogicVb.UpdateWhenDone = True
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP