| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: Radius von Fläche (1884 mal gelesen)
|
met Mitglied CAD-Admin / Konstrukteur
Beiträge: 141 Registriert: 23.07.2004 Solidworks 2017 TCE 9.1.3 NX 5 3ds max 2017/2019 CorelDraw 12
|
erstellt am: 17. Mrz. 2011 10:05 <-- editieren / zitieren --> Unities abgeben:
Hallo, hat jemand ne Ahnung, wie die den Radius von SurfaceOfRevolution und Cylindrical auslesen kann? Wenn man eine Fläche auswählt und Informationen-->Objekt.. klickt, wird der Radius im ListingWindow ausgegeben. Code:
Imports System Imports NXOpenModule Module1 Dim theSession As NXOpen.Session = Session.GetSession() Sub Main() Ausgabe(Now) Dim workPart As Part = theSession.Parts.Work 'Flächen im workPart For Each aktBody As Body In workPart.Bodies Ausgabe(aktBody.JournalIdentifier & " - " & aktBody.GetFaces.Length) For Each aktFace As Face In aktBody.GetFaces Ausgabe(aktFace.SolidFaceType.ToString) aktFace.Unhighlight() Select Case aktFace.SolidFaceType Case Face.FaceType.SurfaceOfRevolution, Face.FaceType.Cylindrical aktFace.Highlight() End Select Next 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 |
met Mitglied CAD-Admin / Konstrukteur
Beiträge: 141 Registriert: 23.07.2004
|
erstellt am: 17. Mrz. 2011 11:30 <-- editieren / zitieren --> Unities abgeben:
Hallo, für Cylindrical habe ich es hinbekommen. Aber wie bekomme ich den Radius von SurfaceOfRevolution? Code:
Imports System Imports NXOpenModule Module1 Dim theSession As NXOpen.Session = Session.GetSession() Sub Main() Ausgabe(Now) Dim workPart As Part = theSession.Parts.Work For Each aktAttribut As NXObject.AttributeInformation In workPart.GetAttributeTitlesByType(NXObject.AttributeType.Any) Ausgabe(aktAttribut.ToString) Next 'Flächen im workPart For Each aktBody As Body In workPart.Bodies Ausgabe(aktBody.JournalIdentifier & " - " & aktBody.GetFaces.Length) For Each aktFace As Face In aktBody.GetFaces aktFace.Unhighlight() Select Case aktFace.SolidFaceType Case Face.FaceType.Cylindrical Dim mr As MeasureDistance = workPart.MeasureManager.NewDistance(Nothing, aktFace) Ausgabe(mr.Value) 'aktFace.Highlight() Case Face.FaceType.SurfaceOfRevolution End Select Next 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 |
Jan Boettcher Mitglied
Beiträge: 184 Registriert: 22.06.2005 NX 7.5 - NX 2306 SolidWorks 2006 - 2021 Win 10
|
erstellt am: 17. Mrz. 2011 12:15 <-- editieren / zitieren --> Unities abgeben: Nur für met
Hallo met, Was ist denn der Radius von einer SurfaceOfRevolution? Im Sinne des Radius einer Cylindrical Face wie ihn Dein Programm ermittelt, hat eine SurfaceOfRevolution unendlich viele Radien. Viele Grüße Jan ------------------ Jan Böttcher www.ib-boettcher.de
[Diese Nachricht wurde von Jan Boettcher am 17. Mrz. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
met Mitglied CAD-Admin / Konstrukteur
Beiträge: 141 Registriert: 23.07.2004
|
erstellt am: 17. Mrz. 2011 14:29 <-- editieren / zitieren --> Unities abgeben:
Hallo, hier ein Auszug aus Info. Ich hätte gerne den Innenradius Code:
Informationen über Objekt # 1 Besitzendes Teil D:\EXPORT_NX\P20046XXYY_V-01.00.prt Layer 1 Typ Fläche Farbe [von Körper] 87 (Hellgrau) Font SOLID Breite Normal Geänderte Version 198 11 Nov 2010 11:44 (durch Anwender rogner) Erzeugte Version 166 17 Feb 2010 18:55 (durch Anwender rogner) Inform.-Einheit mm Flächentyp Torusförmig Mitte XC = 371.982392380 X = 371.982392380 YC = 815.845012523 Y = 815.845012523 ZC = 5.000000000 Z = 5.000000000 Achse - Absolut I = 0.000000000 J = 0.000000000 K = 1.000000000 Achse - WCS I = 0.000000000 J = 0.000000000 K = 1.000000000 Hauptradius = 463.394052068 Innenradius = 5.000000000
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Vertriebsingenieur im Innendienst (m/w/d) Technischer Vertrieb | Arbeitgeber: ASYS Automatisierungssysteme GmbH Einsatzort: 89160 Dornstadt Sie haben Erfindergeist im Kopf? Maschinenbau in Ihrer DNA? Genial! Tatkräftig, neugierig und mutig: Das ist unser Team aus über 1.500 Mitarbeitern. Als Weltmarktführer mit dem größten Portfolio in den Bereichen Electronics, Life Science und Energy entwickeln ... | Anzeige ansehen | Feste Anstellung |
|
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2700 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 17. Mrz. 2011 15:15 <-- editieren / zitieren --> Unities abgeben: Nur für met
Met, Du hast hier einen TORUS am Wickel, keine SurfaceOfRevolution. Die hat, wie Dir Jan schon versucht hat klarzumachen, keinen eideutigen Radius. Da es den Radius also geometrisch nicht gibt, kann Über die API auch keiner ausgelesen werden. Mögliche Alternative: Über Geometric Properties die Hauptkrümmungen an einer bestimmten Stelle der Fläche abfragen. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |