Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  Extrempunkt einer Fläche erzeugen

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX
Autor Thema:  Extrempunkt einer Fläche erzeugen (1657 mal gelesen)
SunOnTheRun
Mitglied
Ingenieur


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

Beiträge: 14
Registriert: 22.04.2014

erstellt am: 12. Mai. 2014 09:52    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 Leute,

ich habe in der SuFu leider nix passendes für mich gefunden.

Ich möchte in meinem Programm gerne einen Extrempunkt auf einer komplexen Fläche erzeugen bzw. so auslesen, dass ich ihn Anschließend weiterverwenden kann. Der Extrempunkt soll den Maximalen Abstand der Fläche zur YZ-Ebene (also den maximalen X-Abstand) haben.

Mein Ansatz hierfür war bis jetzt:

-Messfunktion: *Projected Distance
              *Vector: X Achse des Ursprungskoordinatensystems
              *StartPoint: Koordinatenursprungspunkt
              *EndPoint or Object: Die komplexee Fläche welche durch den Anwender Abgefragt werden soll
              *Measurement: distance Maximum Clearance

Wenn man das jetzt mal manuell ausführt erhalte ich leider nur den maximalen X Abstand des Punktes auf der Fläche, ich benötige aber die kompletten Koordinaten.

Alternativ könnte ich mir auch eventuell ein Intersect der komplexen Fläche mit einer Ebene erzeugen und dann auf der enstandenen Schnittkurve den in X Richtung maximal entferntesten Punkt bestimmen, nur weiß ich leider nicht wo ich diese Funktion in NX finde. (Ich kenne diese nur aus CATIA V5).

Habt ihr da vielleicht eine Idee wie man dieses Problem lösen könnte?

Vielen Dank schonmal im vorraus!!!

LG Sören

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

SunOnTheRun
Mitglied
Ingenieur


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

Beiträge: 14
Registriert: 22.04.2014

erstellt am: 12. Mai. 2014 09:54    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

Ach ja, ich nutze übrigens NX 8.5 und programmiere in VB.

LG Sören

[Diese Nachricht wurde von SunOnTheRun am 12. Mai. 2014 editiert.]

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

SunOnTheRun
Mitglied
Ingenieur


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

Beiträge: 14
Registriert: 22.04.2014

erstellt am: 14. Mai. 2014 13:23    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

Hat keiner eine Idee?

Ich habe es jetzt mal auf 2 Arten versucht:

A)      über ein Measure Distance

    Dim nullUnit As Unit = Nothing
        Dim point2 As Point3d = New Point3d(0, 0, 0)
        Dim point1 As Point = workPart.Points.CreatePoint(point2)
        Dim measureDistance1 As MeasureDistance
        measureDistance1 = workPart.MeasureManager.NewDistance(nullUnit, MeasureManager.EndpointType.StartPoint,point1, face1)
        measureDistance1.Value
measureDistance1.Dispose()

Hier misst er immer vom Koordinatenursprung aus meinen Wert. Ich kann mir hier auch über    measureDistance1.Information ein Infofenster ausgeben lassen, in dem man den Start und Endpunkt, sowie den Abstand mit allen Koordinaten sieht.


FRAGE   : wie bekomme ich die Koordinaten so exportiert, das ich sie in einem nächsten Programmschritt weiterverwenden kann? Der Punkt soll anschließend die Grundlage für eine Beschnittebene sein.


B)      über ein Measure Extremes.

Dim faceBodyRuleM1 As FaceBodyRule
faceBodyRuleM1 = workPart.ScRuleFactory.CreateRuleFaceBody(face1)

Dim rulesM1(0) As SelectionIntentRule
rulesM1(0) = faceBodyRuleM1
scCollector1.ReplaceRules(rulesM1, False)

Dim unit1 As Unit = CType(workPart.UnitCollection.FindObject("MilliMeter"), Unit)

Dim datumAxisM1 As DatumAxis = CType(workPart.Datums.FindObject("DATUM_CSYS(7) X axis"), DatumAxis)

Dim directionM1 As Direction
directionM1 = workPart.Directions.CreateDirection(datumAxisM1, Sense.Forward, SmartObject.UpdateOption.WithinModeling)

Dim nullDirection As Direction = Nothing

Dim measureRectangularExtremeM1 As MeasureRectangularExtreme
measureRectangularExtremeM1 = workPart.MeasureManager.NewRectangularExtreme(unit1, directionM1, nullDirection, nullDirection, scCollector1, True)

Dim measure1 As Measure
measure1 = measureRectangularExtremeM1.CreateFeature()

measureRectangularExtremeM1.Dispose()

Das Problem an dieser Variante ist: Es dauert ewig, da meine Grundfläche aus ca. 2000-4000 Einzelflächen besteht, welche mittels Sew verbunden wurden.
über das    measure1 = measureRectangularExtremeM1.CreateFeature()
    bekomme ich zwar ein Feature im Strukturbaum, aber ich kann damit nix Anfangen weil ich ja die Punktkoordinaten des Extrempunkts benötige.


FRAGE: Die Selbe wie bei Variante A)

Kann mir jemand weiterhelfen?

Viele Grüße
Sören

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

mseufert
Moderator
Freiberuflicher CAD/CAM Ingenieur


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

Beiträge: 2624
Registriert: 18.10.2005

HP Z420
WIN7 64 Win 10
UG NX6-1980
3D Printer Prusa MK2 S

erstellt am: 15. Mai. 2014 07:33    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 SunOnTheRun 10 Unities + Antwort hilfreich

2 Tipps:

- API durchsuchen nach alternativen Messfunktionen.
- mit einer Messung von +X ausgehend zur Fläche hin das Minimum, anstatt von X0 aus das Maximmum zu suchen.

Gruß, Michael

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

SunOnTheRun
Mitglied
Ingenieur


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

Beiträge: 14
Registriert: 22.04.2014

erstellt am: 15. Mai. 2014 08:10    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 Michael,

vielen Dank für die Antwort!
Die Messfunktionen habe ich schon alle durchsucht und ich bekomme über die Informationsfunktion auch den Richtigen Wert angezeigt, ich will diesen Wert jedoch direkt weiterverarbeiten in meinem Programm. Mir würde prinzipiell der X-Abstand schon reichen, die gesamten Koordinaten wären mir aber lieber. Hast du eine Idee wie man diese Daten auslesen kann?

Viele Grüße
Sören

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



Projektkonstrukteur Elektrik (m/w/d)

PROJEKTKONSTRUKTEUR ELEKTRIK (M/W/D)

am Standort Kirchheim.

RECARO Automotive setzt seit Jahrzehnten Maßstäbe im Bereich mobiles Sitzen: Von uns stammt der erste nachrüstbare Sportsitz für Automobile, der leichteste Fahrzeugsitz der Welt und neue Sportsitze in moderner Composite-Bauweise. Zahlreiche Automobilhersteller setzen auf Sitze von RECARO Automotive. Darüber hinaus bedienen wir über den Fachhandel Endkunden mit Nachrüstsitzen und Motorsportler mit Rennschalen....

Anzeige ansehenElektrotechnik, Elektronik
SunOnTheRun
Mitglied
Ingenieur


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

Beiträge: 14
Registriert: 22.04.2014

erstellt am: 15. Mai. 2014 14:58    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

Hey Leute,

Ich habe jetzt eine Lösung gefunden und wollte euch die Lösung nicht vorenthalten, falls nochmal jemand so ein Problem hat.

Wenn man den Extrempunkt z.B. mittels Measure Extremes ermitteln will, kann man das Ergebnis als Expression ausgeben lassen. Am besten ihr ermittelt euch die Programmierschritte mittels einer Journalaufnahme. Nachdem man den Befehl geöffnet und die entsprechenden Inputs selektiert hat, kann man unter dem Menüpunkt "Associative Measure and Checking" einen Haken bei "Create individual coordinate expressions" setzen. Nun erstellt der Befehl die Koordinaten als Parameter unter Expressions und man kann diese dann im weiteren Progamm verwenden.

Danke nochmal Michael, ich dachte ich hätte mir die Messfunktionen genau angeschaut, aber das Häkchen hatte ich übersehen.

Viele Grüße
Sören 

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