| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | | | Request a special discount on NVIDIA RTX 5000 Ada Generation GPU !, eine Pressemitteilung
|
Autor
|
Thema: iLogic if then Regel einbauen (2316 / mal gelesen)
|
phiko Mitglied
Beiträge: 47 Registriert: 20.04.2005
|
erstellt am: 01. Mrz. 2021 15:17 <-- editieren / zitieren --> Unities abgeben:
Hallo iLogic Profis Vorab, iLogic ist für mich absolut Neuland. Zu meinem Problem: In einem Zeichnungskopf (*.idw) kommt die Revisionsnummer zwei mal vor. Ich möchte aber die eine Revisionsnummer nur darstellen, wenn die Revisionsnummer > 0 ist. Dazu möchte ich keine zusätzlichen Variablen in den iProperties erstellen. Für "REVISIONSNUMMER" gibt es ein iPropertie Ich stelle mir das ungefähr so vor (dabei ist "xx" der Wert der durch die Revisonsnummer ersetzt werden soll wenn sie grösser Null ist): If REVISIONSNUMMER > 0 Then Replace("xx", REVISIONSNUMMER, True) Else Replace ("xx", "-", True) End If (Ich weiss da stimmt vieles nicht; aber nur so zum Verständnis was ich machen möchte) Vielen Dank für Eure Hilfe Gruss Philipp PS: Ich weiss, dass es auch Revisionstabellen gibt; möchte es aber nicht so lösen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2580 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 02. Mrz. 2021 11:21 <-- editieren / zitieren --> Unities abgeben: Nur für phiko
Hallo Für deine Vorgehensweise müsstest du die Schriftfelddefinition bearbeiten. Jedes Mal iProp löschen und durch normalen Text ersetzen und umgekehrt. Grundsätzlich möglich, aber da Textboxen selbst keinen eindeutigen Namen haben, ist schon das Finden der richtigen TextBox ein Problem. Es gibt zwar eine Möglichkeit eindeutige Namen über Attribute zu vergeben, aber das führt jetzt zu weit. Im Ausgangszustand gibt es bei dir zwei Textboxen die das iProp Revisionsnummer enthalten. Welche von beiden ist die zweite, die geändert werden soll? Mein Vorschlag: Editiere dein Schriftfeld und ersetze dein zweites iProp Revisionsnummer durch eine angeforderte Eingabe "RevNr". Nimm die folgende iLogic Regel. Füge diese Regel in den Ereignisauslöser "iProperty-Änderung" und/oder "Vor dem Speichern" hinzu. Code:
Dim oDrawDoc As DrawingDocument oDrawDoc = ThisApplication.ActiveDocumentDim oSheet As Sheet Dim oTitleBlock As TitleBlock Dim oTextBoxes As TextBoxes Dim oTextBox As TextBox For Each oSheet In oDrawDoc.Sheets oTitleBlock = oSheet.TitleBlock oTextBoxes = oTitleBlock.Definition.Sketch.TextBoxes For Each oTextBox In oTitleBlock.Definition.Sketch.TextBoxes If oTextBox.Text = "RevNr" Then If iProperties.Value("Project", "Revision Number") > 0 Then Call oTitleBlock.SetPromptResultText(oTextBox, iProperties.Value("Project", "Revision Number")) Else Call oTitleBlock.SetPromptResultText(oTextBox, "xx") End If End If Next Next InventorVb.DocumentUpdate()
Alternativ könntest du in der zweiten Textbox einen eindeutigen Text voranstellen, der immer drin bleibt. z.B.: "RevNr.: " gefolgt von der Revisionsnummer (einfach als Text) oder xx. Dann würde folgender Code funktionieren.
Code:
Try ThisApplication.ScreenUpdating = False Dim oDrawDoc As DrawingDocument oDrawDoc = ThisApplication.ActiveDocument Dim oSheet As Sheet oSheet = oDrawDoc.ActiveSheet Dim oTitleBlock As TitleBlock oTitleBlock = oSheet.TitleBlock Dim oTextBoxes As TextBoxes oTextBoxes = oTitleBlock.Definition.Sketch.TextBoxes Dim oDefSketch As DrawingSketch Call oTitleBlock.Definition.Edit(oDefSketch) Dim oTextBox As TextBox For Each oTextBox In oDefSketch.TextBoxes If Left(oTextBox.Text, 7) = "RevNr.:" Then If iProperties.Value("Project", "Revision Number") > 0 Then oTextBox.Text = "RevNr.: " & iProperties.Value("Project", "Revision Number") Else oTextBox.Text = "RevNr.: xx" End If End If Next Call oTitleBlock.Definition.ExitEdit(True) Catch ex As Exception Call ThisApplication.ActiveDocument.ActiveSheet.TitleBlock.Definition.ExitEdit(False) MsgBox( ex.Message,vbCritical,"Fehler Update TitleBlock") Finally ThisApplication.ScreenUpdating = True End Try
------------------ MfG Ralf RKW Solutions GmbH www.RKW-Solutions.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
phiko Mitglied
Beiträge: 47 Registriert: 20.04.2005
|
erstellt am: 03. Mrz. 2021 08:02 <-- editieren / zitieren --> Unities abgeben:
Hallo Ralf Vielen Dank für Deine Mühe und Lösungsvarianten. Leider haben beide nicht richtig funktioniert. → Fehlermeldung: Falscher Parameter. (Ausnahme von HRESULT: 0x80070057 (E_INVALIDARG)) Da ich das gleiche aber noch mit Datum und Visum machen möchte wird es zu kompliziert. Ich lasse es halt so wie es ist und stelle die Revisionsnummer zweimal dar. Trotzdem herzlichen Dank. Gruss Philipp Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2580 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 03. Mrz. 2021 10:26 <-- editieren / zitieren --> Unities abgeben: Nur für phiko
Moin Ich habe beide Varianten ausprobiert mit den Voraussetzungen die ich im letzten Post genannt habe. Das lief fehlerfrei. Welche Inventorversion nutzt du? Kannst du mal bei dem Fehler den Reiter "weitere Infos" aktivieren und den ausführlichen Fehlerinhalt posten? Das Ganze um zwei weitere Einträge zu erweitern ist eher das kleinere Problem. Wobei ich dann schon anfange über eine zweite Schriftfelddefinition nachzudenken und das jeweils passende einzufügen. Was an 20 Zeilen Copy'n Paste zu kompliziert ist verstehe ich nicht. Wenn dir das schon zu viel ist, kann ich dir auch nicht helfen. ------------------ MfG Ralf RKW Solutions GmbH www.RKW-Solutions.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
phiko Mitglied
Beiträge: 47 Registriert: 20.04.2005
|
erstellt am: 09. Mrz. 2021 13:13 <-- editieren / zitieren --> Unities abgeben:
Hallo Ralf Wir nutzen Inventor 2020. Mit "kompliziert" meinte ich das Erweitern auf Datum und Visum. Ich habs nochmals probiert. Diesmal kam keine Fehlermeldung , hat aber nicht so funktioniert wie ich mir das vorstelle. Im Anhang aber nochmals das was ich mir eigentlich vorgestellt habe. Die Fage ist noch was ich in die oberste Zeile einfügen muss. Nur "RevNr." als Text? Bei Ausgabe ist ja ein iProperty namens "Revisionsnummer" drin. Dies hatte ich anfangs auch in der obersten Zeile daum kam logischerweise auch die Ausgabe 0 wenn unten 0 steht. Gruss Philipp
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2580 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 09. Mrz. 2021 22:55 <-- editieren / zitieren --> Unities abgeben: Nur für phiko
Hallo Kompliziert ist relativ. Ich gehe davon aus, das die benutzerdefinierten iProperties, die als Quelle genutzt werden, Revisionsnummer, Datum und Visum heißen. Gegebenenfalls müssen wir hier noch anpassen. Um die Textboxen im Schriftfeld eindeutig und sicher zu identifizieren, nutzen wir doch am Besten Attribute. Die müssen einmal gesetzt werden. Erstelle in deinem Schriftfeld die drei Textfelder und schreib irgendwelchen Text als Platzhalter (Ich hab a,b und c genommen) rein. Der wird im Verlauf der Einrichtung wieder gelöscht, aber meines Wissens läßt Inventor keine komplett leeren Textfelder erstellen. Speicher das Schriftfeld. Erstelle eine iLogic Regel "SetAttributes", füge folgenden Code ein und führe sie aus. Klicke der Reihe nach die drei Textfelder an, das Script erzeugt die Attribute. Code:
' iLogic Regel SetAttributes ' einer TextBox im Schriftfeld Attribute verpassenConst sAttrSetName As String = "RKW" '<--- AttributeSets sollten einen eindeutigen Namen haben. Hier könnte z.B. euer Firmenname stehen. Muss im zweiten Script mitgepflegt werden. Const sAttrName As String = "TextBoxName" '<--- Attribute sollten einen eindeutigen Namen haben. Dim oApp As Inventor.Application oApp = ThisApplication Dim oDrawDoc As DrawingDocument oDrawDoc = oApp.ActiveDocument Dim oTitleBlock As TitleBlock oTitleBlock = oDrawDoc.ActiveSheet.TitleBlock Dim oDrawSketch As DrawingSketch If Not oApp.ActiveEnvironment.InternalName = "DLxDrawingSketchEnvironment" Then Call oTitleBlock.Definition.Edit(oDrawSketch) Dim oAttrSet As AttributeSet Dim oAttr As Inventor.Attribute Dim oTextBox As TextBox 'Attribut Revisionsnummer oTextBox = oApp.CommandManager.Pick(kSketchTextBoxFilter, "Bitte TextBox für die Revisionsnummer auswählen.") If oTextBox Is Nothing Then GoTo Ende 'User hat mit ESC Auswahl gecancelt If oTextBox.AttributeSets.NameIsUsed(sAttrSetName) Then oAttrSet = oTextBox.AttributeSets.Item(sAttrSetName) Else oAttrSet = oTextBox.AttributeSets.Add(sAttrSetName, True) End If If oAttrSet.NameIsUsed(sAttrName) Then oAttr = oAttrSet.Item(sAttrName) Else oAttr = oAttrSet.Add(sAttrName, kStringType, "") End If oAttr.Value = "Revisionsnummer" 'Attribut Datum oTextBox = oApp.CommandManager.Pick(kSketchTextBoxFilter, "Bitte TextBox für das Datum auswählen.") If oTextBox Is Nothing Then GoTo Ende 'User hat mit ESC Auswahl gecancelt If oTextBox.AttributeSets.NameIsUsed(sAttrSetName) Then oAttrSet = oTextBox.AttributeSets.Item(sAttrSetName) Else oAttrSet = oTextBox.AttributeSets.Add(sAttrSetName, True) End If If oAttrSet.NameIsUsed(sAttrName) Then oAttr = oAttrSet.Item(sAttrName) Else oAttr = oAttrSet.Add(sAttrName, kStringType, "") End If oAttr.Value = "Datum" 'Attribut Visum oTextBox = oApp.CommandManager.Pick(kSketchTextBoxFilter, "Bitte TextBox für Visum auswählen.") If oTextBox Is Nothing Then GoTo Ende 'User hat mit ESC Auswahl gecancelt If oTextBox.AttributeSets.NameIsUsed(sAttrSetName) Then oAttrSet = oTextBox.AttributeSets.Item(sAttrSetName) Else oAttrSet = oTextBox.AttributeSets.Add(sAttrSetName, True) End If If oAttrSet.NameIsUsed(sAttrName) Then oAttr = oAttrSet.Item(sAttrName) Else oAttr = oAttrSet.Add(sAttrName, kStringType, "") End If oAttr.Value = "Visum" Ende: Call oTitleBlock.Definition.ExitEdit(True)
Die drei Attribute sind gesetzt, das Script wird theoretisch nicht mehr benötigt. Außer man will erstmal nur testen und später in die echte Vorlage übertragen. Jetzt erstelle eine zweite iLogic Regel "UpdateTitleBlock" und füg den unten stehenden Code ein. Auf dem RibbonTab "Verwalten", im Panel "iLogic" den Button "Ereignisauslöser" klicken. Die Regel "UpdateTitleBlock" per Drag'n Drop auf das Ereignis "iProperty-Änderung" ziehen und speichern. Ab jetzt sollte das funktionieren.
Code:
' iLogic Regel UpdateTitleBlock ' aktualisiert ein Textfeld ' Attribute zur Identifizierung genutztConst sAttrSetName As String = "RKW" '<--- AttributeSets sollten einen eindeutigen Namen haben Const sAttrName As String = "TextBoxName" '<--- Attribute sollten einen eindeutigen Namen haben Const iPropRevNr As String = "Revisionsnummer" '<--- Name des benutzerdefinierten iProps, aus dem die Revisionsnummer gelesen wird Const iPropDatum As String= "Datum" '<--- Name des benutzerdefinierten iProps, aus dem das Datum gelesen wird Const iPropVisum As String = "Visum" '<--- Name des benutzerdefinierten iProps, aus dem Visum gelesen wird Dim oApp As Inventor.Application oApp = ThisApplication
Dim oDrawDoc As DrawingDocument oDrawDoc = oApp.ActiveDocument Dim oSheet As Sheet oSheet = oDrawDoc.ActiveSheet Dim oTitleBlock As TitleBlock oTitleBlock = oSheet.TitleBlock Dim oTextBoxes As TextBoxes oTextBoxes = oTitleBlock.Definition.Sketch.TextBoxes Dim oDefSketch As DrawingSketch Call oTitleBlock.Definition.Edit(oDefSketch) Dim oTextBox As Inventor.TextBox Dim oAttrSet As AttributeSet Dim oAttr As Inventor.Attribute For Each oTextBox In oDefSketch.TextBoxes If oTextBox.AttributeSets.NameIsUsed(sAttrSetName) Then oAttrSet = oTextBox.AttributeSets.Item(sAttrSetName) If oAttrSet.NameIsUsed(sAttrName) Then oAttr = oAttrSet.Item(sAttrName) Select Case oAttr.Value Case "Revisionsnummer": If oDrawDoc.PropertySets.Item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").Item(iPropRevNr).Value > 0 Then oTextBox.Text = oDrawDoc.PropertySets.Item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").Item(iPropRevNr).Value Else oTextBox.Text = " " End If Case "Visum": If oDrawDoc.PropertySets.Item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").Item(iPropRevNr).Value > 0 _ And Not oDrawDoc.PropertySets.Item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").Item(iPropVisum).Value = "" Then oTextBox.Text = oDrawDoc.PropertySets.Item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").Item(iPropVisum).Value Else oTextBox.Text = " " End If Case "Datum": If oDrawDoc.PropertySets.Item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").Item(iPropRevNr).Value > 0 _ And Not oDrawDoc.PropertySets.Item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").Item(iPropDatum).Value = #1/1/1601# Then oTextBox.Text = oDrawDoc.PropertySets.Item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").Item(iPropDatum).Value Else oTextBox.Text = " " End If End Select End If End If Next Call oTitleBlock.Definition.ExitEdit(True)
------------------ MfG Ralf
RKW Solutions GmbH www.RKW-Solutions.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
phiko Mitglied
Beiträge: 47 Registriert: 20.04.2005
|
erstellt am: 12. Mrz. 2021 09:51 <-- editieren / zitieren --> Unities abgeben:
Hallo Ralf Danke erneut für deine Mühe. Ich habe das mal so umgesetzt wie von dir vorgeschlagen beide iLogic-Regeln erstellt und ausgeführt. Das Vergeben der Attribute hat funktioniert. Sollen diese dann in den iProperties erscheinen? Wenn ja, hat das doch nicht funktioniert. Die iProperties für Datum und Visum heissen "Freigegeben am" und "Freigegeben von". Ich habe dies so in deinem Code überall geändert. Trotzdem erscheint bei der Ausführung der Regel folgende Fehlermeldung (während dem, dass das Bearbeiten des Schriftfeldes öffnet): Fehler in Regel: UpdateTitleBlock in Dokument: E0000978.idw Unbekannter Fehler (Ausnahme von HRESULT: 0x80004005 (E_FAIL)) Weitere Infos: System.Runtime.InteropServices.COMException (0x80004005): Unbekannter Fehler (Ausnahme von HRESULT: 0x80004005 (E_FAIL)) bei System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData& msgData) bei Inventor.PropertySet.get_Item(Object Index) bei ThisRule.Main() bei Autodesk.iLogic.Exec.AppDomExec.ExecRuleInAssembly(Assembly assem) bei iLogic.RuleEvalContainer.ExecRuleEval(String execRule) Diese Meldung muss ich viermal bestätigen. Was habe ich falsch gemacht? Sichtbar ist im Schriftkopf a, b, und c. Vor und nach dem Ausführen der Regeln. mfg Philipp
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2580 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 12. Mrz. 2021 13:13 <-- editieren / zitieren --> Unities abgeben: Nur für phiko
Hallo Nein, Attribute sind über die normale GUI von Inventor nicht sichtbar/bearbeitbar. Existieren die drei benutzerdefinierten iProperties? Es wird nicht geprüft, ob die vorhanden sind, daher kann das schon der Auslöser sein. Revisionsnummer muss existieren und entweder 0 oder den jeweiligen Revisionsstand enthalten. Ansonsten muss der Code angepasst werden. Freigegeben am muss ein iPropertie vom Typ Datum sein, darf aber deaktiviert werden (Häkchen raus). Das wird intern durch den Wert 01.01.1601 dargestellt. Freigegeben von ist ein iPropertie vom Typ Text und kann leer sein. EDIT: Script etwas überarbeitet, damit fehlende iProps mit Defaultwerten erstellt werden. Code:
Sub Main()' iLogic Regel UpdateTitleBlock ' aktualisiert ein Textfeld ' Attribute zur Identifizierung genutzt Const sAttrSetName As String = "RKW" '<--- AttributeSets sollten einen eindeutigen Namen haben Const sAttrName As String = "TextBoxName" '<--- Attribute sollten einen eindeutigen Namen haben Const iPropRevNr As String = "Revisionsnummer" '<--- Name des benutzerdefinierten iProps, aus dem die Revisionsnummer gelesen wird Const iPropDatum As String= "Freigegeben am" '<--- Name des benutzerdefinierten iProps, aus dem das Datum gelesen wird Const iPropVisum As String = "Freigegeben von" '<--- Name des benutzerdefinierten iProps, aus dem Visum gelesen wird Dim oApp As Inventor.Application oApp = ThisApplication
Dim oDrawDoc As DrawingDocument oDrawDoc = oApp.ActiveDocument Call AddProp(oDrawDoc, iPropRevNr, "Number") Call AddProp(oDrawDoc, iPropDatum, "Date") Call AddProp(oDrawDoc, iPropVisum, "String") Dim oSheet As Sheet oSheet = oDrawDoc.ActiveSheet Dim oTitleBlock As TitleBlock oTitleBlock = oSheet.TitleBlock Dim oTextBoxes As TextBoxes oTextBoxes = oTitleBlock.Definition.Sketch.TextBoxes Dim oDefSketch As DrawingSketch Call oTitleBlock.Definition.Edit(oDefSketch) Dim oTextBox As Inventor.TextBox Dim oAttrSet As AttributeSet Dim oAttr As Inventor.Attribute For Each oTextBox In oDefSketch.TextBoxes If oTextBox.AttributeSets.NameIsUsed(sAttrSetName) Then oAttrSet = oTextBox.AttributeSets.Item(sAttrSetName) If oAttrSet.NameIsUsed(sAttrName) Then oAttr = oAttrSet.Item(sAttrName) Select Case oAttr.Value Case "Revisionsnummer" : If oDrawDoc.PropertySets.Item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").Item(iPropRevNr).Value > 0 Then oTextBox.Text = oDrawDoc.PropertySets.Item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").Item(iPropRevNr).Value Else oTextBox.Text = " " End If Case "Visum" : If oDrawDoc.PropertySets.Item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").Item(iPropRevNr).Value > 0 And Not oDrawDoc.PropertySets.Item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").Item(iPropVisum).Value = "" Then oTextBox.Text = oDrawDoc.PropertySets.Item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").Item(iPropVisum).Value Else oTextBox.Text = " " End If Case "Datum" : If oDrawDoc.PropertySets.Item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").Item(iPropRevNr).Value > 0 And Not oDrawDoc.PropertySets.Item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").Item(iPropDatum).Expression = "" Then oTextBox.Text = oDrawDoc.PropertySets.Item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").Item(iPropDatum).Expression Else oTextBox.Text = " " End If End Select End If End If Next Call oTitleBlock.Definition.ExitEdit(True) End Sub Private Sub AddProp(ByVal oDrawDoc As DrawingDocument, ByVal sPropName As String, ByVal sPropType As String) Try Dim oPropSet As PropertySet oPropSet = oDrawDoc.PropertySets.Item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}") Select Case sPropType Case "String": Call oPropSet.Add("", sPropName) Case "Number": Call oPropSet.Add(0, sPropName) Case "Date": Call oPropSet.Add(CDate(#1/1/1601#), sPropName) End Select Catch End Try End Sub
------------------ MfG Ralf
RKW Solutions GmbH www.RKW-Solutions.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
phiko Mitglied
Beiträge: 47 Registriert: 20.04.2005
|
erstellt am: 15. Mrz. 2021 10:52 <-- editieren / zitieren --> Unities abgeben:
Hallo Ralf Wow, hat funktioniert bei Ausgabe 0. → Die Zeile ist leer. Kompliment! Bei Ausgabe 2 bleibt aber Revision/ Datum/ Visum auch leer. Wir kommen der Sache näher Ein kleiner Schönheitsfehler ist noch dabei. Beim Speichern wechselt Inventor kurz in den Bearbeitungsmodus der Schriftfelder und wieder zurück. Muss wohl so sein, oder? Gruss Philipp Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2580 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 15. Mrz. 2021 13:16 <-- editieren / zitieren --> Unities abgeben: Nur für phiko
Hallo Ja, man muss den Bearbeitungsmodus aktivieren, sonst kann man die Textfelder nicht bearbeiten. Jedenfalls habe ich zwischen einer Fehlermeldung und einem Inventorabsturz so ziemlich alles produziert beim Versuch es ohne zu probieren. Wenn das mal stabil und fehlerfrei läuft kann man das ScreenUpdating ausschalten, dann sieht der User nichts von dem Wechsel. Wenn's stört kann man das aktivieren. Tritt dann unerwartet ein Fehler auf, kann es sein, dass dieser "Standbildmodus" aktiv bleibt. Dann kannst Inventor nur noch ohne Speichern über den Taskmanager abschießen. Daher bin ich in VBA etwas vorsichtig mit der Verwendung der Option. Das Script unterscheidet anhand des benutzerdefinierten iProps "Revisionsnummer" ob nichts eingetragen wird oder die Werte. Heißt das iProp jetzt Ausgabe? ------------------ MfG Ralf RKW Solutions GmbH www.RKW-Solutions.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|