| |
 | CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48 |
| |
 | KISTERS 3DViewStation: 3D-Visualisierung für After Sales, Service und Ersatzteile, eine Pressemitteilung
|
Autor
|
Thema: Rechtseitiges-Achsensystem (963 mal gelesen)
|
Scipio Mitglied Student
 Beiträge: 6 Registriert: 06.05.2010
|
erstellt am: 21. Jun. 2010 18:29 <-- editieren / zitieren --> Unities abgeben:         
guten abend cad gemeinde  hätt da mal kurz eine frage weiß zufällig jemand wie man ein Achensystem mit einem Makro daraufhin kontrolieren kann ob es rechtseitig oder linkseitig ist? Mit der Makro Aufzeichnung Funktion habe ich leider nix brauchabres gefunden. Wär klasse wenn jemand einen Befehl weis der mich irgendiwe darauf zugreifen läßt. schönen feierabend Julian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MICHLICK Mitglied CAD Methodik Entwickler (CATIA; NX)
 
 Beiträge: 456 Registriert: 20.06.2001 Der Aufwand bei Änderungen ist groß, wenn die Finger schneller klicken als das Gehirn denkt.
|
erstellt am: 22. Jun. 2010 08:03 <-- editieren / zitieren --> Unities abgeben:          Nur für Scipio
Das kann man mit ein wenig Mathematik errechnen. Dazu einfach die Richtungen der Achsen ermitteln und in der Mathe Formelsammlung stöbern. Siehe auch hier: Kreuzprodukt ------------------ Gruß Michael B. [Diese Nachricht wurde von MICHLICK am 22. Jun. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lusilnie Mitglied
   
 Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 23. Jun. 2010 00:07 <-- editieren / zitieren --> Unities abgeben:          Nur für Scipio
Hallo Scipio, wie "MICHLICK" schon angedeutet hat, ist das 'nur' Mathematik. Ich habe das hier mal mit der "Determinante" versucht, wo der Wert "1" bzw. "-1" ergeben muss und man daraus auf ein rechts- oder linksseitiges Achsensystem schließen kann. Code: Option ExplicitSub CATMain() Dim iDoc As Document Dim iSel 'As Selection Dim iFilter() Dim iAxis 'As AxisSystem Dim iString As String Dim iAxisX() Dim iAxisY() Dim iAxisZ() Dim iDbl As Double Dim iInt As Integer Set iDoc = CATIA.ActiveDocument Set iSel = iDoc.Selection ReDim iFilter(0) iFilter(0) = "AxisSystem" iString = iSel.SelectElement2(iFilter, "Select Axis System", False) If iString = "" Then Exit Sub End If Set iAxis = iSel.Item2(1).Value ReDim iAxisX(2) ReDim iAxisY(2) ReDim iAxisZ(2) iAxis.GetXAxis iAxisX iAxis.GetYAxis iAxisY iAxis.GetZAxis iAxisZ iDbl = ((iAxisX(0) * iAxisY(1) * iAxisZ(2)) _ + (iAxisX(1) * iAxisY(2) * iAxisZ(0)) _ + (iAxisX(2) * iAxisY(0) * iAxisZ(1)) _ - (iAxisX(2) * iAxisY(1) * iAxisZ(0)) _ - (iAxisX(1) * iAxisY(0) * iAxisZ(2)) _ - (iAxisX(0) * iAxisY(2) * iAxisZ(1))) iInt = Round(iDbl, 0) If iInt = 1 Then MsgBox "Achsensystem '" & iAxis.Name & "' ist rechtsgerichtet." ElseIf iInt = -1 Then MsgBox "Achsensystem '" & iAxis.Name & "' ist linksgerichtet." Else MsgBox "Achsensystem '" & iAxis.Name & "': Ausrichtung nicht ermittelbar." End If iSel.Clear End Sub
mfg, Lusilnie
------------------ Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!! frei nach größeren Geistern Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |