| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: Koplanare Matrix3x3 im Journal erkennen? (999 mal gelesen)
|
jo.sch Mitglied
Beiträge: 66 Registriert: 29.01.2013 NX7.5.5.4 MP2 NX8.5.3.3 SAP PLM mit Ectr
|
erstellt am: 05. Jun. 2014 10:19 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich weiß nicht, ob das in NX im journal so möglich ist, aber ich habe folgendes Problem: Ich habe mehrere Matrix3x3 Objekte (array) und daraus filtere ich dann alle doppelten heraus. Nun ist mir aufgefallen, das ich mit der Matrix3x3.EQUAL Methode nur genau gleiche herausfinde. Wenn nun eine Matrix aber in der gleichen Ebene aber um die z-Achse um einen beliebigen Winkel rotiert ist, Sind die Matrizen natürlich nicht gleich. Wie könnte man solche Matrizen auch rausfiltern? Irgendeine Idee? Gruß Jo.Sch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2624 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-1980 3D Printer Prusa MK2 S
|
erstellt am: 05. Jun. 2014 12:54 <-- editieren / zitieren --> Unities abgeben: Nur für jo.sch
Hallo jo.sch, 3x3 enthält ja nur Richtungen, keine Position. Daher fehlt eine Information, um festzustellen, daß es sich um die selbe (X-Y)-Ebene handelt. Die Richtung der Z-Achse zweier Matrizen lässt sich ja vergleichen, aber damit ist nur gesagt, daß sie die selbe Richtung/Vektor haben, über die Position lässt sich nichts aussagen. Oder anders: Bei gleichem Normalenvektor sind zwei Ebenen parallel, können aber durchaus einen Abstand haben. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jo.sch Mitglied
Beiträge: 66 Registriert: 29.01.2013 NX7.5.5.4 MP2 NX8.5.3.3 SAP PLM mit Ectr
|
erstellt am: 05. Jun. 2014 13:02 <-- editieren / zitieren --> Unities abgeben:
Ob die parallel sind ist mir ja eigentlich egal. Ich lese die Matrix3x3 aus einem TEXT Feature (Textbuilder.PlanarFrame.CoordinateSystem.Orientation.Element) und einige Texte sind um z.B. 90° gedreht aber in der selben Ebene. Diese haben dann andere Matrix3x3 aber liegen für mich in einer Ebene. Diese möchte ich gerne rausfiltern... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jo.sch Mitglied
Beiträge: 66 Registriert: 29.01.2013 NX7.5.5.4 MP2 NX8.5.3.3 SAP PLM mit Ectr
|
erstellt am: 05. Jun. 2014 13:22 <-- editieren / zitieren --> Unities abgeben:
Das gibt er mir raus, wenn ich das Journal unten ausführe bei zwei Texten, die in der selben Ebene sind, aber der eine um 90° gedreht wurde. Scheint auch ein Toleranzproblem zu sein... Code: [Xx=1,Xy=0,Xz=0,Yx=0,Yy=1,Yz=0,Zx=0,Zy=0,Zz=1] [Xx=1,17145536458252E-15,Xy=1,Xz=0,Yx=-1,Yy=1,17145536458252E-15,Yz=0,Zx=0,Zy=0,Zz=1]
Code: Option Strict Off Imports System Imports NXOpen Imports NXOpen.FeaturesModule NXJournal Dim allMatrix3x3() As Matrix3x3 Sub Main (ByVal args() As String) Dim theSession As Session = Session.GetSession() Dim workPart As Part = theSession.Parts.Work Dim displayPart As Part = theSession.Parts.Display Dim lw As ListingWindow = theSession.ListingWindow lw.Open Dim tmpMarkId As Session.UndoMarkId tmpMarkId = theSession.SetUndoMark(Session.MarkVisibility.Visible, "text") Dim tmpTextbuilder As TextBuilder = Nothing For Each tmpFeature As Feature In workPart.Features If tmpFeature.FeatureType.ToString().ToUpper() = "TEXT" Then tmpTextbuilder = displayPart.Features.CreateTextBuilder(tmpFeature) lw.WriteLine(tmpTextbuilder.PlanarFrame.CoordinateSystem.Orientation.Element.ToString()) tmpTextbuilder.Destroy() End If Next End Sub End Module
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2624 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-1980 3D Printer Prusa MK2 S
|
erstellt am: 05. Jun. 2014 18:20 <-- editieren / zitieren --> Unities abgeben: Nur für jo.sch
Wenn ein eventueller Abstand nichts ausmacht oder nicht vorkommt, brauchst Du ja nur die Z-Vektoren der Matrizen vergleichen. Auf das Vorzeichen (entgegengesetzte Richtung) sollte man generell auch aufpassen, falls das vorkommen kann. Das "Toleranzproblem" hast du generell mit jedem Vergleich zwischen Double-Werten, da gibt's immer Rundungsfehler. 1,17145536458252E-15 ist zwar ganz nahe bei, aber doch nicht gleich Null. Reicht der Hinweis ? Gruß, Michael
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jo.sch Mitglied
Beiträge: 66 Registriert: 29.01.2013 NX7.5.5.4 MP2 NX8.5.3.3 SAP PLM mit Ectr
|
erstellt am: 06. Jun. 2014 08:24 <-- editieren / zitieren --> Unities abgeben:
Reicht es, wenn einfach die Z Komponenten gleich sind? Egal welche Ebene? Oder bezieht sich das mit gleicher Z Komponente nur für Objekte in der XY Ebene (oder halt parallel dazu)... Oder müsste ich bei Objekten in der XZ-Ebene auf gleiche Y Kompoenenten gucken? Wie sähe das aus, wenn man komplett "schiefe" Ebenen hat? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2624 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-1980 3D Printer Prusa MK2 S
|
erstellt am: 06. Jun. 2014 15:46 <-- editieren / zitieren --> Unities abgeben: Nur für jo.sch
Hallo jo.sch, die Matrix gibt die Richtungen ihrer drei Vektoren grundsätzlich immer räumlich (schief) an. Zx,Zy und Zz sind die Komponenten des Z-Vektors. Wenn die bei zwei Matrizen gleich sind, heißt das, die beiden Vektoren zeigen in die selbe Richtung. Wenn zwei (Z-) Vektoren in die selbe oder entgegengesetzte Richtung zeigen, sind die dazu normalen Ebenen (XY) parallel zueinander. Nimm' zur Verdeutlichung einfach zwei DatumCsys her, damit sollt's klar werden. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jo.sch Mitglied
Beiträge: 66 Registriert: 29.01.2013 NX7.5.5.4 MP2 NX8.5.3.3 SAP PLM mit Ectr
|
erstellt am: 10. Jun. 2014 08:43 <-- editieren / zitieren --> Unities abgeben:
|
| Bauteilverantwortlicher (m/w/d) E-Powertrain / Powertrain | Menschen und Technologien zu verbinden, den Perfect Match für unsere Kunden zu gestalten, immer die richtigen Expert:innen für die jeweilige Herausforderung zu finden - das ist unser Anspruch bei FERCHAU und dafür suchen wir dich: als ambitionierte:n Kolleg:in, der:die wie wir Technologien auf die nächste Stufe bringen möchte. Wir realisieren spannende Projekte für namhafte OEMs und Zulieferer der Automobilindustrie und übernehmen Verantwortung für komplexe Entwicklungsprojekte.... | Anzeige ansehen | Fahrzeugtechnik |
|
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2624 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-1980 3D Printer Prusa MK2 S
|
erstellt am: 10. Jun. 2014 09:49 <-- editieren / zitieren --> Unities abgeben: Nur für jo.sch
|