Autor
|
Thema: Ansprechen eines Parametersets (nicht im RootParameterset) (1996 mal gelesen)
|
8user8 Mitglied
Beiträge: 36 Registriert: 30.07.2010 Catia V5R19 x64 Visual C# 2010
|
erstellt am: 08. Dez. 2010 19:30 <-- editieren / zitieren --> Unities abgeben:
N'abend, ich glaub der Betreff erklärt meine Frage schon ganz trefflich aber hier nochmal: wie kann ich ein Parameterset ansprechen, welches nicht im Rootparameterset liegt? Als Ausgangsgrößen stehen mir ein Parameter aus betreffendem Set und die üblichen Obejkte (Part etc) bereit. Die Selection möchte ich nicht verwenden, da die entstehende Powercopy immer mehrfach eingesetzt wird. Eine sicherlich funktionierende Methode wäre das Umbenennen nach dem Einsetzen per Script, aber gibts auch eine andere Möglichkeit? schönen Gruß [Diese Nachricht wurde von 8user8 am 08. Dez. 2010 editiert.] 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: 08. Dez. 2010 21:30 <-- editieren / zitieren --> Unities abgeben: Nur für 8user8
Servus Also, ich steh auf dem wohl auf dem Schlauch. Hast du nun ein Parameterset ob willst die Parameter zu einem Objekt? Oder hast du einen Körper mit einem enthaltenen Parameterset? Also an alle Parameter eines Objekts kommst du über, zB zu einem Pad (siehe auch Doku): Dim Parameters2 As parameters Set Parameters2 = Parameters1.SubList(pad1, True)
Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
8user8 Mitglied
Beiträge: 36 Registriert: 30.07.2010 Catia V5R19 x64 Visual C# 2010
|
erstellt am: 09. Dez. 2010 09:33 <-- editieren / zitieren --> Unities abgeben:
Morgen, das betreffende Parameterset befindet sich in einem Geometrischen Set. hab da im ersten Beitrag wohl undeutlich ausgedrückt. Die Methode Sublist kenn ich, hilft mir aber jetzt so nicht weiter. ich möchte einige Parameter aus diesem Set ansprechen. Jedoch kenne ich erst einen Parameter davon und von diesem möchte ich (irgendwie) auf das Parameterset schließen. nur bin ich noch nicht fündig geworden.... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAMiCADse Mitglied
Beiträge: 177 Registriert: 17.02.2006 V5,R19,SP9
|
erstellt am: 09. Dez. 2010 13:53 <-- editieren / zitieren --> Unities abgeben: Nur für 8user8
|
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 09. Dez. 2010 14:42 <-- editieren / zitieren --> Unities abgeben: Nur für 8user8
Hallo Leute, ich habe natürlich keine Lösung, ich möchte jedoch gern drüber diskutieren, da ich auch gern etwas dazu lerne. Meines Wissens nach sind stets alle Parameter im Root-Parameter-Set, nur dass sich ihre Pfadangaben unterscheiden. Dies ändert sich jedoch von Release zu Release. Wenn mein gerade dargelegter Kenntnis-Stand noch stimmt, so sollten doch auch die gesuchten Parameter dort auffindbar sein. ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielFr. Moderator Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 09. Dez. 2010 15:21 <-- editieren / zitieren --> Unities abgeben: Nur für 8user8
|
8user8 Mitglied
Beiträge: 36 Registriert: 30.07.2010 Catia V5R19 x64 Visual C# 2010
|
erstellt am: 14. Dez. 2010 15:50 <-- editieren / zitieren --> Unities abgeben:
Servus, hätt fast meinen eigenen Fred vergessen. Nach reichlich Überlegung bin ich auf die Möglichkeit gestoßen über die Methode Relations.Sublist und einen Abgleich der Ein- und Ausgangsparameter den gesuchten Parameter ausfindig zu machen. Für mein vorhaben war dazu ein weiterer (dummy-)Parameter nötig welcher aus Strings der gesuchten Parameterwerte besteht. Letztenendes sind es bei mir 3 Schleifen über alle Parameter. Damit bekomm ich zwar keinen Zugriff auf das eigentlich gesuchte Parameterset, allerdings auf die gesuchten Parameter darin. @ Henry: Mein Rootparamterset ist leer
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielFr. Moderator Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 14. Dez. 2010 16:42 <-- editieren / zitieren --> Unities abgeben: Nur für 8user8
|
8user8 Mitglied
Beiträge: 36 Registriert: 30.07.2010 Catia V5R19 x64 Visual C# 2010
|
erstellt am: 14. Dez. 2010 16:50 <-- editieren / zitieren --> Unities abgeben:
sorry Daniel, konnte es nicht testen, da ich auf den Firmen-PC nichts runter laden kann. werde mir das Skript heut abend mal anschauen, oder kannst du den Code posten? Über die Methode Sublist komme ich ja erst auf den ersten Parameter, welcher sich im gesuchten Set befindet. Aber wenn deine Methode funktioniert(wovon ich ausgehe ) könnte ich mir den Dummy-Parameter sparen. grüße Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielFr. Moderator Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 14. Dez. 2010 17:18 <-- editieren / zitieren --> Unities abgeben: Nur für 8user8
Hallo , anbei der Code: Code:
Sub CATMain() 'DANIEL FRAUENRATH Dim objPartDoc As PartDocument Dim objSel As Object Dim strFilter(0) Dim strSelState As String Dim objSelParamter As Parameter Dim objParameterSet As ParameterSet Dim strRootParameterSetName As String Set objPartDoc = CATIA.ActiveDocument Set objSel = objPartDoc.Selection objSel.Clear strFilter(0) = "Parameter" strSelState = objSel.SelectElement2(strFilter, "Bitte Parameter auswählen / ESC zum Abbrechen", False) If strSelState <> "Normal" Then MsgBox "Die Selektion wurde abgebrochen!", vbExclamation, "ABBRUCH DURCH ANWENDER" objSel.Clear Exit Sub Else Set objSelParamter = objSel.Item(1).Value objSel.Clear End If strRootParameterSetName = FuncSplitName(objSelParamter.Name) objSel.Search "Name='" & strRootParameterSetName & "',all" Select Case objSel.Count Case 0 MsgBox "Es ist ein Fehler aufgetretten!", vbExclamation, "FEHLER IN MAKRO" objSel.Clear Exit Sub Case 1 Set objParameterSet = objSel.Item(1).Value objSel.Clear Case Else MsgBox "Es wurden mehrere Objekte mit dem selben Namen gefunden!", vbExclamation, "FEHLER IN STRUKTUR" objSel.Clear Exit Sub End Select MsgBox "Das Objekt " & objParameterSet.Name & " wurde erfolgreich instanziert!" + vbNewLine + vbNewLine + _ "Anzahl Kinder:" + vbTab + CStr(objParameterSet.DirectParameters.Count), vbInformation, "Objekt gefunden" End Sub Private Function FuncSplitName(ByVal strName As String) As String
Dim strTempSplit Dim i As Integer strTempSplit = Split(strName, "\") If UBound(strTempSplit) > 0 Then FuncSplitName = strTempSplit(UBound(strTempSplit) - 1) End If End Function
------------------ MFG Daniel Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |