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: 

Über iLogic aus 3 Benutzdefinierten iProperties das ausgefüllte auswählen

6 ANTWORTEN 6
GELÖST
Antworten
Nachricht 1 von 7
Hodanlumb
1729 Aufrufe, 6 Antworten

Über iLogic aus 3 Benutzdefinierten iProperties das ausgefüllte auswählen

Hallo,

 

ich habe eine .ipt mit 3 Benutzerdefinierten iProperties die für die Allgemeintoleranzen zuständig sind. In der .ipt ist immer nur ein iPropertie auch ausgefüllt.

Jetzt hab ich mir eine Regel geschrieben in der die .ipt die B-iProperties an die .idw übergibt und nachschaut in was für einem B-iPropertie ein Wert eingetragen ist und übergibt mir dann diesen in meinen Zeichnungsrahmen, und trägt ihn ein.

 

Leider kommt immer wieder die selbe Fehlermeldung.

"Ungültige Konvertierung von der Zeichenfolge in Typ Integer"

 

Kann mir hierbei bitte jemand helfen oder weiß einer vielleicht eine elegantere Lösung sowas in meine Zeichnung automatisch von der .ipt Einzutragen?

 

Hier der bisherige Code:

 

'Schliese Regel wenn kein Bauteil in der Zeichnung vorhanden ist
If (ThisDrawing.ModelDocument Is Nothing) Then Return

'Erhalten Sie den Dateinamen des Dokuments, auf das die Zeichnung verweist
modelName = IO.Path.GetFileName(ThisDrawing.ModelDocument.FullFileName)

'Lesen Sie die Werte aus den benutzerdefinierten iProperties in der Teildatei und'wenden Sie sie auf die benutzerdefinierten iProperties mit demselben Namen In der Zeichnung an
iProperties.Value("Custom", "Allgemeintoleranz DIN 16742 - ") = iProperties.Value(modelName,"Custom", "Allgemeintoleranz DIN 16742 - ")
iProperties.Value("Custom", "Allgemeintoleranz ISO 13920 - ") = iProperties.Value(modelName,"Custom", "Allgemeintoleranz ISO 13920 - ")
iProperties.Value("Custom", "Allgemeintoleranz ISO 2768 - ")  = iProperties.Value(modelName,"Custom", "Allgemeintoleranz ISO 2768 - ")

'Variabeln
Dim DIN16742 As Integer = iProperties.Value("Custom", "Allgemeintoleranz DIN 16742 - ")
Dim ISO13920 As Integer = iProperties.Value("Custom", "Allgemeintoleranz ISO 13920 - ")
Dim ISO2768 As Integer  = iProperties.Value("Custom", "Allgemeintoleranz ISO 2768 - ")

'Überprüfung
If DIN16742 <> "" Then
        Write (aString, DIN16742)
    ElseIf ISO13920 <> "" Then
        Write (aString, ISO13920)
    ElseIf ISO2768 <> "" Then
        Write (aString, ISO2768)
    Else 
        Write (aString, "")
End If

 

6 ANTWORTEN 6
Nachricht 2 von 7
ca-d.one
als Antwort auf: Hodanlumb

Hey Hodanlump,

ich hätte da eine Idee.

 

Zuerst legst du unter den Parametern einen Multi-Value Parameter an (als Textparameter)

Hier trägst du deine 3 verschiedenen Normen ein. Zusätzlich noch einen Bindestrich "-"

 

Als nächstes blendest Du den i-Logic Browser ein und erstellst ein neues Formular.

Das sieht dann so aus.

 

 

Jetzt musst du noch etwas tippen.

 

In den i-Propertys legst Du unter "Benutzerdefiniert" den Wert "Toleranz" an.

Dieser wert wird dann später durch i-logic gefüllt werden.

 

Als nächstes brauchst Du eine Regel.

 

in die Tippst Du :

iProperties.Value("Custom", "Toleranz")=Toleranz

 

Wird nun diese Regel ausgeführt, landet der ausgewählte Wert der Multi-Value Liste in deinen i-Propertys.

 

Dieses Verhalten können wir noch automatisieren.

Nach dem Motto, wenn die Multi Value Liste auf "-" steht (also der Nutzer keine Auswahl getroffen hat) kommt beim Speichern automatisch das Auswahlformular.

 

Du brauchst noch eine Weitere Regel die Du "Pflichtfeld" nennst.

In die tippst Du

 

If Toleranz="-" Then
iLogicForm.Show("Toleranzauswahl")


End If

 

Jetzt benötigen wir einen Ereignisauslöser.

 

Der diese Regel vor dem Speichern ausführt.

 

 

Hier kannst Du "vor dem Speichern" auswählen.

Dann ist der passende Wert eingetragen, wenn der Speichervorgang abgeschlossen ist.

 

 

Auf der idw kannst du die ipropertys über einen Text abfragen.

Mach Dir am besten ein Skizziertes Symbol.

In diesem kannst du dann die Benutzerdefinierte Eigenschaft (in diesem Fall "Toleranz") abfragen.

 

Wenn Du die Toleranz auch in der Stückliste brauchst, mach die in der Teileliste einfach ein neues Feld.

Diese neue Feld benennst Du genauso wie die Benutzerdefinierte Eigenschaft heisst und schon taucht der Wert auch in der Stüli auf.

....Irgendwie werden die Bilder garnicht angezeigt.....mh....

 

 

 

Viel Spaß beim ausprobieren !

 

+dirk+

 

 

 

 

 

 

______________________________________________________
Ihr fandet einen Beitrag hilfreich? Dann vergebt dafür doch Likes!
Eure Frage wurde erfolgreich gelöst? Dann einfach auf den 'Als Lösung akzeptieren'-Button klicken!



Dirk Prante
Inventor Certified Professional<

Nachricht 3 von 7
Sofia.Xanthopoulou
als Antwort auf: Hodanlumb

Hallo @Hodanlumb,

 

hast du den Vorschlag von Dirk ausprobiert? Hat es den gewünschten Erfolg gebracht?

Es wäre echt super, wenn wir ein Feedback von dir bekommen könnten. Damit können alle Leser aus deinen Erfahrungen profitieren und alle Poster wissen ob und wie sie dich noch unterstützen können. 

 

Danke dir

 

LG

 

Nachricht 4 von 7
TAR_Loki
als Antwort auf: Sofia.Xanthopoulou

Das ganze geht auch noch einfacher.

Erstelle Dir 4 Parameter.

 

Dier ersten drei sind die, die Dir Deinen Wert bestimmen.

Für den vierten Parameter erstellt Du in iLogic einfach eine kurze Textzeile, so zu sagen eine einfach Art Namensgenerator:

 

Parameter_4 = Par_1 & Par_2 & Par_3

 

Nun Brauchst Du in Deiner idw nur noch den Parameter_4 auslesen lassen.

Da sich immer nur einer Deiner 3 Parameter füllt, wird in Parameter 4 auch nur ein Text stehen.

 

Als kurzes Beispiel hier meine ausfühliche Variante: (Ausgelesen wird hinterher nur ein Parameter namens Packer_Type)

 

2016-12-01 17_57_27-Autodesk Inventor Professional 2016 - [RVT_All_Type.ipt].png

 

 

2016-12-01 18_01_30-Regel bearbeiten_ Packer_Type.png

Nachricht 5 von 7
Hodanlumb
als Antwort auf: Sofia.Xanthopoulou

Es tut mir leid das ich mich so lange nicht gemeldet habe. Leider hab ich noch keine Zeit gefunden es zu testen da ich seit meiner Anfrage ständig Im Unterricht war. Ich hoffe ich finde nächste Woche Zeit mir die Antworten anzuschaun, die beste Lösung für mich auszuwählen und euch Feedback zu geben.

 

Danke für Euer Verständnis.

 

Tobias Aumüller

Handwerkskammer Niederbayern Oberpfalz

Nachricht 6 von 7
Sofia.Xanthopoulou
als Antwort auf: Hodanlumb

Hallo @Hodanlumb,

 

hattest du schon Zeit hier drüber zu schauen? Welchen Weg bist du nun gegangen?

Wäre super, wenn du deine Erfahrungen hier mit den Lesern teilen würdest Smiley (zwinkernd)

 

Danke dir

 

LG

 

Nachricht 7 von 7
Tarek_K
als Antwort auf: Sofia.Xanthopoulou

Hallo @Hodanlumb,

 

na wie schaut es bei dir aus? Hattest du nun einmal Zeit darüber zu schauen? Wäre super, wenn du den Beitrag, der dir geholfen hat deine Frage zu beantworten, als Lösung markieren könntest - du kannst auch zwei oder mehrere Beiträge markieren. Dann sehen aber auch andere Anwender direkt, was dir geholfen hat. 😉

 

Ansonsten kannst du uns auch gerne ein Update geben. 🙂

You found a post helpful? Then feel free to give likes to these posts!
Your question got successfully answered? Then just click on the 'Mark as solution' button. 


Tarek Khodr
Community Manager

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

In Foren veröffentlichen  

Autodesk State of Design & Make Report