Community
Inventor - Deutsch
Das Forum für alle Fragen rund um Autodesk Inventor, iLogic, Factory Design, Automation und mehr. Der Ort zum Fragen stellen, Antworten erhalten und Wissen teilen.
abbrechen
Suchergebnisse werden angezeigt für 
Anzeigen  nur  | Stattdessen suchen nach 
Meintest du: 

iLogic Regel ungewollt mit mit Parameter verknüpft

6 ANTWORTEN 6
GELÖST
Antworten
Nachricht 1 von 7
haistshomie
307 Aufrufe, 6 Antworten

iLogic Regel ungewollt mit mit Parameter verknüpft

Guten Abend,

ich habe ein etwas merkwürdiges Problem:
Ich habe eine über ein Formular gesteuerte Baugruppe erstellt, aus welcher sich über eine iLogic-Regel Zeichnungen ableiten lassen. Nun habe ich einen einzelnen Parameter in meiner Baugruppe, welcher bei Veränderung die Regel zur Zeichnungsableitung startet und nach dem Zeichnungstemplate fragt. Im Code sind Parameter (welcher nur Abmaße steuert) und Regel meines Erachtens nicht verknüpft. Der Parameter steuert nur If/Else-Bedingungen alles unspektakulär.

Eine neue Regel mit anderem Namen erstellen, den Code hineinkopieren und die alte Regel löschen funktioniert auch nicht. Gibt es andere Möglichkeiten wieso die Regel automatisch angesprochen werden könnte? Oder vielleicht eine Möglichkeit herauszufinden wodurch die Regel angesprochen wird?

Danke vorab!

Code wie folgt, Bild zum Parameter (nichts anderes als im Bild zu sehen tut er) im Anhang:

Sub Main
	
'	iLogicVb.RunRule("Für Schnittansicht")
'	iLogicVb.RunRule("Für Bemaßungen")
'	iLogicVb.RunRule("Welche Platten")
	
	'ThisDoc.Document.Save
		
	'Abfrage ob Bauteil gespeichert wurde
	Try
		ThisDoc.Document.Save
	Catch 
		MessageBox.Show("Sie müssen die Baugruppe zuerst speichern", "Warnung", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)
		Return
	End Try
	
	'Shared Variablen anlegen und Funktion zum Aufrufen des Templates aufrufen
	SharedVariable("currentPath") = ThisDoc.Path
	SharedVariable("newFileName") = ThisDoc.FileName(False)
	SharedVariable("Plattenlänge_Grund") = Plattenlänge_Grund
	SharedVariable("Plattenlänge_Schnitt") = Plattenlänge_Schnitt

	Dim dwgTemplateName As String = SelectTemplate()
	Dim newDWGFile As String = SharedVariable("currentPath") & "\" & SharedVariable("newFileName") & ".dwg"
	
	If dwgTemplateName = String.Empty Then Return
	
	Dim oDoc As DrawingDocument = ThisApplication.Documents.Open(dwgTemplateName, False)
	auto = iLogicVb.Automation
	auto.RunRule(oDoc, "Save Copy As")
	oDoc.Close
	
	openDWG = MessageBox.Show("Zeichnung jetzt öffnen?", "Info", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)
	If openDWG = vbYes Then
		oDoc = ThisApplication.Documents.Open(newDWGFile, True)
	End If
End Sub

Function SelectTemplate()
	Dim oFileOp As FileOptions = ThisApplication.FileOptions
	Dim FilePath As String = String.Empty
	
	Dim fd As System.Windows.Forms.OpenFileDialog = New System.Windows.Forms.OpenFileDialog()
	Dim strFileName As String = String.Empty
	
	fd.Title = "Open File Dialog"
	fd.InitialDirectory = oFilePath
	fd.Filter = "Inventor Drawing Files (*.dwg)|*.dwg"
	fd.FilterIndex = 2
	fd.RestoreDirectory = True
	fd.ShowDialog()
	
	strFileName = fd.FileName
	Return fd.FileName
End Function 

 

Tags (2)
Beschriftungen (1)
6 ANTWORTEN 6
Nachricht 2 von 7
jeremy.goenen
als Antwort auf: haistshomie

Hallo,

ich nehme an dass dein Parameter "Schneidkastengröße" diese zwei

jeremygoenen_0-1715926323724.png

verändert, was die Regel auslöst.

Du kannst entweder die Automatische Auslösung abschalten:

jeremygoenen_0-1715926652469.png

oder die Regel unterdrücken.

Fanden Sie diesen Beitrag hilfreich? Fühlen Sie sich frei, diesen Beitrag zu liken.
Wurde Ihre Frage erfolgreich beantwortet? Klicken Sie dann auf die Schaltfläche LÖSUNG AKZEPTIEREN

Inventor Versionen:
2023.4.1
2024.2
Nachricht 3 von 7
RaphaelMichel
als Antwort auf: haistshomie

Kann es sein, dass es sich um eine lokale und nicht eine globale Regel handelt?

Nachricht 4 von 7
haistshomie
als Antwort auf: jeremy.goenen

Ja, das tut sie tatsächlich. Mir war nicht bewusst, dass eine Veränderung der Variablen automatisch die gesamte Regel auslöst, aber das ergibt jetzt natürlich Sinn. Daran hat es wohl auch gelegen. Danke dir!

Nachricht 5 von 7
haistshomie
als Antwort auf: RaphaelMichel

Ja tut es, aber gibt es da einen Unterschied? Aus der Masterbaugruppe werden verschiedene Varianten erzeugt. Die Regel wird jedes Mal mit kopiert, dachte daher, dass es ausreichend ist eine lokale Regel zu verwenden, damit diese bei anderen Baugruppen nicht stört. Vielleicht habe ich hier aber auch etwas nicht bedacht, ich bin noch sehr neu was das Thema iLogic angeht.

Nachricht 6 von 7
jeremy.goenen
als Antwort auf: haistshomie

- Eine Globale Regel die Parameter Referenzen enthält wird nicht Automatisch ausgeführt, da die Regel keinen Bezug (welches Dokument) für den Parameter hat, bis sie ausgeführt wird. Diese werden nur durch Ereignisauslöser, Manuelles auslösen oder Aufruf durch Code gestartet.

- Eine Lokale Regel liest die Parameter dauerhaft, und wird ausgelöst falls diese sich ändern. Es sei denn du verhinderst dass wie in meinem vorherigen Kommentar beschrieben.

Du kannst dieses verhalten auch zu deinem Vorteil nutzen indem du zum Bsp. einen Parameter der nichts mit deiner Regel zu tun hat, als Auslöser verwendest: 

	trigger = 'dein Auslöse Parameter hier'

 Am Anfang einer Regel.

Fanden Sie diesen Beitrag hilfreich? Fühlen Sie sich frei, diesen Beitrag zu liken.
Wurde Ihre Frage erfolgreich beantwortet? Klicken Sie dann auf die Schaltfläche LÖSUNG AKZEPTIEREN

Inventor Versionen:
2023.4.1
2024.2
Nachricht 7 von 7
RaphaelMichel
als Antwort auf: haistshomie

Jeremy hat bereits alles gesagt was es zu den unterschiedlichen Regeln zu sagen gibt und genau darauf wollte ich aus.

 

Edit: Was mir noch in den Sinn gekommen ist, dass du bei einer externen Regel deine Parameter anders deklarieren musst.
Statt gleich den Parameter Plattenlänge_Grund musst du Parameter("Plattenlänge_Grund") verwenden.

Sie finden nicht, was Sie suchen? Fragen Sie die Community oder teilen Sie Ihr Wissen mit anderen.

In Foren veröffentlichen  

Autodesk Design & Make Report