| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Regel zum Erfassen der Schnittlänge für Laserteile (1013 / mal gelesen)
|
tschütte Mitglied Ingenieur, Maschinenbau
Beiträge: 180 Registriert: 21.01.2010 Inventor professional 2013 win7-64 DELL Vostro
|
erstellt am: 27. Mrz. 2020 12:02 <-- editieren / zitieren --> Unities abgeben:
Liebe Community, im Inventor -Forum habe ich freundlicherweise folgenden iLogic-Code erhalten: Oberfläche = iProperties.Area Volumen= iProperties.Volume Schnittlänge = Oberfläche / Objekthöhe - 2 * Volumen / Objekthöhe ^ 2 iProperties.Value("Custom", "Schnittlänge") = CStr(Round(Schnittlänge, 1)) & " mm" Dieser funktioniert in vielen Fällen auch. Es gibt aber zwei Probleme: 1.) die Regel muss in der Bauteildatei gespeichert sein. Als externe Regel funktioniert es nicht. 2.) bei manchen Bauteilen funktioniert er auch als interne Regel nicht. Die Fehlermeldungen sehen dann so oder ähnlich aus: "-nan(ind)" Kann da Jemand einen Tip geben? Vielen Dank für Dein Interesse
------------------ Herzliche Grüße Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2166 Registriert: 15.11.2006 Windows 10 x64, AIP 2022
|
erstellt am: 27. Mrz. 2020 21:22 <-- editieren / zitieren --> Unities abgeben: Nur für tschütte
Hallo Die Definition von "Objekthöhe" fehlt in deinem Code. Daher kommt in der Formel "Schnittlänge" ein Not a Number (NaN) als Ergebnis für uns raus. Setzt man da mal irgendeinen Zahlenwert läuft das auch als externe Regel. Auch mit der Einheit "mm" dahinter geht das dann. Was ist Objekthöhe und woher kommt der Wert? Ist das gelegentliche Fehlen dieses Wertes die Ursache des uneinheitlichen Verhaltens?
------------------ MfG Ralf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tschütte Mitglied Ingenieur, Maschinenbau
Beiträge: 180 Registriert: 21.01.2010 Inventor professional 2013 win7-64 DELL Vostro
|
erstellt am: 28. Mrz. 2020 14:20 <-- editieren / zitieren --> Unities abgeben:
Hallo Ralf, vielen Dank für Deinen Hinweis. "Objekthöhe" ist bei neueren Blechteilen das, was früher als "Stärke" bezeichnet war, also die Blechdicke. Demnach müsste es bei neueren Teilen auch vorhanden sein (eventuell fehlt da auch der Haken in den Parametern, der diesen Wert als Exportparameter an die iProperties übergibt. Das werde ich am Montag prüfen, wenn ich wieder an dem Inventor-Arbeitsplatz sitze. Das würde dann das teilweise Nichtfunktionieren der internen Regel erklären. Warum aber bei allen Teilen die externe Regel versagt erschließt sich mir damit aber auch nicht. ------------------ Herzliche Grüße Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tschütte Mitglied Ingenieur, Maschinenbau
Beiträge: 180 Registriert: 21.01.2010 Inventor professional 2013 win7-64 DELL Vostro
|
erstellt am: 30. Mrz. 2020 10:39 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, der Fehler bei der Berechnung der Schnittlänge per interner Regel kam tatsächlich durch die mangelnde Verfügbarkeit der "Objekthöhe" zustande, ist also kein Problem mehr. Nochmals vielen Dank für den Hinweis. Weiterhin besteht jedoch das Problem, dass es nicht als externe Regel läuft. Das ist schon blöd, weil die Schnittlänge letztendlich für fast alle Bauteile ausgerechnet und ausgegeben werden sollen. Mittlerweile habe ich den Code deshalb angepasst: Oberfläche = iProperties.Area Volumen= iProperties.Volume Schnittlänge = Oberfläche / Objekthöhe - 2 * Volumen / Objekthöhe ^ 2 'iProperties.Value("Custom", "Schnittlänge") = Round(Schnittlänge,1) iProperties.Value("Custom", "Schnittlänge") = Round(Parameter("Schnittlänge"),1) Das hat leider nur eine Fehlermeldung gebracht: "Fehler in Regel: Regel0 in Dokument: 4020036.ipt Parameter: Keinen Parameter mit dem Namen "Schnittlänge" gefunden": Anscheinend reicht es nicht, nur die letzte Zeile anzupassen. Oder ... Hat noch Jemand eine Idee? ------------------ Herzliche Grüße Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KraBBy Mitglied Maschinenbau-Ingenieur
Beiträge: 601 Registriert: 19.09.2007 Inventor Professional 2020 WinX
|
erstellt am: 30. Mrz. 2020 13:51 <-- editieren / zitieren --> Unities abgeben: Nur für tschütte
mein Vorschlag. Darin wird auf die beiden Parameter Stärke und Objekthöhe geprüft. Keine Fehlermeldung, falls keiner der beiden existiert. Im Benutzer-iProp. landet dann /-/ Code: Dim bFehler As Boolean = False Dim Oberfl, Vol, s 'Deklaration der Variablen Oberfl = iProperties.Area Vol= iProperties.Volume Parameter.Quiet = True 'keine Fehlermeldung, wenn Parameter nicht existiert s = Parameter("Stärke") If s Is Nothing Then 'Parameter "Stärke" existiert nicht 'MsgBox("Param nicht da") s = Parameter("Objekthöhe") 'anderen Parameter versuchen If s Is Nothing Then 'auch diesen Parameter gibts nicht bFehler = True 'damit passiert unten was anderes End If End If Parameter.Quiet = FalseDim sL 'Variable für Schnittlänge If Not bFehler Then 'Parameter Stärke oder Objekthöhe gefunden -> Berechnung sL = Oberfl / s - 2 * Vol / s ^ 2 'Schnittlänge = Oberfläche/Blechdicke - 2xVolumen/Blechdicke^2 'in Worten 'in iProp schreiben iProperties.Value("Custom", "Schnittlänge") = Round(sL,1) Else ' Paramter nicht gefunden iProperties.Value("Custom", "Schnittlänge") = "/-/" 'irgend ein ~nicht verfügbar~Zeichen End If 'nur zum Testen 'MsgBox("Fläche / Volumen / Blechstärke / Schnittlänge" & vbCrLf & Oberfl & vbCrLf & Vol & vbCrLf & s & vbCrLf & sL)
Edit: das funzt (in meinem kleinen Test) auch als externe Regel ------------------ Gruß KraBBy [Diese Nachricht wurde von KraBBy am 30. Mrz. 2020 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tschütte Mitglied Ingenieur, Maschinenbau
Beiträge: 180 Registriert: 21.01.2010 Inventor professional 2013 win7-64 DELL Vostro
|
erstellt am: 30. Mrz. 2020 14:10 <-- editieren / zitieren --> Unities abgeben:
|
tschütte Mitglied Ingenieur, Maschinenbau
Beiträge: 180 Registriert: 21.01.2010 Inventor professional 2013 win7-64 DELL Vostro
|
erstellt am: 31. Mrz. 2020 12:15 <-- editieren / zitieren --> Unities abgeben:
|