Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Richtungsvektor/Achse von Kongruenz 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
  
KISTERS 3DViewStation: Geniale 3D-Visualisierung für intuitiven HMI Einsatz, eine Pressemitteilung
Autor Thema:  Richtungsvektor/Achse von Kongruenz auslesen (340 / mal gelesen)
JoFa97
Mitglied
Student


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

Beiträge: 32
Registriert: 24.10.2023

CATIA V5

erstellt am: 21. Aug. 2024 09:43    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 liebes Forum,

ich lese über VB.net von einer Catia-Baugruppe die Baugruppenbedingungen aus, über
ProdConstraints = Rootprod.Connections("CATIAConstraints").
Auf die einzelnen Bedingungen greife ich dann in der Liste und kann zb. über Constraint.Name die Art der Bedingung auslesen (Kongruenz, Offset...), und über Constraint.GetConstraintElement(1/2).DisplayName die Namen der Bauteile die beteiligt sind.

Nun ist meine Frage, ob ich eine Möglichkeit habe, zu den Bedingungen ebenfalls die Achsen oder die ausgewählten Richtungsvektoren auslesen kann, zb. über einen Befehl den ich nicht kenne?

Hintergrund ist, dass ich mir aus den gesetzten Bedingungen die Freiheitsgrade von Komponenten herleiten möchte.

Vielen Dank und Liebe Grüße!

------------------
Joshua

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: 12005
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 21. Aug. 2024 14:38    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 JoFa97 10 Unities + Antwort hilfreich

Servus

GetConstraintElement liefert dir ja eine Reference.
Du kannst probieren diese direkt für eine Messung zu verwenden (Measureable).
Wenn das klappt solltest du über GetDirection dann dir Richtung messen können.

Gruß
Bernd

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

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

JoFa97
Mitglied
Student


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

Beiträge: 32
Registriert: 24.10.2023

CATIA V5

erstellt am: 23. Aug. 2024 10:34    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,

vielen lieben Dank, das klappt! Habe mit deinem Command dann auch die passende Doc von Catia gefunden 

------------------
Joshua

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

JoFa97
Mitglied
Student


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

Beiträge: 32
Registriert: 24.10.2023

CATIA V5

erstellt am: 23. Aug. 2024 12:42    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 würde meine Frage an der Stelle erweitern:

Wenn ich damit zb von einer Kongruenzbedingung von zwei Rotationssymmetrischen Teilen die Direction auslese, kommt es vor, dass der Richtungsvektor von dem einen Teil bei 001 ist und der des anderen 010, da die sich die GetDirection-Methode auf die Achsen des Parts bezieht, und dieser nicht mit dem Vorwissen konstruiert worden ist.

Gibt es hier die Möglichkeit, mich stets auf das Achsensystem des Products zu beziehen?

Liebe Grüße

------------------
Joshua

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

Lionel Hutz
Mitglied



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

Beiträge: 451
Registriert: 26.03.2014

CATIA V5 R26

erstellt am: 23. Aug. 2024 12: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 JoFa97 10 Unities + Antwort hilfreich

Musst du die Lage der Parts im Product ermitteln und in die Berechnung mit einbeziehen?
https://ww3.cad.de/foren/ubb/Forum137/HTML/006988.shtml

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: 12005
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 23. Aug. 2024 12: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 JoFa97 10 Unities + Antwort hilfreich

Servus Joshua

Zeigt mal bitte einen Code Schnipsel von der Messung.
Misst du in der Baugruppe oder im Part/Unterbaugruppe?

Gruß
Bernd

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

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

JoFa97
Mitglied
Student


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

Beiträge: 32
Registriert: 24.10.2023

CATIA V5

erstellt am: 02. Sep. 2024 08:43    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 nochmal!

Ich zeige hier mal meinen Code, soweit hat das ganze funktioniert, es hat sich aber auch gleichzeitig eine neue Frage aufgetan.:

Code:

Public Shared Function Constraints_v2()
            Dim CATIA As Object
            CATIA = GetObject(, "CATIA.Application")
            Dim ProdDoc As ProductDocument
            ProdDoc = CATIA.ActiveDocument
            Dim RootProd As Product
            Dim Liste_Parts As New List(Of String)
            Dim Parts_List = Get_PartList(CATIA.ActiveDocument.Product, Liste_Parts)
            RootProd = ProdDoc.Product
            Dim ProdConstraints As Constraints
            ProdConstraints = RootProd.Connections("CATIAConstraints")
            Dim constraint As Constraint
            Dim Liste As New List(Of String)
            Dim TheSPAWorkbench As SPAWorkbench
            Dim TheMeasureable As Measurable
            TheSPAWorkbench = ProdDoc.GetWorkbench("SPAWorkbench")
            Dim directionArray(2)
            Dim planeArray(8)
            Dim Part1_Index
            Dim Part2_Index
            Dim Directionstring_1
            Dim Directionstring_2
            Dim Values As New List(Of String)
            Dim csvFilePath = "C:\Users\Besucher\Desktop\joshua\Output\" + "Testing" + ".txt"

Dann arbeite ich die einzelnen Constraints ab, für Kongruenzen beispielsweise:

Code:

Try
  For Each constraint In ProdConstraints
...
ElseIf Name.Contains("Kongruenz") Then
                        Dim Constr_Code = "1"

                        Dim Part1_Name = constraint.GetConstraintElement(1).DisplayName
                        For i As Integer = 0 To Parts_List.Count - 1
                            If Part1_Name.Contains(Parts_List(i)) Then
                                Part1_Index = CStr(i)
                            End If
                        Next

                        Dim Part2_Name = constraint.GetConstraintElement(2).DisplayName
                        For i As Integer = 0 To Parts_List.Count - 1
                            If Part2_Name.Contains(Parts_List(i)) Then
                                Part2_Index = CStr(i)
                            End If
                        Next

                        TheMeasureable = TheSPAWorkbench.GetMeasurable(constraint.GetConstraintElement(1))
                        TheMeasureable.GetDirection(directionArray)
                        directionArray = normalize(directionArray)
                        Directionstring_1 = Join(directionArray, ";")

                        TheMeasureable = TheSPAWorkbench.GetMeasurable(constraint.GetConstraintElement(2))
                        TheMeasureable.GetDirection(directionArray)
                        directionArray = normalize(directionArray)
                        Directionstring_2 = Join(directionArray, ";")

                        full = Constr_Code + ";" + Part1_Index + ";" + Directionstring_1 + ";" + Part2_Index + ";" + Directionstring_2
                        Liste.Add(full)


Und das funktionert auch soweit wunderbar. Für Offset/Flächenkontakt kriege ich die ebene über GetPlane, und hole mir davon den Richtungsvektor.


Jetzt habe ich allerdings bei "Winkel" das Problem, dass wenn ich in der Baugruppe für diese Bedingung nicht eine Achse ausgewählt habe (diese lässt sich über GetDirection abfragen), sondern eine Oberfläche, dasss ich nicht weiß wie ich diese Oberfläche bzw. Ihren Normalenvektor bekomme. GetPlane funktioniert in diesem Fall nicht. Ideal wäre etwas wie "GetSurface". Kennt da jemand was geeignetes?

------------------
Joshua

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: 12005
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 02. Sep. 2024 09:13    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 JoFa97 10 Unities + Antwort hilfreich

Servus Joshua

Deine Frage kann ich nicht beantworten.
ein kleiner Hinweis: statt den Namen der Bedingung auszuwerten würde ich ich eher den Type nutzen (CatConstraintType)
In der Doku findest du dort auch eine Übersicht welche Elementkombinationen jeweils möglich sind,

Gruß
Bernd

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

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

JoFa97
Mitglied
Student


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

Beiträge: 32
Registriert: 24.10.2023

CATIA V5

erstellt am: 02. Sep. 2024 09:34    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

Das ist ein super Vorschlag, mache ich, danke ! 

------------------
Joshua

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)2024 CAD.de | Impressum | Datenschutz