Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Inventor
  iLogic Dokument-Regel vs externe Regel

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

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
  
PDM Sucess Story: Von Vault zu GAIN Collaboration (GAIN Collaboration,PDM,PDM System,PLM,PLM System)
Autor Thema:  iLogic Dokument-Regel vs externe Regel (2045 mal gelesen)
OibelTroibel
Mitglied
Konstrukteur


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

Beiträge: 595
Registriert: 18.04.2014

ACAD/Inventor 2018-21

erstellt am: 23. Mrz. 2020 14:36    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

Hallo zusammen

Ich habe einen iLogic-Code, der über eine "interne" Regel ausführt funktioniert und über eine externe Regel nicht das macht was er soll. Ist das möglich, bzw sollte es nicht irrelevant sein woher der Code ausgeführt wird?

Code:
'Prüfen ob Dokument gespeichert wurde
Select ThisDoc.Document.FileSaveCounter
Case 0
MessageBox.Show("Bitte Bauteil zuerst speichern", "Speichererinnerung", MessageBoxButtons.OK, MessageBoxIcon.Stop)
Return
End Select

' Sicherstellen, dass nur .ipt berücksichtigt werden
Select Right(ThisDoc.FileName(True), 4)
Case ".idw"
Return
Case ".dwg"
Return
Case ".iam"
Return
Case ".ipn"
Return
End Select

'Prüfen ob Paramater "Beschaffung" bereits vorhanden ist und allenfalls erstellen
Dim oUserParameter As UserParameters
oUserParameter=ThisDoc.Document.ComponentDefinition.Parameters.UserParameters                         

Try
otester = oUserParameter.Item("Beschaffung")
Catch
oParameter=oUserParameter.AddByValue("Beschaffung", "3D-Druck", UnitsTypeEnum.kTextUnits)
MultiValue.SetList("Beschaffung", "3D-Druck", "Blechteil", "Drehteil", "Einkaufsteil", "Frästeil", "nicht definiert", "Plexiglas")

Parameter ("Beschaffung") = (InputListBox("Beschaffungsmethode wählen", MultiValue.List("Beschaffung"), Beschaffung, Title := "Beschaffungsmethode", ListName := "Auswahl"))
End Try
'iLogicVb.UpdateWhenDone=True

If Beschaffung = "nicht definiert" Then

'Liste der zu löschenden Benutzerproperties
Dim MyArrayList As New ArrayList
MyArrayList.Add("Beschaffung")

Dim oCustProp As Inventor.Property

'definiere Liste aller Benutzerproperties
oCustomPropertySet = ThisDoc.Document.PropertySets.Item("Inventor User Defined Properties")
'durchsuche alle properties der Liste
For Each oCustProp In oCustomPropertySet
'prüfe die Liste nach der zu löschenden Properties
If MyArrayList.Contains(oCustProp.Name)Then
'lösche das Benutzerpropertie
oCustProp.Delete
Else
'mache nichts
End If
Next

Else
iProperties.Value("Custom", "Beschaffung") = Beschaffung
End If
'iLogicVb.UpdateWhenDone=True


von der externen Regel ausgeführt, bleibt das benutzdefinierte iPropertie leer, von intern ausgeführt wird die Eigenschaft korrekt befüllt.

Beste Grüsse
Raphael

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

muellc
Ehrenmitglied V.I.P. h.c.
ICT Specialist



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

Beiträge: 3501
Registriert: 30.11.2006

Inventor 2017.4.12 64 bit
Windows 10 Enterprise 64 bit
3DEXPERIENCE R2016x
--------------------
HP Z-Book 15 G4
32 Gig Ram
NVIDIA Quadro M2200
2x HP E243i

erstellt am: 24. Mrz. 2020 08:30    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 OibelTroibel 10 Unities + Antwort hilfreich

Hallo Raphael,

ändere mal

Code:
iProperties.Value("Custom", "Beschaffung") = Beschaffung

in

Code:
iProperties.Value("Custom", "Beschaffung") = Parameter("Beschaffung")

------------------
Gruß, Gandhi
Kampfkunst Siegen Outdoor Training

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

OibelTroibel
Mitglied
Konstrukteur


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

Beiträge: 595
Registriert: 18.04.2014

ACAD/Inventor 2018-21

erstellt am: 25. Mrz. 2020 22:23    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

Hallo muellc

Vielen Dank für dein Tipp, funktioniert nun bestens
Was genau ist der Unterschied der beiden Schreibweisen?

Beste Grüsse
Raphael

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

muellc
Ehrenmitglied V.I.P. h.c.
ICT Specialist



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

Beiträge: 3501
Registriert: 30.11.2006

Inventor 2017.4.12 64 bit
Windows 10 Enterprise 64 bit
3DEXPERIENCE R2016x
--------------------
HP Z-Book 15 G4
32 Gig Ram
NVIDIA Quadro M2200
2x HP E243i

erstellt am: 26. Mrz. 2020 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 OibelTroibel 10 Unities + Antwort hilfreich

Ganz ehrlich?
KEine AHnung.

Ich würde mal schätzen das meine Schreibweise eindeutiger ist als ein eingefügter Name, aber ich bin was ILogic angeht immer noch ein Anfänger.

------------------
Gruß, Gandhi
Kampfkunst Siegen Outdoor Training

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

OibelTroibel
Mitglied
Konstrukteur


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

Beiträge: 595
Registriert: 18.04.2014

ACAD/Inventor 2018-21

erstellt am: 27. Mrz. 2020 10:44    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

Danke für deine ehrliche Antwort Ich werde es mir aber angewöhnen die eindeutigere Schreibweise zu verwenden.

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

Philfi
Mitglied
Student


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

Beiträge: 14
Registriert: 12.11.2021

erstellt am: 26. Nov. 2021 08:27    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 OibelTroibel 10 Unities + Antwort hilfreich

Hallo,

ich habe ein ähnliches Problem wie Raphael.
Ich habe eine Baugruppe in der ich in der Parameterliste (fx) Parameter definiert habe.
Diese waren bislang in internen Regeln definiert, sodass sich bei Änderung eines Parameters mein Modell
sofort verändert (aktualisiert) hat.
Jetzt wollte ich jedoch externe Regeln erstellen.
Das Problem ist nun jedoch, dass über die externen Regeln mein Modell sich nicht verändert bei Änderung
einzelner Parameter (fx).
Ich habe eine interne Regel erstellt in der ich mit dem Befehl
iLogicVb.RunExternalRule
die externe Regel ausführen will. Bislang hat kein Lösungsweg funktioniert.

Kann ich damit auch gleichzeitig mehrere externe Regeln ausführen lassen?

Könnte mir da jemand weiterhelfen?
Vielen Dank im Voraus.

MfG
Philipp

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

iogurt
Mitglied
Konstrukteur


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

Beiträge: 264
Registriert: 30.09.2005

Inventor 2021 Professional

erstellt am: 26. Nov. 2021 08:35    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 OibelTroibel 10 Unities + Antwort hilfreich

Philipp, hast du den Dateipfad, in dem deine externe Regel gespeichert ist, bei der iLogic-Konfiguration hinzugefügt? Wenn nicht, probier das mal:

"Extras" -> kleiner Pfeil neben "Optionen" -> "iLogic-Konfiguration" und dann den Pfad hinzufügen, und vielleicht noch den Dateityp anpassen (unsere externen Regeln sind alle .txt)

[Diese Nachricht wurde von iogurt am 26. Nov. 2021 editiert.]

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

Philfi
Mitglied
Student


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

Beiträge: 14
Registriert: 12.11.2021

erstellt am: 26. Nov. 2021 10:51    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 OibelTroibel 10 Unities + Antwort hilfreich

Hatte ich tatsächlich nicht hinterlegt, hat aber leider das Problem nicht gelöst.
Ich hatte es jetzt auch einem ganz einfachen Beispiel versucht zu lösen:
-externe Regel (Name: "Testen") erstellt mit einer Formel:
    Parameter("Ergebnis") = Parameter("a") * Parameter("b")
-in der Parameterliste (fx) die Parameter "Ergebnis", "a" und "b" definiert
-interne Regel erstellt:
    iLogicVb.RunExternalRule("Testen")
    InventorVb.DocumentUpdate()

Oder muss das anders gelöst werden?

Verändere ich die Parameter "a" oder "b" passiert nichts, führe ich die Regel aber anschließend manuell nochmal aus, wird das "Ergebnis" mit den veränderten Parametern berechnet. Also es passiert nicht automatisch.

MfG
Philipp

[Diese Nachricht wurde von Philfi am 26. Nov. 2021 editiert.]

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Windows 10 x64, AIP 2023

erstellt am: 27. Nov. 2021 13:23    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 OibelTroibel 10 Unities + Antwort hilfreich

Hallo

Damit die interne Regel automatisch ausgeführt wird, müssen darin in irgendeiner Form die beiden Parameter auftauchen. Am einfachsten weist man Variablen die Werte zu. Dann läuft auch die externe Regel. Ansosnten würde jede (nicht unterdrückte) interne Regel bei einer Parameteränderung loslaufen.

Code:

Dim dummy_A As Object = a
Dim dummy_B As Object = b

iLogicVb.RunExternalRule("externe_Regel_Parameter_Update")



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

RKW Solutions GmbH
www.RKW-Solutions.com

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

Philfi
Mitglied
Student


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

Beiträge: 14
Registriert: 12.11.2021

erstellt am: 29. Nov. 2021 13:28    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 OibelTroibel 10 Unities + Antwort hilfreich

Hallo,

super danke, damit klappt es nun wie ich es wollte.
Es ist zwar etwas mühsam jeden Parameter manuell einzufügen, aber es funktioniert.

MfG
Philipp

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Windows 10 x64, AIP 2023

erstellt am: 29. Nov. 2021 13:50    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 OibelTroibel 10 Unities + Antwort hilfreich

Hallo

Dafür wurde ja der Trigger "Beliebige Modellparameteränderung" und "Beliebige Userparameteränderung" eingeführt. Packt man die externe Regel da rein, sollte sie auch laufen. Man muss dabei nur im Hinterkopf behalten: Wenn man sehr viele Parameter nacheinander ändert, läuft die Regel über diese Trigger bei JEDER einzelnen Änderung. Je nachdem was dann gemacht wird, kann das dauern.

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

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 | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz