Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Parameter auslesen egal ob CatPart oder Product

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 egal ob CatPart oder Product (1070 mal gelesen)
Jürgen W
Mitglied



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

Beiträge: 88
Registriert: 06.10.2004

WIN 7 x64
Creo Parametric 2.0
Catia V5 R18
Windchill 10.1

erstellt am: 11. Mai. 2015 08: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

Hallo zusammen

ich möchte mir eine einfache Routine (VB.Net) schreiben, die die Parameter aus dem aktiven Objekt ausliest. Dabei soll es egal sein, ób es ein CatPart, Product oder auch eine DrawingDocument ist.
Bisher habe ich immer den Type ermittelt und dann die Parameter ausgelesen.

Kann ich das Ganze auch so schreiben, dass egal was vorliegt - also ohne diese Fallunterscheidung - die Parameter ausgelesen werden.

SO ist das aktuell

Public globPartDocument As PartDocument
Public globCurPart As Part

Public globProductDocument As ProductDocument
Public globCurProduct As Product

oCATIA = GetObject(, "CATIA.Application")
globCATIACurDoc = oCATIA.ActiveDocument
globCATIACurDocType = TypeName(globCATIACurDoc)

Select Case (globCATIACurDocType)
    Case "PartDocument"
    globPartDocument = oCATIA.ActiveDocument
    globCurPart = globPartDocument.Part
    globParams = globCurPart.Parameters

    Return True

    Case "ProductDocument"
    globProductDocument = oCATIA.ActiveDocument
    globCurProduct = globProductDocument.Product
    globParams = globCurProduct.Parameters

    Return True

    case "DrawingDocument"
    .
    .
    .

End Select


Gruß Jürgen

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

ptit.tom
Mitglied
CAD-Berater


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

Beiträge: 114
Registriert: 11.02.2005

win10, CATIA R19 bis R30

erstellt am: 12. Mai. 2015 14: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 Nur für Jürgen W 10 Unities + Antwort hilfreich

Guten Tag,

Ich vermute, dass es nicht möglich ist. Die Sammlung Parameters befindet sich in Objekte, die nicht viel miteinander zu tun haben (part / Product / Drawing).

Was gefällt Ihnen an der Version mit Case nicht ? Man kann es etwas kompakter schreiben:

Code:
Public CATIA As Application
    Sub Main()
        Try
            CATIA = System.Runtime.InteropServices.Marshal.GetActiveObject("CATIA.Application")
        Catch ex As Exception
            Exit Sub
        End Try
        If CATIA.Documents.Count() = 0 Then Exit Sub

        Dim MyParameters As Parameters = RetrieveParameters()
        Console.WriteLine(MyParameters.Count() & " parameters")
        Console.ReadKey()

    End Sub

    Public Function RetrieveParameters() As Parameters
        Dim Parameters As Parameters
        Select Case TypeName(CATIA.ActiveDocument)
            Case "PartDocument"
                Dim PartDocument As PartDocument = CATIA.ActiveDocument
                Parameters = PartDocument.Part.Parameters
            Case "ProductDocument"
                Dim ProductDocument As ProductDocument = CATIA.ActiveDocument
                Parameters = ProductDocument.Product.Parameters
            Case "DrawingDocument"
                Dim DrawingDocument As DrawingDocument = CATIA.ActiveDocument
                Parameters = DrawingDocument.Parameters
            Case Else
                Parameters = Nothing
        End Select
        Return Parameters
    End Function


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

Jürgen W
Mitglied



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

Beiträge: 88
Registriert: 06.10.2004

WIN 7 x64
Creo Parametric 2.0
Catia V5 R18
Windchill 10.1

erstellt am: 13. Mai. 2015 08:31    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

da ich aus der Creo Welt komme und dort ist es egal was vorliegt, die Behandlung der Parameter ist bei allen gleich, war es für mich etwas ungewöhnlich Unterscheidungen zu treffen.

Nachdem man die Parameter einmal hat ist die weitere Bearbeitung, soweit ich das überblicken kann, wieder gleich.

Ich nehme aber an, dass beim Erzeugen "neuer" eigener Parameter wieder eine Fallunterscheidung gebraucht wird. Aber das stelle ich in Kürze fest.

Vielen Dank für den Code, er sieht sehr gefällig aus.

Viele Grüße
Jürgen

[Diese Nachricht wurde von Jürgen W am 13. Mai. 2015 editiert.]

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