| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: Rotation von Features.DatumCsys (1088 mal gelesen)
|
met Mitglied CAD-Admin / Konstrukteur
Beiträge: 137 Registriert: 23.07.2004 Solidworks 2017 TCE 9.1.3 NX 5 3ds max 2017/2019 CorelDraw 12
|
erstellt am: 11. Jan. 2010 15:12 <-- editieren / zitieren --> Unities abgeben:
Hallo, wie kann man den die Rotation eines Features.DatumCsys mit VB.Net auslesen? Position habe ich: Code: Option Strict Off Imports System Imports NXOpenModule NXJournal2 Dim theSession As Session = Session.GetSession() Sub Main() Dim workPart As Part = theSession.Parts.Work
For Each Dock As Features.Feature In workPart.Features If TypeOf Dock Is Features.DatumCsys Then Ausgabe(Dock.Name) Ausgabe(CType(Dock, Features.DatumCsys).Location.ToString) End If Next End Sub Sub Ausgabe(ByVal sText As String) theSession.ListingWindow.Open() theSession.ListingWindow.WriteLine(sText) 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: 12. Jan. 2010 11:03 <-- editieren / zitieren --> Unities abgeben: Nur für met
Hallo met, dazu gibt's verschiedene Möglichkeiten. Der wesentliche Aspekt ist, daß das Feature DatumCsys (wie andere Features auch) außer der Location keine geometrischen Informationen enthält. Auf die kann entweder über die im Feature enthaltenen geometrischen Objekte Dplane/Daxis oder über einen DatumCsysBuilder zugegriffen werden. Da gibt's dann Attribute wie z.B. Origin, Orientation, Normal etc., die die Ausrichtung angeben. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
met Mitglied CAD-Admin / Konstrukteur
Beiträge: 137 Registriert: 23.07.2004
|
erstellt am: 12. Jan. 2010 13:05 <-- editieren / zitieren --> Unities abgeben:
Hallo und danke für die schnelle Antwort. gibt es eine einfacher Möglichkeit als meine, den Winkel um Z zu bestimmen? Code: Option Strict Off Imports SystemImports NXOpen Module NXJournal2 Dim theSession As Session = Session.GetSession() Dim workPart As Part = theSession.Parts.Work Dim TheUF As UF.UFSession = UF.UFSession.GetUFSession() Sub Main() For Each Dock As Features.Feature In workPart.Features If TypeOf Dock Is Features.DatumCsys Then If Dock.Name.StartsWith("cl_") Then Ausgabe(Dock.Name) Ausgabe(GetZAngleCsys(Dock)) End If End If Next End Sub
Function GetZAngleCsys(ByVal Csys As Features.DatumCsys) As Double Dim FB As Features.DatumCsysBuilder = workPart.Features.CreateDatumCsysBuilder(Csys) Dim XD As Vector3d = Nothing Dim YD As Vector3d = Nothing FB.Csys.GetDirections(XD, YD) Ausgabe(XD.ToString & " - " & YD.ToString) Dim vFrom() As Double = {1, 0, 0} Dim vTo() As Double = {XD.X, XD.Y, 0} Dim vCCW() As Double = {0, 0, 1} Dim W As Double = 0 TheUF.Vec3.AngleBetween(vFrom, vTo, vCCW, W) W = Math.Round(180 / Math.PI * W, 1) Return W End Function Sub Ausgabe(ByVal sText As String) theSession.ListingWindow.Open() theSession.ListingWindow.WriteLine(sText) End Sub End Module
[Diese Nachricht wurde von met am 12. Jan. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Projektingenieur*in Versorgungstechnik | SCHOTT ermöglicht scheinbar Unmögliches durch gemeinsame Verantwortung, Erfahrung und enge Kollaboration. Als globaler Konzern für Materialtechnologie gestalten wir eine bessere Zukunft für Partnerunternehmen, KundInnen und MitarbeiterInnen. Als Stiftungsunternehmen ist die Verantwortung für Mitarbeitende, Gesellschaft und Umwelt tief in unserer DNA verankert. Mit über 17.100 ExpertInnen in 34 Ländern sind wir ein kompetenter Partner für viele Hightech-Branchen.... | Anzeige ansehen | Gebäude-, Versorgungs-, Sicherheitstechnik |
|
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: 13. Jan. 2010 11:02 <-- editieren / zitieren --> Unities abgeben: Nur für met
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|