Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  NXOpen Basics

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:  NXOpen Basics (3923 mal gelesen)
TKO
Mitglied



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

Beiträge: 17
Registriert: 29.05.2001

erstellt am: 09. Feb. 2006 13:23    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,

ich bin neu im UG Umfeld und darf mich gleich mit der Automatisierung über VB.net herumschlagen.
Ich dachte ich fang mal mit den Basics an und erzeug nen Punkt in einem geöffneten part. Kann mir einer sagen warum das nicht funktioniert, bzw. warum ich keinen Punkt sehe?

Imports NXOpen

Dim theSession as Session = Session.GetSession()
Dim myPoint as Point3d
myPoint.X = 10
myPoint.Y = 20
myPoint.Z = 30

theSession.Parts.Work.Points.CreatePoint(myPoint)

Gibt es denn irgendwo Beispiele, die einem die Basics mal zeigen (Literatur, Online-Hilfen, Links, etc...)? Beispiele in der NX3 Doku hab ich nur wenige gefunden.

Vielen Dank schonmal
Thomas

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

Proofin
Mitglied
Dpl.Ing


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

Beiträge: 208
Registriert: 24.11.2004

erstellt am: 09. Feb. 2006 14:05    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 TKO 10 Unities + Antwort hilfreich

Hi Thomas,

willkommen im Club!
Ich weiß nicht ob du die Beispiele schon gefunden hast:
%UGII_BASE_DIR%\UGOPEN\SampleNXOpenApplications
sind ein paar nützliche dabei, zum Beispiel für dein Problem:

p = session.Parts.Work.Points.CreatePoint(pt)
p.SetVisibility(SmartObject.VisibilityOption.Visible)

Mfg
Proofin

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

TKO
Mitglied



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

Beiträge: 17
Registriert: 29.05.2001

erstellt am: 09. Feb. 2006 14:44    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

Hi Proofin,

Danke, hat geklappt. Ist ja wirklich einfach - wenn man weiss wie es geht :-)

Die Beispiele hab ich gesehen, werd mich mal damit näher beschäftigen...

Noch was anderes:
Im Augenblick erzeug ich meine exe und ruf diese dann über Ausführen/NX öffnen... auf. Das klappt ja ganz gut, aber ich kann nicht debuggen!
Kann ich meine exe auch in einem separatem Prozess laufen lassen und mich quasi mit der aktuellen Session verbinden, um dann über Remote Access weiter zu machen?
In der Docu ist das Thema behandelt (Remote Access to NX) aber leider nur ein Server/Client Beispiel über das http protokoll drin. Bei mir läuft alles lokal auf einer Maschine. Beim CATIA V5 (da komm ich her - jetzt ist es raus... :-)) kann man sich mit ner GetObject Methode verbinden. Im o.g. Beispiel aus der NX Doku ist ein ähnlicher Befehl aufgeführt:
Session theSession = Activator.GetObject(typeof(Session),"http.....")

Hab sowas ähnliches probiert mit dem Befehl
Session theSession = GetObject("ugraf","Session")

geht aber leider nicht. Im V5 muss ich anstatt "ugraf" "catia" eingeben. Den Klassennamen braucht es da nicht, den typecast macht er automatisch.
Hast Du da nen Tip oder ne Lösung?

Gruss
Thomas

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

Proofin
Mitglied
Dpl.Ing


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

Beiträge: 208
Registriert: 24.11.2004

erstellt am: 09. Feb. 2006 14: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 Nur für TKO 10 Unities + Antwort hilfreich

Du kannst dich mit NX über das Objekt NXOpen.Session verbinden.
z.B.
Dim mySession as NXOpen.Session
mySession = NXOpen.Session.GetSession()

Damit bin ich auch gerade am rum experimentieren.

Zitat:
Beim CATIA V5 (da komm ich her - jetzt ist es raus... :-))

Ich komm auch aus CATIA und muß mich auch gerade umstellen. 

PS:
Ich hoffe ich werde korrigiert wenn ich was falsches sage!!

[Diese Nachricht wurde von Proofin am 09. Feb. 2006 editiert.]

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

TKO
Mitglied



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

Beiträge: 17
Registriert: 29.05.2001

erstellt am: 09. Feb. 2006 15:44    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

Hi Proofin,

Das scheint mit der GetSession Methode nicht zu funktionieren!
Im Debug modus kannst du ja gut die zurückgegebene Session analysieren und da sieht man schnell, dass es nicht die aktive Session ist sonder scheinbar eine neue Instanz, die nicht sichtbar ist!

Werd auch noch weiter probieren, aber vielleicht hat ja sonst noch jemand im Forum ne Idee...

Thomas

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

Proofin
Mitglied
Dpl.Ing


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

Beiträge: 208
Registriert: 24.11.2004

erstellt am: 09. Feb. 2006 16:05    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 TKO 10 Unities + Antwort hilfreich

Hi TKO,

aber alles was mit dieser Session machts erscheint im aktuellen Fenster.

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

TKO
Mitglied



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

Beiträge: 17
Registriert: 29.05.2001

erstellt am: 09. Feb. 2006 16: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

Echt?
Bei mir passiert nix in der offenen Session. Aber wenn ich in der "neuen" Session z.B. das Part abspeichere, dann erhalte ich mein .prt im entsprechenden Verzeichnis. Das ist dann auch alles drin was ich gemacht habe (z.B der Punkt von oben).
Aber am offenen UG Bildschirm passiert nix.

Mein code sieht so aus:

Dim mySession As NXOpen.Session
mySession = NXOpen.Session.GetSession()

Dim session_UndoMarkId1 As Session.UndoMarkId
session_UndoMarkId1 = mySession.SetUndoMark      (Session.MarkVisibility.Invisible, "Start")

Dim myPart As Part = mySession.Parts.NewDisplay("testi.prt", Part.Units.Millimeters)
Dim myPoint3d As Point3d
myPoint3d.X = 10
myPoint3d.Y = 20
myPoint3d.Z = 30

Dim myPoint As Point = myPart.Points.CreatePoint(myPoint3d)
myPoint.SetVisibility(SmartObject.VisibilityOption.Visible)
mySession.UpdateManager.DoUpdate(session_UndoMarkId1)

Dim saveStatus As NXOpen.PartSaveStatus
myPart.Save(Part.SaveComponents.False, Part.CloseAfterSave.False, saveStatus)


Gruss
Thomas

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

Proofin
Mitglied
Dpl.Ing


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

Beiträge: 208
Registriert: 24.11.2004

erstellt am: 09. Feb. 2006 23:08    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 TKO 10 Unities + Antwort hilfreich

erstellst du eine .exe??

Ich arbeite mit einer .dll. Ich lasse mir ein Sketch anlegen und ich kann zu sehen was in NX passiert.

Mfg
Proofin

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

MAhrens
Mitglied
Dipl.-Ing.


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

Beiträge: 528
Registriert: 17.11.2000

SAP,TC8.3,NX7.5,T4S

erstellt am: 03. Jul. 2007 06: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 Nur für TKO 10 Unities + Antwort hilfreich

NX Web Remote


Hallo NX Programmierer,

neben unseren Standard Serienteilen werden auch immer mehr Teile mit Kunden - individuellen Anpassungen entwickelt. So kann der Kunde im Auftragsfall zum Beispiel die Anordnung von Stutzen auf einem Behälter mit Parametern auswählen. Bisher lösen wir solche Fälle indem wir eine Zeichnung erstellen, bei der die Kunden - variablen Maße gekennzeichnet werden und im Fertigungauftrag mit angegeben werden. Meine Intention besteht darin, dass wir in Zukunft pro Fertigungsauftrag entsprechende, modifizierte Zeichnungen beilegen. Der genauere Ablauf könnte wie folgt aussehen...

1. Der Konstrukteur erstellt ein parametrisches Master - Modell und eine Master - Zeichnung unter Kennzeichnung der Kunden - individuellen Parameter.

2. Über eine Webseite oder aus dem ERP SAP System wird auf ein Job - Verwaltungssystem zurückgegriffen. Dort wird ein Teil zur kundenindividuellen Modifikation angefragt.

3. Das Job - Verwaltungssystem ruft eine NX Session auf, holt das Teil in den Arbeitsbereich, ließt die Kunden - flexiblen Parameter aus und leitet diese Informationen an den Web - Dienst oder ERP SAP zur Aufbereitung einer Eingabemaske weiter.

4. Dort werden die Parameter nach Kundenwünschen eingetragen und die Aufgabe mit Auftragsnummer and das Job - Verwaltungssystem übergeben.

5. Das Job - Verwaltungssystem arbeitet nun die Aufträge der Reihe nach ab. Es steuert NX mit folgendem Ablauf. Es holt die jeweiligen Teile in den Arbeitsbereich. Ändert die Parameter nach Vorgeben des auftraggebenden Systems. Aktualisiert das Modell und die Zeichnung. Erweitert das Zeichnungsschriftfeld mit der Auftragsnummer. Schreibt das Modell und die Zeichnung in gängige Visualisierungsformate raus (JT & CGM). Verwirft die modifierzten Geometrien, damit das Quell - Modell im ursprünglichen Zustand erhalten bleibt.

6.  Das Job - Verwaltungssystem sendet nun die Visualisierungsdateien an das auftraggebende System (Webdienst oder ERP SAP). Dort werden diese kundenspezifischen Dateien bzw. Informationen mit dem Auftrag zusammen archiviert.


- Kennt jemand kommerzielle Werkzeuge für NX, die so etwas leisten können?
- Hat jemand schon so etwas oder äühnliches in VB.NET realisiert?
- Gibt es Ansatzpunkte zur Lösung so einer Architektur?

Gruß

Matthias

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

Walter Hogger
Moderator
Maschinenbauingenieur


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

Beiträge: 3886
Registriert: 06.10.2000

erstellt am: 03. Jul. 2007 10:27    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 TKO 10 Unities + Antwort hilfreich

Hallo Matthias,

das hört sich etwas komplex an, könnte aber klappen.
Welche Programmiersprache du dafür nimmst, könnte entscheidend sein.
Dazu mußt du deine schön aufgelisteten Einzelpunkte prüfen, ob sie z.B. mit VB.NET realisierbar sind.

Wir haben mal ein PDM-System an UG angeflanscht. Das klappte auch mit GRIP. Es sind damit Betriebssystemkommandos, Batch-Job-Aufrufe, externe Programme, etc. aufrufbar. So kann man damit z.B. mit einer SQL-Abfrage eine Datenbank "anpingen" und das Ergebnis übernehmen und auswerten. ERP SAP-Anfragen habe ich noch nicht gemacht, sollte aber ähnlich gehen.

Ein Problem sehe ich bei der Eingabe der Parameter durch den Kunden. Wie/wo willst du den erlaubten Wertebereich abfragen?

Gruß

------------------
Walter Hogger

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

MAhrens
Mitglied
Dipl.-Ing.


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

Beiträge: 528
Registriert: 17.11.2000

SAP,TC8.3,NX7.5,T4S

erstellt am: 03. Jul. 2007 19: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 Nur für TKO 10 Unities + Antwort hilfreich

Hallo Walter,

mir schwebt da eine Architektur auf VB.NET Basis vor. Hier habe ich schon die ersten Gehversuche mit VB.NET Journalen in NX gemacht und bin von den Möglichkeiten der API überwältigt. Durch meine Vorkenntnisse in VBA konnte ich so schon erste kleine Programme realisieren. So habe ich mal ein VB.NET Journal Skript geschrieben, welches automatisch von allen Komponenten einer Baugruppe isometrische, hochqualitative Renderbilder mit dem integrierten Visualisierungstool (Lightworks) erzeugt und ablegt.

Leider fehlt mir noch so der richtige Einstieg in die Remote - Steuerung über VB.NET. So habe ich versucht das Beispiel aus der NX - Hilfe in VB.NET zu überführen. Hier bin ich aber bisher gescheitert.

Bezüglich der Übergabe der flexiblen, vom Remotesystem zu variierenden Parameter und deren erlaubte Grenzwerte habe ich verschieden Gedanken.
- So könnten die flexiblen Parameter durch eine Notifikation im Kommentarfeld des Ausdrucks - Editors identifiziert werden.
- Oder aber sie werden als Attribute an das Teil gehängt
- Auch wäre ein Auslesen der Knowledge - Fusion Attribute denkbar, oder nicht?

Gruß

Matthias

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



Prozessingenieur (m/w/d)

ORAFOL-Produkte findet man überall auf der Welt: auf Flugzeugen, Autos, Ortsschildern, Sicherheitswesten und vielem mehr. Unser Anspruch an uns selbst ist dabei nicht nur, nie stehen zu bleiben und unsere Produkte immer weiterzuentwickeln. Als Spezialist in der Veredlung von Kunststoffen suchen wir Menschen, die mit uns VON BRANDENBURG AUS DIE GANZE WELT GESTALTEN. Dafür ermöglichen wir in unserem ...
Anzeige ansehenProzessmanagement
Walter Hogger
Moderator
Maschinenbauingenieur


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

Beiträge: 3886
Registriert: 06.10.2000

erstellt am: 04. Jul. 2007 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 Nur für TKO 10 Unities + Antwort hilfreich

Hallo Matthias,

jeder nimmt die Sprache, die er kennt. Ich mache seit 23 Jahren GRIP-Programme ... VB.NET ist noch relativ neu im NX-Umfeld. 2 Jahre oder so, das ist nun mal neu bei derart komplexen Systemen, ob sie nun UG/NX, Catia oder Pro/E, etc. heißen. Mit zahlreichen Bugs muß man ständig rechnen.

Remote Steuerungen mit VB.NET lernt man wohl eher in speziellen Kursen, die mit CAD weniger zu tun haben. Ich habe schon zahlreiche Integrationen in irgendwelche "Verwaltungsumgebungen" erstellt. Man braucht dazu im Allgemeinen einen Profi "von der anderen Seite", der das System kennt, in dem man sich bewegen muss. Es ist auch nicht immer alles Windoof, da braucht man dann schon Tipps, Informationen und Hilfe.

Attribute sind relativ flexibel und üblich für "Notizen". Mit den Notifikations habe ich keine Erfahrung, hier liest man aber gelegentlich über Probleme, dass die z.B. verschwinden bei ... (siehe UG-Forum!).

KF ist eben wieder eine neue, zusätzliche Sprache. Bei uns scheitert die großzügige Auswahl von Sprachen am Preis. Wenn man sich alle Entwicklerumgebungen zulegt ist man - bei unserer Firmengröße - schlichtweg pleite. Dann noch etwas zu entwickeln bringt nix 

Gruß

------------------
Walter Hogger

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