Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  Mit VB erfassen ob Punkt auf Kurve

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:  Mit VB erfassen ob Punkt auf Kurve (999 mal gelesen)
Scarpafico
Mitglied


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

Beiträge: 3
Registriert: 13.02.2013

NX 6.0.5

erstellt am: 30. Sep. 2013 12:40    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 zusammen,

gibt es die Möglichkeit mit vb zu erkennen, ob ein gesetzter Punkt in einer Zeichnung auf einer Linie, Kurve o.Ä. platziert wurde oder im freien Raum liegt?

Momentan setze ich den Punkt wie folgt:

Code:
Sub Main()
Dim ui As UI = ui.GetUI()
Dim ufs As UFSession = UFSession.GetUFSession()
Dim mode() As Integer = {0, 0}
Dim pointDisplayMode As Integer = 0
Dim objectpoint(2) As Double
Dim Punkt As Integer = Nothing

ufs.Ui.LockUgAccess(NXOpen.UF.UFConstants.UF_UI_FROM_CUSTOM)
Punkt = ufs.Ui.PointSubfunction("Bitte Punkt angeben.", mode, pointDisplayMode, objectpoint)
End Sub

Nun würde ich gerne etwas anschließen wie:

Code:
If Punkt auf Kurve then Hinweislinie mit Pfeil
Else If Hinweislinie mit Punkt
End If

Nun finde ich leider nirgendwo einen Befehl, die Eigenschaften vom Punkt abzugreifen.
Kann mir jemand auf die Sprünge helfen?

Gruß,
Christian

P.S.: Ich bin VB-Neuling 

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: 01. Okt. 2013 17:00    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 Scarpafico 10 Unities + Antwort hilfreich

Hallo Scarpafico,

Du kennst doch sicher die Möglichkeit, ein Journal aufzuzeichnen? Dann mach' das mal mit einer Abstandsmessung. Wenn der Abstand Null ist, liegt der Punkt auf der Kurve.

Gruß, Michael

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

Scarpafico
Mitglied


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

Beiträge: 3
Registriert: 13.02.2013

NX 6.0.5

erstellt am: 02. Okt. 2013 09: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

Guten Morgen Michael,

vielen Dank für deinen Tipp!

Ich habe es gestern noch ausprobiert und die Essenz sieht wie folgt aus:

Code:
Dim coordinates2 As Point3d = New Point3d(60, 9, 0.0)
Dim point2 As Point
point2 = workPart.Points.CreatePoint(coordinates2)
measureDistanceBuilder1.Object1.Value = point2

measureDistanceBuilder1.InfoWindow = True

Dim coordinates10 As Point3d = New Point3d(60.0, 6.0, 0.0)
Dim point10 As Point
point10 = workPart.Points.CreatePoint(coordinates10)
measureDistanceBuilder1.Object2.Value = point10

Dim nullUnit As Unit = Nothing
Dim measureDistance1 As MeasureDistance
measureDistance1 = workPart.MeasureManager.NewDistance(nullUnit, MeasureManager.MeasureType.Minimum, point2, point10)

measureDistance1.Information()



Nun kann ich den ersten Punkt mit dem Punkt aus meinem Programm sicherlich irgendwie füttern. Nur der zweite Punkt auf der Kurve bleibt offen, weil ich ja vorher nicht weiß welche Kurve oder Linie in der Nähe liegt...
Also irgendwie komme ich mit diesem Workaround auch nicht sauber zum Ziel  oder habe ich etwas übersehen?

Ich will später keine Kurve vorgeben zu der ein Abstand gemessen wird, sondern es soll einfach geschaut werden, ob der gesetzte Punkt auf irgendeiner Linie, Kurve, Spline usw. liegt. Der Curser gibt beim manuellen setzen eines Punktes ja den Bezug an (Snap Point/Punkt fangen), diesen kann ich aber bisher nicht abgreifen. Auch nicht mit der Journal-Aufzeichnung 

Gruß,
Christian

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: 02. Okt. 2013 16:04    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 Scarpafico 10 Unities + Antwort hilfreich

Christian,

das zweite Element kann ja auch eine Kurve sein:

measureDistanceBuilder1.Object2.Value = anycurve

Wenn Du die nicht kennst, kannst Du mal ff. versuchen:

    - Alle Kurven gegen den einen Punkt prüfen.
    - Assoziativen Punkt verwenden.

Gruß, Michael

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



Techniker Maschinentechnik (m/w/d)
Die besten Köpfe für die unterschiedlichsten Aufgaben zu finden sowie Menschen und Technologien zu verbinden, und zwar täglich aufs Neue - dafür schätzen unsere Kunden FERCHAU. Unterstütze uns: als ambitionierte:r Kolleg:in, der:die wie wir Technologien auf die nächste Stufe bringen möchte.

Techniker Maschinentechnik (m/w/d)
Raum Oldenburg
Dein Aufgabengebiet
  • Entwicklung, ...
Anzeige ansehenMaschinenbau
Scarpafico
Mitglied


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

Beiträge: 3
Registriert: 13.02.2013

NX 6.0.5

erstellt am: 07. Okt. 2013 14:53    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,

übers lange Wochenende hatte ich leider keine Möglichkeit zum Testen.
Nun habe ich es aber vergeblich versucht. Mir fehlt da wohl das nötige Grundverständnis, obwohl ich jetzt schon einiges zu VB usw. gelesen habe.

Deine Tipps, Michael, haben mich so leider nicht weitergebracht 
Ich habe mit zahlreichen Beispielen versucht alle Linien zu greifen, aber ohne Erfolg.

Ich weiß, Hilfe zur Selbsthilfe…aber kannst du (oder jemand anderes) mir mit Code unter die Arme greifen?

Vielen Dank und beste Grüße,
Christian

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