Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Anzahl der Paramert aus einem Part auslesen

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:  Anzahl der Paramert aus einem Part auslesen (785 mal gelesen)
joohhnnnnyy
Mitglied


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

Beiträge: 7
Registriert: 17.07.2009

Catia V5 R16 SP2 auf HP-Unix
Catia V5 R16 SP2 auf Win2000

erstellt am: 17. Jul. 2009 09:39    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 habe ein kleines Problem und zwar möchte ich die Anzahl der Parameter aus einem Part per CATScript auslesen um entsprechend viel Variablen zu deklarieren.
Ich hoffe Ihr könt mir weiterhelfen.

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

Bopkes
Mitglied



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

Beiträge: 40
Registriert: 21.04.2009

erstellt am: 17. Jul. 2009 09:49    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 joohhnnnnyy 10 Unities + Antwort hilfreich

Mit "Parameters.Count" bekommst du in deinem aktiven Teil die Anzahl aller Parameter (nicht nur die interaktiv eingefügten, sondern auch die internen).
Wenn es das ist was du gemeint hast!

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

joohhnnnnyy
Mitglied


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

Beiträge: 7
Registriert: 17.07.2009

Catia V5 R16 SP2 auf HP-Unix
Catia V5 R16 SP2 auf Win2000

erstellt am: 17. Jul. 2009 09: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

Danke für die schnelle Antwort,
Parameter.Count bekomme die Anzahl aller Parameter die in dem Part sind, das ist schon mal was. Ich benotige aber nur die Anzahl der Parameter, die ich selbst erstellt habe. Allso die Anzahl der User-Parameter. Gibt es da auch eine möglichkeit diese auszulesen?

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

Bopkes
Mitglied



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

Beiträge: 40
Registriert: 21.04.2009

erstellt am: 17. Jul. 2009 10:15    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 joohhnnnnyy 10 Unities + Antwort hilfreich

Müßte über ....Parameters.RootParameterSet.DirectParameters.Count (oder anstatt DirectParameters , sollte auch AllParameters funktionieren).

Also so in der Art:

Code:
Set A = -----.Parameters

Set B = A.RootParameterSet

Set C = B.DirectParameters

D = C.Count


Da gibt dir die Anzahl der Paramter in einem Parameterset zurück!

[Diese Nachricht wurde von Bopkes am 17. Jul. 2009 editiert.]

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

DanielFr.
Moderator
Manager


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

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: 17. Jul. 2009 10:17    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 joohhnnnnyy 10 Unities + Antwort hilfreich

Hallo joohhnnnnyy,

bitte fülle zuerst einmal deine Systeminformation aus damit wir wissen in welchem Release du arbeitest.

Jetzt zu deinem Problem:

IMHO gibt es zwei Möglichkeiten.

1.
Du schreibst dir eine Schleife und durchläufst in dieser alle Parameter. Jeder Parameter hat die Eigenschaft "Renamed". Ist ein Parameter umbenannt worden dann ist es höchstwahrscheinlich ein UserParameter.
Das Problem ist das es nur höchstwahrscheinlich so ist. D.h. dieser Ansatz wird ggf. zu Fehlern führen 

2.
Du machst es mit den Parameter.Count und ziehst einfach die Summe der Standardparameter (also die die immer in einem CATPart vorhanden sind) ab. Ich habe hier R18 am laufen und bei mir werden standardmäßig 18 Parameter in einem Part angelegt.
Hier müsste aber definitiv noch eine Sicherheitsabfrage rein. Du müsstest erst einmal schauen welche Release überhaupt eingesetzt werden. Dann solltest du kontrollieren ob die Anzahl aller Standardparameter in den unterschiedlichen Releases auch gleich ist. Ist das der Fall hast du kein Problem. Ist das nicht der Fall braucht du noch eine Abfrage in welchem Release das Script ausgeführt wird. Je nach Release ziehst du dann von den Parameter.Count die entsprechende Anzahl ab.

Hier mal eine Script das mit R18 läuft. (leider kann ich keine anderen Versionen testen da ich gerade keine zur Hand habe  )

Code:
Sub CATMain()

'**********************************Abfrage Dokumente**********************************
    Dim oFenster As Windows
    Dim oDoc As Document
    Dim ObjType As String
    Set oFenster = CATIA.Windows
    If oFenster.Count = 0 Then
        Box = MsgBox("Es ist kein Dokument geladen!" + Chr(10) + "Das Makro kann nicht ausgeführt werden und wird beendet!", vbCritical, "Keine Dokument geladen")
        Exit Sub
    End If
    Set oDoc = CATIA.ActiveDocument
    ObjType = TypeName(oDoc)
    If ObjType <> "PartDocument" Then
        Box = MsgBox("Das aktive Dokument ist kein PartDocumentCATPart!" + Chr(10) + "Das Makro kann nicht ausgeführt werden!", _
                vbCritical + vbOKOnly, "Falscher Dateityp")
        Exit Sub
    End If
    ObjType = ""

'**********************************Abfrage Parameter**********************************
    Dim oPart As Part
    Dim oPara As Parameters
    Dim myCount As Integer
   
    Set oPart = oDoc.Part
    Set oPara = oPart.Parameters
    '18 Parameter enthält ein Part in der R18 standartmäßig
    myCount = oPara.Count - 18
   
    'Array Deklarieren mit variabler Dimension
    Dim myArray() As String
   
    'Dimension zuweisen (Array fängt mit 0 an, deswegen myCount-1)
    ReDim Preserve myArray(myCount - 1)
 
End Sub


------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

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

joohhnnnnyy
Mitglied


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

Beiträge: 7
Registriert: 17.07.2009

Catia V5 R16 SP2 auf HP-Unix
Catia V5 R16 SP2 auf Win2000

erstellt am: 17. Jul. 2009 10: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

Danke für Eure Beiträge, ich werde es am Wochenende ausprobieren und Melde mich wenn es klappt oder auch nicht .

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

joohhnnnnyy
Mitglied


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

Beiträge: 7
Registriert: 17.07.2009

Catia V5 R16 SP2 auf HP-Unix
Catia V5 R16 SP2 auf Win2000

erstellt am: 21. Jul. 2009 14:01    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 an meine Helfer,

die Methode von Bopkes hat wunderbar geklappt, danke dafür.
DanielFr's Lösungsansatz habe ich nicht probiert, aber trotzdem danke für die schnelle Hilfe.

Gruß, joohhnnnnyy

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