Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  VB.Net: Koordinaten aller Punkte ausgeben, welche auf einem Zeichnungsblatt liegen

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:  VB.Net: Koordinaten aller Punkte ausgeben, welche auf einem Zeichnungsblatt liegen (1964 mal gelesen)
Jürgen75
Mitglied



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

Beiträge: 46
Registriert: 04.10.2005

NX7.5, NX8
TC2007, TC8.3

erstellt am: 23. Feb. 2010 14:37    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

Servus,


ich benötige eine Ausgabe der X/Y-Koordinaten aller auf einem Zeichnungsblatt eines NX-Drawings vorhandene Punkte (NX6.0.4, VB.Net)

Was habe ich bisher probiert?

1. Lösung:
Dim theSession As Session = Session.GetSession()
Dim workPart As Part = theSession.Parts.Work
For Each obj1 As DisplayableObject In workPart.Points
    Dim point As Point
    point = obj1
    Dim origin As Point3d = point.Coordinates
    msgbox("Ermittelter Punkt (Koordinaten): " & vbCrLf & origin.X & " x " & origin.Y)
    obj1 = Nothing
Next

Vorteil:
Ich weiß wie ich an die Koordinaten komme.

Nachteil:
Diese Lösung listet nicht nur alle Punte des aktuellen Zeichnungsblattes (Sheets) auf, sondern _alle_ Punkte des aktiven Teiles - also auch diejenigen auf den anderen Zeichnungsblättern oder in eventuell vorhandenem 3D-Modell.

2. Lösung:
Dim dwgView As NXOpen.Tag = NXOpen.Tag.Null
ufs.Draw.AskViewOfDrawing(curDwg, dwgView)
Dim obj As NXOpen.Tag = NXOpen.Tag.Null
Do
    ufs.View.CycleObjects(dwgView, UFView.CycleObjectsEnum.DependentObjects, obj)
    If obj <> NXOpen.Tag.Null Then
        ufs.Obj.AskTypeAndSubtype(obj, intType, intSubtype)
        If intType = UFConstants.UF_drafting_entity_type And _
            intSubtype = UFConstants.UF_draft_point_subtype Then

            'hmmm... wie jetzt hier weiter???

        End If
    End If
Loop Until obj = NXOpen.Tag.Null

Vorteil:
Ich erhalte wirklich nur die Objekte, die auf dem aktuellen Zeichnungsblatt liegen.

Nachteil:
Ich habe keine Ahnung, wie ich über diese Methode an die Koordinaten komme... 

Könnt Ihr mir hierbei helfen?


Danke  vielmals im Voraus,
Jürgen

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: 23. Feb. 2010 15:25    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 Jürgen75 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Jürgen75:
            'hmmm... wie jetzt hier weiter???

Hallo Jürgen,

entweder Du bleibst bei der UFSession (mal in ufs.Modl, ufs.Curve etc. nach passender Funktion suchen) oder Du wandelst den Tag über den NXObjectManager bzw. Ctype in einen Point um.

Gruß, Michael

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

Jürgen75
Mitglied



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

Beiträge: 46
Registriert: 04.10.2005

NX7.5, NX8
TC2007, TC8.3

erstellt am: 23. Feb. 2010 16:22    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,


tausend Dank!!!

Der Tip mit ufs.Curve... war Gold wert!!! Den Wink mit dem Zaunpfahl habe ich gebraucht!

Hier zur Vollständigkeit halber der Code der inneren If-Abfrage:

If intType = 2 And intSubtype = 0 Then
  Dim pCoords(2) as Double
  ufs.Curve.AskPointData(obj, pCoords)
  For Each aCoords As Double In pCoords
    MsgBox(aCoords.ToString)
  Next
End If


Danke und Grüße,
Jürgen

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



Technischer Produktdesigner (m/w/d)

In Schienenfahrzeugen, Kompressoren oder Leistungs­transformatoren, in der Antriebstechnik und im Schiffbau sorgen unsere Ventilatoren zuverlässig für die richtige Belüftung oder Entwärmung. 50 Jahre Erfahrung, rund 470 hoch qualifizierte Beschäftigte weltweit sowie modernste Mess- und Prüfeinrichtungen gewähr­leisten unseren Kunden höchste Qualität. Unsere Produkte stehen für absolute Zuver­lässigkeit, für ein Höchst­maß an Funktionalität und Innovation....

Anzeige ansehenProduktdesign, Industriedesign
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: 23. Feb. 2010 17:49    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 Jürgen75 10 Unities + Antwort hilfreich

Hallo Jürgen,

der Zaunpfahl hat andere Dimensionen. Das hier würd' ich vielleicht als Stöckchen, eher noch als Streichholz bezeichnen. 

Gruß, Michael

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