Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  max Abstand Punkt - Objekt

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:  max Abstand Punkt - Objekt (2227 mal gelesen)
EMMY
Mitglied
Student


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

Beiträge: 32
Registriert: 11.07.2008

UG NX4

erstellt am: 24. Sep. 2008 14:50    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 
So langsam komme ich in kleinen Schritten vorwärts mit UG und VB

Ich habe gerade folgendes Problem:
Ich habe die Koordinaten von einem Punkt und will von dem über den maximalen Abstand zu einem Spline einen neuen Punkt erzeugen.

Nun mußte ich leider feststellen das es ganz schön viele Measure Befehle gibt, so dass ich überfragt bin wo ich anfangen soll.
Kann mir jemand nen Tipp geben?

gruß EMMY

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

EMMY
Mitglied
Student


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

Beiträge: 32
Registriert: 11.07.2008

UG NX4

erstellt am: 25. Sep. 2008 15:42    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

Ich kann mit der Abstandsmessung eine Linie mit maximalem Abstand erstellen,
Journal zeichnet leider nichts auf.

Weiß jemand Rat?
lg EMMY

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

Overcast
Mitglied



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

Beiträge: 111
Registriert: 21.12.2005

.

erstellt am: 26. Sep. 2008 13:11    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 EMMY 10 Unities + Antwort hilfreich

Zitat:

Journal zeichnet leider nichts auf.

Kann Dir leider nicht folgen.
Bei mir wird die Abstandsmessung wie folgt aufgezeichnet:

Code:

' NX 4.0.4.2
'
Option Strict Off
Imports System
Imports NXOpen

Module NXJournal
Sub Main

Dim theSession As Session = Session.GetSession()
Dim workPart As Part = theSession.Parts.Work
Dim displayPart As Part = theSession.Parts.Display

' ----------------------------------------------
'  Menu: Analysis->Distance...
' ----------------------------------------------
Dim nullUnit As Unit = Nothing
Dim point1 As Point = CType(workPart.Points.FindObject("HANDLE R-470"), Point)
Dim spline1 As Spline = CType(workPart.FindObject("HANDLE R-451"), Spline)

Dim measureDistance1 As MeasureDistance
measureDistance1 = workPart.MeasureManager.NewDistance(nullUnit, MeasureManager.MeasureType.Maximum, point1, spline1)

measureDistance1.Information()
measureDistance1.Dispose()
' ----------------------------------------------
'  Menu: Tools->Journal->Stop
' ----------------------------------------------

End Sub
End Module


Das Mess-Ergebnis wird im Informationsfenster angezeigt.
In NX5/NX6 sieht das ganze dann etwas anders aus, da die Klasse MeasureDistanceBuilder hinzugekommen ist.

Sollte das nicht weiterhelfen, bitte ich um mehr Details.

Gruss,
Frank.

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

EMMY
Mitglied
Student


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

Beiträge: 32
Registriert: 11.07.2008

UG NX4

erstellt am: 26. Sep. 2008 17: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

*STAUN* Danke 
bei meinem Journal was ich aufgezeichnet hab wurde keine MeasureDistance daten aufgezeichnert, sondern ein startpunkt und ein endpunkt mit point3d werten. hab da wohl irgendwas falsch gemacht
werde es mal ausprobieren

*da ich keine Handle´s habe, sonder die Koordinaten von einem Punkt und ein ausgewählten Spline muß ich mal schaun wie das geht

*und als zweites brauch ich von der messung den zweiten punkt, muß ich suchen mit welchem befehl man den bekommt

lg EMMY

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

EMMY
Mitglied
Student


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

Beiträge: 32
Registriert: 11.07.2008

UG NX4

erstellt am: 30. Sep. 2008 09:51    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

wie kann ich meinen point2 in die Journal Aufzeichnung einfügen?
habs schon probiert.. aber kommt fehlermeldung
NXOpenPoint3D cannot be converted to NXOpen.point


Dim point2 As Point3d = New Point3d(15, 15, 15)


Journal Aufzeichnung
        Dim point1 As Point = CType(workPart.FindObject("HANDLE R-3837"), Point)
        Dim spline1 As Spline = CType(workPart.FindObject("HANDLE R-1102"), Spline)
        Dim measureDistance1 As MeasureDistance
        measureDistance1 = workPart.MeasureManager.NewDistance(nullUnit, MeasureManager.MeasureType.Maximum, point1, spline1)

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

Overcast
Mitglied



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

Beiträge: 111
Registriert: 21.12.2005

.

erstellt am: 06. Okt. 2008 12:14    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 EMMY 10 Unities + Antwort hilfreich

Point3D ist kein darstellbares Object, da nicht von DisplayableObject abgeleitet!

In der Doku zur Point Klasse steht folgendes:
To create a new instance of this class, use PointCollection.CreatePoint

Richtig wäre somit:

Code:

Dim point2 As Point3d = New Point3d(15, 15, 15)
Dim point1 As Point = workPart.Points.CreatePoint(point2)


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

Overcast
Mitglied



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

Beiträge: 111
Registriert: 21.12.2005

.

erstellt am: 06. Okt. 2008 12:46    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 EMMY 10 Unities + Antwort hilfreich

 
Zitat:
Original erstellt von EMMY:

*da ich keine Handle´s habe, sonder die Koordinaten von einem Punkt und ein ausgewählten Spline muß ich mal schaun wie das geht

Mit den obigen Infos und einem Standardbeispiel aus dem UG/Answer sollte dies kein Problem mehr darstellen    

Code:

' NX 4.0.4.2
Option Strict Off

Imports System

Imports NXOpen
Imports NXOpen.UI
Imports NXOpen.Utilities
Imports NXOpen.UF

Module select_a_spline

  Dim s As Session = Session.GetSession()
  Dim workPart As Part = s.Parts.Work

Sub Main()
    Dim spline1 As Spline
    If (SelectSpline(spline1) = Selection.Response.ObjectSelected) Then

        Dim nullUnit As Unit = Nothing
        Dim point2 As Point3d = New Point3d(15, 15, 15)
        Dim point1 As Point = workPart.Points.CreatePoint(point2)
        Dim measureDistance1 As MeasureDistance
        measureDistance1 = workPart.MeasureManager.NewDistance(nullUnit, MeasureManager.MeasureType.Maximum, spline1, point1)
        measureDistance1.Information()
        measureDistance1.Dispose()

    End If

    End Sub

   Function SelectSpline(ByRef selectedObject as NXObject) As Selection.Response

        Dim ui As UI = ui.GetUI()
        Dim title As String = "Select a Spline"
        Dim response As Selection.Response
        Dim selectionMask(0) As Selection.MaskTriple
            With selectionMask(0)
                .Type = UFConstants.UF_spline_type
                .Subtype = UFConstants.UF_spline_subtype
                .SolidBodySubtype = 0
            End With
        Dim cursor As Point3d = Nothing

        response = ui.SelectionManager.SelectObject("Select a Spline", _
            "Select a Spline", Selection.SelectionScope.WorkPart, _
            Selection.SelectionAction.ClearAndEnableSpecific, _
            False, False, selectionMask, selectedObject, cursor)

        Return response

    End Function

    Public Function GetUnloadOption(ByVal dummy As String) As Integer
        GetUnloadOption = UFConstants.UF_UNLOAD_IMMEDIATELY
    End Function

End Module



[Diese Nachricht wurde von Overcast am 06. Okt. 2008 editiert.]

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

EMMY
Mitglied
Student


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

Beiträge: 32
Registriert: 11.07.2008

UG NX4

erstellt am: 07. Okt. 2008 09:19    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

EMMY
Mitglied
Student


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

Beiträge: 32
Registriert: 11.07.2008

UG NX4

erstellt am: 07. Okt. 2008 10:41    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

hab noch eine letzte Frage dazu 
mit measureDistance1.Information() werden ja die Informationen ausgegeben, die Länge, First Point, Second Point.


Wie komm ich an die First Point Info aus der Messung ran,
so dass ich ein Punkt mit der Info erstellen kann?

LG EMMY

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



Konstrukteur (m/w/d) Mechanical Engineering

Die Marke FRITSCH steht seit Jahr­zehnten in der Bäckerei­technik für hoch­wertige und leistungs­fähige Anlagen sowie weg­weisende Innovationen. Mit unseren rund 500 Mitarbeitern arbeiten wir täglich mit Leidenschaft und Know-how daran, unsere Kunden welt­weit zu begeistern. FRITSCH ist seit 2019 Teil der MULTIVAC Gruppe, ein Unternehmen mit circa 7.000 Mitarbeitern weltweit, welches in über 80 Ländern durch eigene Tochter­gesell­schaften vertreten ist....

Anzeige ansehenKonstruktion, Visualisierung
Overcast
Mitglied



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

Beiträge: 111
Registriert: 21.12.2005

.

erstellt am: 08. Okt. 2008 14:57    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 EMMY 10 Unities + Antwort hilfreich

Mit

Code:
measureDistance1.Value

bekommt man nur das Messergebnis.
Allerdings gibt es einen Bug.
Es funktioniert nur mit der Minimum Distance, aber nicht mit der Maximum Distance.
Es gibt dazu bereits einen PR#1688058.

Für die Ausgabe der beiden Endpunkte gibt es noch die Klasse Measurement:

Code:

Dim closePoint1 As Point3d
Dim closePoint2 As Point3d
theSession.Measurement.DisplayMinimumDistance ( spline1, point1, closePoint1, closePoint2)
lw.Open()
lw.WriteLine("Close point on first object: " & closePoint1.ToString())
lw.WriteLine("Close point on second object: " & closePoint2.ToString())

Allerdings gibt es keinen Pendant für die Maximum Distance...?!
Würde hierzu mal einen Call beim Support aufmachen.

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