Hot News:
   

Mit Unterstützung durch:

  Foren auf CAD.de
  Inventor
  Externe iLogic regel funktioniert nicht korrekt über Globales Formular

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
  
2D- und 3D-Bauvisionen in der Revit Weiterbildung mit IHK-Zertifizierung , ein Kurs (bis zu 100% förderbar mit Bildungsgutschein)
Autor Thema:  Externe iLogic regel funktioniert nicht korrekt über Globales Formular (117 / mal gelesen)
Teamoh
Mitglied


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

Beiträge: 8
Registriert: 29.10.2024

ArbeitsPC / Homeoffice PC
CPU: i7-5930K / i7-9700K
RAM: 32GB / 64GB
GPU: GTX1050 / RTX2070SUPER
OS: Win 10 Pro / Win 11 Pro
Inventor 2025.1.2 + Vault Basic

erstellt am: 18. Nov. 2025 09:38    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

Moin zusammen,
ich habe eine externe iLogic Regel welche ich per klick über ein globales Formular auslöse.
Das Formular startet sobald ich eine IDW öfffne..
Wenn ich nun die Regel ausführe klappt alles (Erstellungsdatum wird auf heute gesetzt),
sofern ich aber eine 2. IDW öffne die aktiv im Vorgrund ist, wird dennoch auf die 1. IDW zugegriffen.
Dies kann ich nur umgehen, wenn ich die Regel über den iLogicbaum ausführe oder aber das Formular schließe und erneut öffne.
Das möchte ich allerdinges gern alles umgehen.

Jemand ne Idee was ich ändern müsste, damit die Regel nicht auf das "falsche" Dokument zugreift?

Hier nun die Regel:
' iLogic-Regel: Beim Speichern fragen, ob "Erstellungsdatum" auf heute gesetzt werden soll.
' Erweiterung: prüft, ob es sich um eine .idw handelt

If ThisDoc.Document.DocumentType <> kDrawingDocumentObject Then
    MsgBox("Dies ist keine Zeichnung (.idw).", vbExclamation, "iLogic – Hinweis")
    Return
End If

Dim fileName As String = ThisDoc.FileName(True) ' mit Endung
If Not fileName.ToLower().EndsWith(".idw") Then
    MsgBox("Dies ist zwar eine Zeichnung, aber keine .idw-Datei." & vbCrLf & _
          "Aktuelle Datei: " & fileName, vbExclamation, "iLogic – Hinweis")
    Return
End If

Try
    Dim antwort As MsgBoxResult
    antwort = MsgBox("Erstellungsdatum auf heutiges Datum setzen?", vbYesNo + vbQuestion, "iLogic – Erstellungsdatum")

    If antwort = vbYes Then
        Dim heute As String = Now.ToString("dd.MM.yyyy")
        Dim setOk As Boolean = False

        Dim props As Object() = New Object() {
            New String() {"Project", "Creation Date"}
        }

        For Each kv In props
            Try
                iProperties.Value(kv(0), kv(1)) = heute
                setOk = True
                Exit For
            Catch
                ' ignorieren
            End Try
        Next

        If setOk Then
            ThisDoc.Document.Update()
            ThisDoc.Document.Save()
            MsgBox("Erstellungsdatum wurde auf " & heute & " gesetzt und die Zeichnung gespeichert.", vbInformation, "iLogic")
        Else
            MsgBox("Konnte das iProperty nicht setzen. Prüfe iProperty-Namen oder lege ein benutzerdefiniertes Property an.", vbExclamation, "iLogic")
        End If
    End If

Catch ex As Exception
    MsgBox("Fehler in der iLogic-Regel: " & ex.Message, vbCritical, "iLogic Fehler")
End Try


------------------
MfG Timo

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: 2960
Registriert: 15.11.2006

Windows 10 x64, AIP 2020-2025

erstellt am: 18. Nov. 2025 11: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 Teamoh 10 Unities + Antwort hilfreich

Moin

Wenn das Formular geöffnet bleibt, während du eine andere Zeichnung öffnest, bleibt das Formular trotzdem im Kontext der ursprünglichen Zeichnung. Deswegen wird auch deine Regel im Kontext der ersten Zeichnung ausgeführt. Konkret heißt das, die Variable ThisDoc enthält immer noch die erste Zeichnung. Versuch es stattdessen mit ThisApplication.ActiveDocument, statt ThisDoc.Document.

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

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

Teamoh
Mitglied


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

Beiträge: 8
Registriert: 29.10.2024

ArbeitsPC / Homeoffice PC
CPU: i7-5930K / i7-9700K
RAM: 32GB / 64GB
GPU: GTX1050 / RTX2070SUPER
OS: Win 10 Pro / Win 11 Pro
Inventor 2025.1.2 + Vault Basic

erstellt am: 18. Nov. 2025 11:34    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

Leider kommt es auf's gleiche hinaus. Das Formular scheint mit der Datei "verheiratet" zu sein die beim öffnen aktiv war.
Wenn ich das Formular nun manuell schließe und wieder öffne nimmt er die IDW die gerade aktiv im Vodergund ist. Mein Gedanke war nun, dass ich das Formular kurz schließ und öffne

iLogicForm.CloseGlobal("Zeichnungsoptionen")
iLogicForm.ShowGlobal("Zeichnungsoptionen")

Danach klapppt alles wie gewünscht
Nun will ich aber nicht 2 mal klicken, also dachte ich mir, baue ich das mit in den anderen geänderten Code wie beschreiben ein. Leider selbes verhalten wie zuvor, selbst wenn ich mit einer Verzügerung arbeite.

------------------
MfG Timo

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: 2960
Registriert: 15.11.2006

Windows 10 x64, AIP 2020-2025

erstellt am: 18. Nov. 2025 11:41    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 Teamoh 10 Unities + Antwort hilfreich

Moin

Achso, die iProperties.Value Funktion ist auch so eine iLogic Abkürzung, die den aktuellen Kontext benutzt. Die muss auch ersetzt werden.

------------------
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