| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Falscher Parameter??? (1662 mal gelesen)
|
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2015 Professional Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 28. Nov. 2014 08:17 <-- editieren / zitieren --> Unities abgeben:
Hallo Zusammen, ich hoffe mir kann jemand helfen. Ich habe eine Baugruppe von der ich einen Stücklistenauszug machen möchte. In der Baugruppe sind unterschiedlich viele Teile mit unterschiedlichen Längen verbaut. Nun möchte ich die unterschiedlichen Längen in ein userproperty schreiben. Dazu suche ich mir das jeweilige Teil über den Namen der Bauteilnummer heraus,greife mir den Parameter mit der Länge und schreibe den Wert ins Property. Funktioniert auch ganz gut. Bei allen Teilen, die ich abrufe bis auf eines. Ich habe in der Baugruppe 5 UW-Profile verbaut. Alle unterschiedlich lang. Die Bauteilnummer sind UW-Profil 1 bis 5. Bei allen Profilen macht er das was er soll, nur beim UW-Profil 2 fängt er an zu meckern, dass der Parameter falsch sei. Ich habe es jetzt schon x-mal geprüft, der Parameter ist richtig. ich kann sogar den Wert des Parameters sehen, aber er gibt mir immer den Fehler: HRESULT: 0x80070057 Falscher Parameter. Langsam weiß ich aber nicht mehr woran es liegen könnte.
Code: For Each oSubDoc In odoc.AllReferencedDocuments propertyset = oSubDoc.PropertySets.Item("Design Tracking Properties") For Each oProperty In propertyset If oProperty.DisplayName = "Bauteilnummer" Then Expression = oProperty.Expression End If If Microsoft.VisualBasic.Left(Expression, 5) = "GKF 1" Then ' bis jetzt noch nichts ElseIf Microsoft.VisualBasic.Left(Expression, 9) = "UW Profil" Then userpropertyset = oSubDoc.PropertySets.Item("Inventor User Defined Properties") For Each userproperty In userpropertyset If userproperty.DisplayName = "Nennlänge" Then oParam = oSubDoc.ComponentDefinition.Parameters.Item("Länge_UW") <-------- hier steigt er aus!!! userproperty.Expression = oParam.Value * 10 & " mm" End If Next ElseIf Microsoft.VisualBasic.Left(Expression, 9) = "GF Platte" Then userpropertyset = oSubDoc.PropertySets.Item("Inventor User Defined Properties")
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BernoAn Mitglied
Beiträge: 164 Registriert: 16.01.2014
|
erstellt am: 28. Nov. 2014 13:20 <-- editieren / zitieren --> Unities abgeben: Nur für Chris 31
|
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2015 Professional Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 28. Nov. 2014 13:24 <-- editieren / zitieren --> Unities abgeben:
|
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2166 Registriert: 15.11.2006 Windows 10 x64, AIP 2022
|
erstellt am: 28. Nov. 2014 22:22 <-- editieren / zitieren --> Unities abgeben: Nur für Chris 31
|
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2015 Professional Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 01. Dez. 2014 07:04 <-- editieren / zitieren --> Unities abgeben:
|
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2166 Registriert: 15.11.2006 Windows 10 x64, AIP 2022
|
erstellt am: 01. Dez. 2014 07:12 <-- editieren / zitieren --> Unities abgeben: Nur für Chris 31
|
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2015 Professional Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 01. Dez. 2014 07:15 <-- editieren / zitieren --> Unities abgeben:
|
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2166 Registriert: 15.11.2006 Windows 10 x64, AIP 2022
|
erstellt am: 01. Dez. 2014 18:49 <-- editieren / zitieren --> Unities abgeben: Nur für Chris 31
|
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2015 Professional Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 02. Dez. 2014 07:07 <-- editieren / zitieren --> Unities abgeben:
|
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2015 Professional Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 02. Dez. 2014 07:18 <-- editieren / zitieren --> Unities abgeben:
|
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2166 Registriert: 15.11.2006 Windows 10 x64, AIP 2022
|
erstellt am: 02. Dez. 2014 21:31 <-- editieren / zitieren --> Unities abgeben: Nur für Chris 31
Hallo Ich konnte den Fehler nur provozieren, wenn ich den Parameter umbenannt habe. Kannst du mit Sicherheit ausschließen das der Parameter zu diesem Zeitpunkt nicht existiert? Was anderes fällt mir grad nicht ein. ------------------ MfG Ralf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2015 Professional Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 03. Dez. 2014 07:16 <-- editieren / zitieren --> Unities abgeben:
Hallo Ralf, ja, ich konnte 100%ig auschließen, dass der Parameter nicht vorhanden ist. Zumal in der Baugruppe, in der ich die Profile verbaut habe, mehrere des gleichen Typs sind und bei den anderen funktioniert es wunderbar. Habe jetzt in meinen Code eine try...catch eingefügt. Sie fängt ab, wenn das betroffene Profil angesprochen wird. Witzigerweise läuft es jetzt ohne Fehlermeldung durch und auch beim Profil 2 wird der Parameter abgefragt und in die iProps übertragen, was eigentlich ja gar nicht mehr geht. Ich weiß nicht, was da los ist, aber zumindest läuft es erstmal und ich kann weiter nach dem Fehler suchen, ohne dass es zu Arbeitseinschränkungen kommt. ------------------ MFG Chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Canadabear Mitglied Konstrukteur
Beiträge: 919 Registriert: 30.06.2010
|
erstellt am: 03. Dez. 2014 14:38 <-- editieren / zitieren --> Unities abgeben: Nur für Chris 31
Hallo, was mir in den Sinn kommt ist, dass du Umlaute im Namen verwaendest. Kann es sein das INV damit vielleicht manchmal Probleme haben koennte. Ich vermeide beim Programmieren "Sonderzeichen". gruss Ray ------------------ Barbarus hic ego sum, quia non intellegor ulli! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2015 Professional Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 03. Dez. 2014 14:50 <-- editieren / zitieren --> Unities abgeben:
Hi Ray, auf die Idee war ich auch schon gekommen. Hat damit aber leider auch nichts zu tun. Hatte die Umlaute schon rausgenommen und das Ergebnis war leider auch das gleiche. ------------------ MFG Chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |