Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  Abstand zwischen zwei Punkten

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:  Abstand zwischen zwei Punkten (1849 mal gelesen)
denizO
Mitglied
Student


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

Beiträge: 26
Registriert: 08.07.2009

erstellt am: 25. Sep. 2009 14:43    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 Forum Experten und Helfer,

ich würde gerne ein kleines Programm schreiben mit dem der Benutzer aufgefordert wird einen Abstand zu messen (ganz so als würde er auf "Abstand messen" klicken), so dass ich dann in einem weiteren Programm den gemessenen Abstand sowie den Vektor der sich aus der Differenz beider Punkte ergibt weiterverarbeiten kann.

Leider finde ich keine Lösung, wie der Benutzer zwei Punkte ähnlich dem "Abstand messen" Dialog auswählen kann, so dass ich diese Punkte dann weiterverarbeiten kann. Ich hatte zwei Ansätzte überlegt:

1. über: ufs.Ui.PickPoint. Problem: Der Benutzer hat nicht die Möglichkeit den Typ des Punktes (Endpunkt, Mittelpunkt, Schnittpunkt) auszuwählen.

2. den "Abstand messen" Dialog über einen eigen definierten Button aufzurufen und dann beide Punkte aufzeichnen. Leider komme ich hier nicht weiter...

Was würdet ihr vorschlagen?

Herliche Grüße und Dank!

Denis

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: 26. Sep. 2009 13:12    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 denizO 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von denizO:
Was würdet ihr vorschlagen?

Hallo Denis,

mein erster Vorschlag wäre, daß Du mal Deine NX-Version angibst. Da gibt's nämlich einige Unterschied, was mögliche Lösungen angeht. Ab NX5 mal ein Journal beim Messen aufzeichnen, da gibt's einem Builder. Bis inkl. NX4 geht's etwas umständlicher ohne Builder über NXOpen.UF.

Gruß, Michael

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

denizO
Mitglied
Student


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

Beiträge: 26
Registriert: 08.07.2009

erstellt am: 26. Sep. 2009 14:29    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,

das stimmt, bei der Version müssen wir erst mal anfangen. Ich benutze NX6. Hatte auch schon ein Journal aufgezeichnet und mir den MeasurementBuilder angeschaut.  Aber ich habe es nicht hin bekommen, dass auch beim Abspielen des Journals (das den MeasurementBuilder enthält), der Benutzer aufgefordert wird, eine Distanz zu messen (bzw. selbst seine zwei Messpunkte zu wählen). Es finden Zuweisungen statt, die etwa so aussehen:

MeasureDistanceBuilder.object1.value = point1

wobei dann im Journal dem Punkt Koordinaten zugewiesen werden. Bei mir müsste halt der Benutzer selbst seine Punkte wählen können und möglichst so wie auch bei der normalen Abstandsmesseung

Leider habe ich hier zu hause meinen genauen Code nich zur Verfügung.

Herzliche Grüße

Denis

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: 28. Sep. 2009 09:35    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 denizO 10 Unities + Antwort hilfreich

Hallo Denis,

die Abfrage einer Position kann über PointConstruct oder PointSubFunction gemacht werden. Beides ist unter NXOpen.UF.UI zu finden, Bsp.:

dim ufs as UFSession = UFSession.GetUFSession
ufs.ui.PointConstruct(...)
ufs.ui.PointSubFunction(...)

Die Positionen, die PointConstruct bzw. PointSubFunction liefert, können nun entweder mit dem MeasureDistanceBuilder oder durch einfache Vektorrechnung weiter verarbeitet werden.

Gruß, Michael

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

denizO
Mitglied
Student


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

Beiträge: 26
Registriert: 08.07.2009

erstellt am: 29. Sep. 2009 12:07    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 Deine Hilfe. Das ist bestimmt der richtige Weg. Leider klappt es noch nicht ganz. PointSubfunction liefert den integer 8 zurück, was bedeutet (laut Uf_ui.h):

8 = Disallowed state, unable to bring up dialog

Weißt Du vielleicht woran das liegen könnte?

Nochmals herzlichen Dank

Denis

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



Planungsingenieur*in (m/w/d) Umwelttechnologie, Gartenbautechnik, Schwerpunkt Wasser- und Bewässerungstechnik

Das Ingenieurbüro Irriproject BEWÄSSERUNG | WASSERTECHNIK (gegründet 2010) ist ein spezialisiertes Fachplanungsbüro, welches sich mit einer neuen und sehr interessanten Branche beschäftigt. Wir sind als Wassertechnikplaner/ Umwelttechnikplaner integraler Bestandteil eines neuen Denkens des Bauens, sowie der Städtebegrünung und dienen damit der Schaffung eines lebenswerten Umfelds in unseren Städten....

Anzeige ansehenEnergie und Umwelttechnik
denizO
Mitglied
Student


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

Beiträge: 26
Registriert: 08.07.2009

erstellt am: 29. Sep. 2009 13:38    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

...so: mittlerweile habe ich die Lösung gefunden:

theUFSession.Ui.LockUgAccess(NXOpen.UF.UFConstants.UF_UI_FROM_CUSTOM);
int state = theUFSession.Ui.PointSubfunction("Specify point", mode, point_display_mode, point_picked);
theUFSession.Ui.UnlockUgAccess(NXOpen.UF.UFConstants.UF_UI_FROM_CUSTOM);

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