Autor
|
Thema: Multiple Value (2028 mal gelesen)
|
s.bert Mitglied
Beiträge: 53 Registriert: 01.06.2016
|
erstellt am: 15. Aug. 2016 10:25 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, erst mal allen einen guten Start in die Woche. Ich habe eine Frage zu Multiple Values. Was für ein Format ist es? Wie kann ich einem Parameter über zb. einer Liste das Multi Value zuweisen? Geht das überhaupt? Besteht die Möglichkeit, dass das Multi Value sich selber Konfiguriert? Beispiel Parameter1 = gerade Zahlen => Parameter2 enthält im MultiValue 1,2,3,4,5,6 es stehen nun aber nur noch 2,4,6 zur Auswahl. Gruß Sven System ist Catia V5R18 oder Catia V62013 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 15. Aug. 2016 10:32 <-- editieren / zitieren --> Unities abgeben: Nur für s.bert
Servus Mit einem Makro (ggf in Verbindung einer Reaction) kannst du die Werte mit der Methode SetEnumerateValues festlegen. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
s.bert Mitglied
Beiträge: 53 Registriert: 01.06.2016
|
erstellt am: 15. Aug. 2016 10:35 <-- editieren / zitieren --> Unities abgeben:
|
DuffM4nUS Mitglied Konstrukteur
Beiträge: 26 Registriert: 14.04.2016 @ WORK CATIA V5 R19 SP9 Windows 7 x64 Professional SP1 i7-3740 @ 2.7GHz 16GB RAM NVIDIA Quadro 3000M 500GB SHDD
|
erstellt am: 14. Aug. 2017 10:20 <-- editieren / zitieren --> Unities abgeben: Nur für s.bert
Ich möchte dieses Thema nochmal kurz aufgreifen. Ich habe ein CATPart erzeugt und 3 Parameter angelegt. 1 String, 1 Real und 1 Length. Folgender Code soll den Parametern ein Multiple-Value Array zuweisen. Bei dem Parameter vom Typ String geht das auch hervorragend, bei den anderen beiden nicht. Sicher wieder so ein Anfängerding, wo ich was übersehen habe.. Könnt ihr mir bitte kurz auf die Sprünge helfen? Code: Option ExplicitSub CATmain() Dim oRoot As PartDocument Set oRoot = CATIA.ActiveDocument Dim oParameters As Parameters Set oParameters = oRoot.Part.Parameters.RootParameterSet.DirectParameters Dim strList(1) As Variant strList(0) = "0,75" strList(1) = "1" oParameters.Item("STRING").SetEnumerateValues strList oParameters.Item("REAL").SetEnumerateValues strList oParameters.Item("LENGTH").SetEnumerateValues strList End Sub
Danke! Steve [Diese Nachricht wurde von DuffM4nUS am 14. Aug. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Randle Mitglied CAD/PLM Consultant
Beiträge: 695 Registriert: 12.04.2003 Win10 x64 CATIA V5 R18, R19, R21, R27-29
|
erstellt am: 14. Aug. 2017 14:37 <-- editieren / zitieren --> Unities abgeben: Nur für s.bert
|
DuffM4nUS Mitglied Konstrukteur
Beiträge: 26 Registriert: 14.04.2016 @ WORK CATIA V5 R19 SP9 Windows 7 x64 Professional SP1 i7-3740 @ 2.7GHz 16GB RAM NVIDIA Quadro 3000M 500GB SHDD
|
erstellt am: 14. Aug. 2017 14:55 <-- editieren / zitieren --> Unities abgeben: Nur für s.bert
Hallo und danke für deine Antwort! Ja, genau das ist das Problem. Bei "Variant" werden die Inhalte als String angelegt. Ich hatte es auch schon probiert mit: Code: Dim strList(1) as Double Dim strList(1) as Length
Damit gehts aber auch nicht... Wie kann ich das Array vom Typ richtig deklarieren, dass der Parameter Length die Inhalte nutzen kann? (Sorry für die Anfängerfrage..) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joehz Moderator Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 14. Aug. 2017 15:04 <-- editieren / zitieren --> Unities abgeben: Nur für s.bert
Hi, Aus der Online-Hilfe(CAA)
Zitat:
Sub SetEnumerateValues( CATSafeArrayVariant iSafeArray) Sets an array containing the different values that the StrParam object can take in the case of multiple values.
Somit dürfte 'Dim vList(1) as variant' korrekt sein. Wenn Du dem Array nun Strings zuweist, zB vList(0) = "A" nimmt das Array-Element den Typ String an. Dem entsprechend würde ich für Double etwas wie 'vList(0) = 1.345' schreiben. Alles ungetestet. Hope it helps, Joe
------------------ Inoffizielle Catia Hilfeseite Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DuffM4nUS Mitglied Konstrukteur
Beiträge: 26 Registriert: 14.04.2016 @ WORK CATIA V5 R19 SP9 Windows 7 x64 Professional SP1 i7-3740 @ 2.7GHz 16GB RAM NVIDIA Quadro 3000M 500GB SHDD
|
erstellt am: 14. Aug. 2017 16:20 <-- editieren / zitieren --> Unities abgeben: Nur für s.bert
Ich habs vermutet: Anfängerfehler. Lässt man die Anführzeichen weg, so wird der Inhalt des Array richtig deklariert und die Zuweisung klappt. Code: Option ExplicitSub CATMain() Dim oRoot As PartDocument Set oRoot = CATIA.ActiveDocument Dim oParameters As Parameters Set oParameters = oRoot.Part.Parameters.RootParameterSet.DirectParameters Dim lenList(1) As Variant lenList(0) = 0.75 lenList(1) = 1 oParameters.Item("LENGTH").SetEnumerateValues lenList End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |