Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  ParameterSet unter einem Geoset ansprechen

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:  ParameterSet unter einem Geoset ansprechen (643 mal gelesen)
Booyaka
Mitglied



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

Beiträge: 122
Registriert: 22.06.2012

CATIA V5 R19, 24, 26, 28, 29

erstellt am: 09. Mai. 2019 14:51    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,

ich hoffe mir kann jemand helfen.

Der Grundgedanke ist der das ich in ein ParameterSet nach dem anderen nach Parametern durchsuche und diese rausschreibe (tabelarisch das man die Parameter zum jeweiligen ParameterSet zugeordnet hat).

Ich habe folgenden Aufbau:

Code:

Body.1
|
|-Geoset.1
  |
  |-ParameterSet.1
  | |-String.1=
  |
  |-ParameterSet.2
    |-Length.1=0mm

Und ich möchte per Makro an den namen des ParameterSets kommen.
Ich schaffe es leider nur bis davor(Geoset) oder danach (String) :/

Code:

...
    oBodyName = oSel1.Item(1).Value.Name
    Set oBody = bodies1.Item(oBodyName)

    oBodyGeoSetName = oBody.HybridBodies.Item(1).Name
    Set oBodyGeoSet = oBody.HybridBodies.Item(oBody.HybridBodies.Item(1).Name)

    'Name des Parameters
    MsgBox part1.Parameters.SubList(oBodyGeoSet, True).Item(1).Name
...


Anscheind kommt man mit der SubList nicht an die Sets ran :/

MfG
Sascha

------------------
„Nicht Erfolg ist der Schlüssel zum Glück,
sondern Glück ist der Schlüssel zum Erfolg.
Wenn du gerne tust, was du tust, wirst du auch erfolgreich sein.“ ― Albert Schweitzer

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: 09. Mai. 2019 15:19    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 Booyaka 10 Unities + Antwort hilfreich

Servus

Meine Idee dazu: GeoSet selektieren und darin nach den ParameterSets suchen:

Code:
oSelection.Search "CATKnowledgeSearch.AdvisorParameterSet,sel"

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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: 09. Mai. 2019 15:50    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 Booyaka 10 Unities + Antwort hilfreich


Part1.CATPart

 
Hallo,

oder wenn du die Selektion Klasse vermeiden willst so ...

Code:

Option Explicit

Sub CATMain()
Dim oPartDoc As PartDocument
Dim oPart As Part
Dim oHyBdy As HybridBodies
Dim oParams As Parameters
Dim oParam As StrParam
Dim oModEl As ModelElement

On Error Resume Next
    Set oPartDoc = CATIA.ActiveDocument
    If Err.Number <> 0 Then
        MsgBox "Macro supports CATPart only.", vbInformation, "Program abort"
        Exit Sub
    End If
On Error GoTo 0

Set oPart = oPartDoc.Part
Set oHyBdy = oPart.HybridBodies.Item(1)
Set oParam = oPart.Parameters.SubList(oHyBdy, False).GetItem("TestParam")
' oder Set oParam = oPart.Parameters.SubList(oHyBdy, False).Item(1)
Set oModEl = oParam.GetItem("ModelElement")

MsgBox oModEl.InternalName & ":" & vbNewLine & oParam.ValueAsString

End Sub


... erfolgreich getestet mit R21.

Beispielpart habe ich angehängt.

Nachtrag: Sorry, hatte überlesen das es um ein ParameterSET geht. Werde ich mir nochmal ansehen.

Gruß
Randle

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

[Diese Nachricht wurde von Randle am 09. Mai. 2019 editiert.]

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

Booyaka
Mitglied



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

Beiträge: 122
Registriert: 22.06.2012

CATIA V5 R19, 24, 26, 28, 29

erstellt am: 10. Mai. 2019 06:44    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 dank euch schonmal für die Anregungen.

ich werd mir das gleich mal anschauen.

------------------
„Nicht Erfolg ist der Schlüssel zum Glück,
sondern Glück ist der Schlüssel zum Erfolg.
Wenn du gerne tust, was du tust, wirst du auch erfolgreich sein.“ ― Albert Schweitzer

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

Booyaka
Mitglied



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

Beiträge: 122
Registriert: 22.06.2012

CATIA V5 R19, 24, 26, 28, 29

erstellt am: 10. Mai. 2019 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

So hab mich nochmal dran gesetzt und noch eine andere Möglichkeit die ohne ne Selection auskommt.(stand hier irgendwo im Forum nach ziemlich langen googeln gefunden ^^ gefunden)

Allerdings ist darauf zu achten das bei der Bezeichnung der Parameter der Local Name geändert wird und nicht der Name.
Da ich mit der Splitfunction arbeite.
So lässt sich das gut verbauen und für alle selektierten Körper in ne schleife bauen 


Code:

...
oBodyGeoSetName = oBody.HybridBodies.Item(1).Name
Set oBodyGeoSet = oBody.HybridBodies.Item(oBodyGeoSetName)
Set oParameterSubList = part1.Parameters.SubList(oBodyGeoSet, True)
Set oParameter = oParameterSubList.Item(1)
oParameterSetName2 = FuncSplitNameParaSet(oParameter.Name)
...
______________________________________________________________________________
Private Function FuncSplitNameParaSet(ByVal strName As String) As String

    Dim strTempSplit
    Dim i As Integer
 
    strTempSplit = Split(strName, "\")
    If UBound(strTempSplit) > 0 Then
        FuncSplitNameParaSet = strTempSplit(UBound(strTempSplit) - 1)
    End If
 
 
End Function


------------------
„Nicht Erfolg ist der Schlüssel zum Glück,
sondern Glück ist der Schlüssel zum Erfolg.
Wenn du gerne tust, was du tust, wirst du auch erfolgreich sein.“ ― Albert Schweitzer

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