Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  Auslesen der Geometriedaten

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:  Auslesen der Geometriedaten (2246 mal gelesen)
Trudel
Mitglied



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

Beiträge: 24
Registriert: 03.02.2009

erstellt am: 16. Feb. 2009 08:55    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,

bin noch Anfänger in der NX-Programmierung, aber endlich klappen die ersten Programme.Arbeite mit NX5 und Visual Studio 2008/Programmiersprache C#. Nun hab neues Problem.
Möchte von einer bereits erstellten prt-Datei(z.b. einem Block oder Rechteck) die Eckpunkte und Linien wissen. Also Informationen über die Geometrie.

Weiß nicht so recht, welche Methode das macht. Hab ein wenig im Objektbrowser geschaut und einige interessante Methoden gefunden.

Ist es die hier??? 

NXOpen.Sketch.GetAllGeometry();
Zusammenfassung:
Returns all the curves and points in the sketch

Rückgabewerte:
All the curves and points in the sketch

Wenn ja wäre hilfreich, wie man die genau anwendet. Hat bei mir nicht funktioniert.
Um dann an die Länge der Linie zu kommen, schaff ich dann auch noch allein über
double laenge = line1.GetLength();
MessageBox.Show("Die Länge der linie 1 beträgt "+laenge+" LE");

Danke

[Diese Nachricht wurde von Trudel am 16. Feb. 2009 editiert.]

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: 16. Feb. 2009 14:26    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 Trudel 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Trudel:
Hab ein wenig im Objektbrowser geschaut ...

Hallo Trudel,

auswendig wird Dir das wohl niemand sagen können, und daß "ein wenig" Nachlesen ausreicht, glaub' ich eher nicht.
Aber ein paar Tipps für die weitere Suche kannst Du gerne haben:

Sieh' mal in der dotnet-ref nach, die Datei (Name: netref.chm o.ä.)findest Du im NX- Installationsverzeichnis.

Als Suchbegriff kommt alles in Frage, was mit der Topologie von Solids zu tun hat, also Body, Face, Edge etc. Es müsste meiner Meinung nach irgendwas geben, mit dem sich die, zu einem Body gehörenden Objekte ermitteln lassen.

Wie man Informationen zu Edges bekommt, wurde erst kürzlich hier http://ww3.cad.de/foren/ubb/Forum442/HTML/000412.shtml  diskutiert.

Gruß, Michael

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

Siassei
Mitglied
MB - Student


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

Beiträge: 490
Registriert: 08.07.2007

SWX
NX 3 und höher ;)
Windows and UNIX<P>C, C++, Java, Phyton,...</P>

erstellt am: 16. Feb. 2009 19:32    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 Trudel 10 Unities + Antwort hilfreich

Servus,

generell zu NXOpen: NXOpen ist nichts anderes als wie eine (schlecht) überarbeitet C-API. Da ist nix, aber wirklich gar nix, was mit OOP zu tun hat. Mhhh .... leider 

Zu deinem Problem: Am leichtesten tust du dir, wenn du erstmal ein wenig von Hand modellierst und dich in NX rein denkst. Leider muss man das fast tun. Grund, siehe weiter oben 
Ich habe es noch nicht getestet, aber du musst höchst wahrscheinlich über den Selectionsmanager gehen. Sprich, Part XYZ -> Workpart -> Displayed Part schalten. Danach ein Fit ausführen und über den SelectionsFilter alle Objekte des Typs X auswählen. Jetzt müsstest du eine Liste von Objekte besitzen und diese kann man dann Auswerten. Wie gesagt, nur geraten und nicht getestet. Sag bescheid, falls du zum Ergebniss gekommen bist oder immer noch am Anfang stehst 

Gruß,
  Thomas

------------------
Hopfen und Mals
Gott erhalts 

Programming is similar to sex. If you make a mistake, you have to support it for the rest of your life.

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

Siassei
Mitglied
MB - Student


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

Beiträge: 490
Registriert: 08.07.2007

SWX
NX 3 und höher ;)
Windows and UNIX<P>C, C++, Java, Phyton,...</P>

erstellt am: 16. Feb. 2009 20: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 Trudel 10 Unities + Antwort hilfreich

Sorry, doppel Post

[Diese Nachricht wurde von Siassei am 16. Feb. 2009 editiert.]

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: 17. Feb. 2009 11: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 Trudel 10 Unities + Antwort hilfreich


create_block_and_find_associated_body_and_edges.txt

 
... hier ein Beispiel aus den UGSolutions ...

Gruß, Michael

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

Trudel
Mitglied



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

Beiträge: 24
Registriert: 03.02.2009

erstellt am: 17. Feb. 2009 12:26    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

danke leute..schreibe später noch obs es funktioniert hat und wie

edit: stecke bissl fest momentan...möchte zum beispiel die informationen (kantenlänge,material) auslesen von einem design feature. Also haben einen Block erstellt in unigraphics NX5 --> starte dann das plugin und möchte  dass die informationen in einer MessageBox angezeigt werden. Was mir fehlt ist die Verbindung zu dem Design feature herzustellen, also wie ich es ansprechen kann.

Danke


[Diese Nachricht wurde von Trudel am 17. Feb. 2009 editiert.]

[Diese Nachricht wurde von Trudel am 17. Feb. 2009 editiert.]

[Diese Nachricht wurde von Trudel am 17. Feb. 2009 editiert.]

[Diese Nachricht wurde von Trudel am 18. Feb. 2009 editiert.]

[Diese Nachricht wurde von Trudel am 18. Feb. 2009 editiert.]

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: 18. Feb. 2009 18:34    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 Trudel 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Siassei:
generell zu NXOpen: NXOpen ist nichts anderes als wie eine (schlecht) überarbeitet C-API.

Falsch, die Abbildung der C API findet man nur in den UF Wrapper Klassen.
NXOpen ist eine völlig eigenständige Implementierung und die Anzahl der Klassen wächst in jeder Version.

Zitat:
Original erstellt von Siassei:
Da ist nix, aber wirklich gar nix, was mit OOP zu tun hat. Mhhh .... leider  :D

Klassen-Vererbung ist durchaus ein Merkmal der OOP.

Zitat:
Original erstellt von Siassei:
Ich habe es noch nicht getestet, aber du musst höchst wahrscheinlich über den Selectionsmanager gehen. Sprich, Part XYZ -> Workpart -> Displayed Part schalten. Danach ein Fit ausführen und über den SelectionsFilter alle Objekte des Typs X auswählen.

Der bessere Weg wäre sicherlich, die vorhandenen Collections zu nutzen, z.B.
NXOpen.Features -> FeatureCollection
NXOpen -> BodyCollection

Anschliessen hat man mit NXOpen -> Body -> GetEdges() alle Kanten eines Körpers zur Verfügung
und Edge -> GetVertices(Point3d, Point3d) liefert die Endpunkte.

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: 18. Feb. 2009 18: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 Trudel 10 Unities + Antwort hilfreich

Hier mal ein kleines Beispiel, dass alle Kanten nebst Vertices im dargestellten Teil liefert:

Code:

Option Strict Off
Imports System
Imports NXOpen

Module NXJournal
Sub Main

Dim theSession As Session = Session.GetSession()
Dim theUI As UI = UI.GetUI()
Dim lw As ListingWindow = theSession.ListingWindow

lw.Open()

For Each body As Body in theSession.Parts.Display.Bodies
  lw.WriteLine(body.ToString())
  Dim edges() As Edge = body.GetEdges()
  For Each edge as Edge in edges
    lw.WriteLine(" " & edge.ToString())
    Dim v1, v2 As Point3D
    edge.GetVertices(v1, v2)
    lw.WriteLine("  " & v1.ToString())
    lw.WriteLine("  " & v2.ToString())
  Next
Next

End Sub
End Module


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



HVB Mechanical Design ? Entwicklungsingenieur für Vorentwicklungs- und Innovationsthemen im Bereich mechanische Entwicklung von HV?Batterien (w/m/d)
Bei Daimler Truck wollen wir das heutige Transportwesen verändern, um gemeinsam etwas zu bewirken. Darum übernehmen wir weltweit Verantwortung und arbeiten als ein globales Team gemeinsam an unserer Vision: Leading Sustainable Transportation. Es sind die Menschen, die bei uns den Unterschied machen und den Erfolg vorantreiben. Gemeinsam wollen wir einen nachhaltigeren Transport erreichen, unseren CO?-Fußabdruck ...
Anzeige ansehenFahrzeugtechnik
Trudel
Mitglied



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

Beiträge: 24
Registriert: 03.02.2009

erstellt am: 19. Feb. 2009 08: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

Herzlichen dank Overcast - genau so hab das gemeint  

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