Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Parameter auslesen/ Verarbeitung in Userform

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:  Parameter auslesen/ Verarbeitung in Userform (4147 mal gelesen)
8user8
Mitglied



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

Beiträge: 36
Registriert: 30.07.2010

Catia V5R19 x64
Visual C# 2010

erstellt am: 08. Sep. 2010 12:10    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,
ich fang grad an ein wenig Makros mit Catia zu basteln, ein paar Grundlagen zu Makro habe ich schon, allerdings nur in solidworks und da läuft anscheinend vieles anders.

Also zu meinem Problem: Ich will die Parameter aus einem Part auslesen und Anhand des Names dann die Werte Comboboxen gleichen Namens in einer Userform zuordnen.
Beim auslesen der Parameter treten die ersten Probs auf und zwar werden mir alle Parameter ausgegeben, ich brauche aber nur die aus dem Strukturbaum (keine formeln und Beziehungen etc).
hier mal der code:

Dim CATpart As Part
Dim para As Parameter
Dim params As Parameters
Dim I As Integer

Sub Catmain()
    Set CATpart = CATIA.ActiveDocument.Part
    Set params = CATpart.Parameters
         
    For I = 1 To params.Count
        Set para = params.Item(I)
        Debug.Print (para.Name)
    Next
End Sub

hoffe ich hab mich einigermassen verständlich ausgedrückt. Dank für eure Tipps.

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: 08. Sep. 2010 12:18    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 8user8 10 Unities + Antwort hilfreich

Servus
Du kannst auf das "RootparameterSet" zugreifen (siehe auch Doku). zB:
Code:
Dim CATpart As Part
Dim para As Parameter
Dim params As Parameters
Dim parameterset As parameterset
Dim I As Integer

Sub Catmain()
    Set CATpart = CATIA.ActiveDocument.Part
    Set parameterset = CATpart.Parameters.RootParameterSet
    Set params = parameterset.AllParameters
       
    For I = 1 To params.Count
        Set para = params.Item(I)
        Debug.Print (para.Name)
    Next
End Sub



Gruß
Bernd

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

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

8user8
Mitglied



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

Beiträge: 36
Registriert: 30.07.2010

Catia V5R19 x64
Visual C# 2010

erstellt am: 08. Sep. 2010 12:59    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 Bernd,
Danke für die schnelle Antwort.

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

8user8
Mitglied



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

Beiträge: 36
Registriert: 30.07.2010

Catia V5R19 x64
Visual C# 2010

erstellt am: 10. Sep. 2010 09:46    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, da will ich mal für die nachwelt meinen code hinterlassen.
es werden die parameter des rootparameterset ausgelesen, haben text-/comboboxen einer userform den gleichen namen, so werden diese mit werten befüllt.


Dim CATpart As Part
Dim para As Parameter
Dim params As Parameters
Dim paramset As parameterset
Dim I, J As Integer
Dim pName As String
Dim bName As String
Dim Pos As Integer

    Set CATpart = CATIA.ActiveDocument.Part               
    Set paramset = CATpart.Parameters.RootParameterSet
    Set params = paramset.AllParameters
         
    For I = 1 To params.Count                             
        Set para = params.Item(I)
        pName = para.Name
       
        Do                                             
            Pos = InStr(pName, "\")
            pName = Mid(pName, Pos + 1)
        Loop Until Pos = 0
               
        For J = 0 To UserForm1.Controls.Count - 1         
            If UserForm1.Controls.Item(J).Name = pName Then
                UserForm1.Controls.Item(J).Text = para.Value
                On Error Resume Next
            End If
        Next
                 
    Next

falls es jemandem hilft, viel spass damit.

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

8user8
Mitglied



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

Beiträge: 36
Registriert: 30.07.2010

Catia V5R19 x64
Visual C# 2010

erstellt am: 01. Okt. 2010 14:27    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

Kurz vorm Wochenende komm ich nochmal ausm Loch gekrochen....

Ich nutze den Fred mal um eine darauf aufbauende Frage zu klären:
ich würde gerne ein paar meiner Combo- und Tesxtboxen in ein Array packen und über dieses ein Event(AfterUpdate oä) auslösen. Jedoch scheitere ich an der Zuweisung des Events.
Mein Code:

dim myArray

Private Sub UserForm_Initialize()
myArray= Array(UserForm1.Controls.Item("bla"), (UserForm1.Controls.Item("blub") 'usw)
sub end

private sub myArray_AfterUpdate()
'do some
Sub End

Muss ich das Array noch einem bestimmten Objekt zuweisen, um ein Event definieren zu können, wenn ja welches?
Wäre für hilfreiche Tipps dankbar, das würde den Code gut verkürzen, da ja immer das gleiche Event ablaufen soll.

Ansonsten wünsch ich schonmal ein schönes WE.
GRüße

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