Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Multiple Value

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Multiple Value (2007 mal gelesen)
s.bert
Mitglied



Sehen Sie sich das Profil von s.bert an!   Senden Sie eine Private Message an s.bert  Schreiben Sie einen Gästebucheintrag für s.bert

Beiträge: 53
Registriert: 01.06.2016

erstellt am: 15. Aug. 2016 10:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 15. Aug. 2016 10:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für s.bert 10 Unities + Antwort hilfreich

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



Sehen Sie sich das Profil von s.bert an!   Senden Sie eine Private Message an s.bert  Schreiben Sie einen Gästebucheintrag für s.bert

Beiträge: 53
Registriert: 01.06.2016

erstellt am: 15. Aug. 2016 10:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

ich habe im Makrothema noch keine Kenntnis hast du da ein kleinen Tipp?

Gruß Sven

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DuffM4nUS
Mitglied
Konstrukteur


Sehen Sie sich das Profil von DuffM4nUS an!   Senden Sie eine Private Message an DuffM4nUS  Schreiben Sie einen Gästebucheintrag für DuffM4nUS

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für s.bert 10 Unities + Antwort hilfreich

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 Explicit

Sub 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


Sehen Sie sich das Profil von Randle an!   Senden Sie eine Private Message an Randle  Schreiben Sie einen Gästebucheintrag für Randle

Beiträge: 695
Registriert: 12.04.2003

Win10 x64
CATIA V5 R18, R19, R21, R27-29

erstellt am: 14. Aug. 2017 14:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für s.bert 10 Unities + Antwort hilfreich

Hallo,

Du übergibt Springs an einen Parameter des Typs Real.

Ich vermute das ist das Problem.

Gruß Randle

------------------
Wer für nichts steht, fällt für alles!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DuffM4nUS
Mitglied
Konstrukteur


Sehen Sie sich das Profil von DuffM4nUS an!   Senden Sie eine Private Message an DuffM4nUS  Schreiben Sie einen Gästebucheintrag für DuffM4nUS

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für s.bert 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von joehz an!   Senden Sie eine Private Message an joehz  Schreiben Sie einen Gästebucheintrag für joehz

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für s.bert 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von DuffM4nUS an!   Senden Sie eine Private Message an DuffM4nUS  Schreiben Sie einen Gästebucheintrag für DuffM4nUS

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für s.bert 10 Unities + Antwort hilfreich

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 Explicit

Sub 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

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz