Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  Block UIStyler Auslesen der Inputdaten

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:  Block UIStyler Auslesen der Inputdaten (1498 mal gelesen)
SunOnTheRun
Mitglied
Ingenieur


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

Beiträge: 14
Registriert: 22.04.2014

erstellt am: 14. Jul. 2014 17: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


wizard.txt

 
Hallo,

ich bin Neuling in der allgemeinen, sowie der NX Programmierung mit VB (und SNAP) und habe ein kleines Tool geschrieben und in der Rohfassung funktioniert es schon komplett.
Nun habe ich mithilfe des Block UIStyler ein Userinteface gebastelt, mit dem Wizard Layout, da dies perfekt zu meinem Tool passt.
Leider funktioniert hier wenig bis garnix, da ich nicht genau weiß wie ich die Inputdaten in mein Programm einbauen kann.
Ich schilder mal meine genauen Probleme.


Ich nutze übrigens NX 8.5 und 9  VS2010 Premium und VB als Sprache (NXOpen und SNAP Bibliotheken stehen zur Verfügung)

Zunächst habe ich einen Selection Block eingebaut, mit dem ich einen Body anwählen will, welcher anschließend in einer SNAP Funktion genutzt werden soll.

Meine Idee hierzu war so:

Code:

                        For u = minU To maxU Step stepU
                           

'#################################################################################
                         
    Dim tagobj As NXOpen.TaggedObject() = selection0.GetSelectedObjects
                            Dim n As Integer = tagobj.Length
                            Dim i As Integer
                            Dim target(n) As NX.Body
                            For i = 1 To n - 1
                                target(i) = Snap.NX.Body.Wrap(tagobj(i).Tag)
                            Next

'#################################################################################

                            Dim center = path.Position(u)                              ' Point on path
                            Dim dist = Compute.Distance(center, target(i))          ' Distance to target
... usw.


PROBLEM:  target(i) wird  nicht die ausgewählte Fläche zugeordnet  und somit kann die Berechnung (Compute.Distance(...)) nicht gestartet werden.


Weiterhin habe ich 2 Enumeration Blöcke mit der Auswahlmethode Radio Box verwendet um bestimmte Werte in meinem Tool zu setzen.

Hier habe ich es auf verschiedene Weisen probiert, aber keine führte zum Erfolg.
Der Wert ist immer auf 0 und nicht auf den Ausgewählten gesetzt.

Code:

    Dim rStep As Single
Dim pl As PropertyList = enum0.GetProperties()
                    Dim cho1 As String
                    If cho1 = pl.GetEnumAsString("1deg") Then
                        rStep = -1
                    ElseIf cho1 = pl.GetEnumAsString("3deg") Then
                        rStep = -3
                    ElseIf cho1 = pl.GetEnumAsString("5deg") Then
                        rStep = -5
                    End If
 


Dim count As Single
                    Dim pl2 As PropertyList = enum01.GetProperties()
                    Dim cho2 As Integer
                    If cho2 = pl2.GetEnumAsString("High") Then
                        count = 600
                    ElseIf cho2 = pl2.GetEnumAsString("Middle") Then
                        count = 500
                    ElseIf cho2 = pl2.GetEnumAsString("Low") Then
                        count = 400
                    End If



All diese Befehle sollen ausgeführt werden nachdem ein Startbutton gedrückt wurde,
dieser funktioniert auch und das Programm startet und läuft sauber durch, aber nur wenn ich die Variablen quasi intern im Programm eingebe.
Ich habe das gesamte Programm unter dem von NX generierten Callback update_cb eingefügt, ist das überhaupt korrekt?

Ich habe auch noch den Gesamten Quelltext angehängt, falls jemand Lust hat da mal drüber zu schauen 

Vielen Dank schon mal im vorraus!!!

Grüße

Sören


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: 15. Jul. 2014 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 SunOnTheRun 10 Unities + Antwort hilfreich

Hallo Sören,

schau' Dir mal GetProperties genauer an. Der Name ist nicht ganz glücklich gewählt, so daß man gerne annimmt, damit direkt auf die Properties eines Blocks zugreifen zu können. Dem ist nicht so.

Propertynamen wie "1deg" selbst zu erfinden, zeugt zwar von Kreativität  , NX interessiert das aber nicht. Du brauchst die Propertynamen, die der Styler festlegt. Die kriegst Du über GetProperties.GetPropertyNames.

Zitat:
(NXOpen und SNAP Bibliotheken stehen zur Verfügung)

Die Bibliotheken sind nicht die Frage, interessanter sind die verfügbaren Lizenzen. Wie sieht's da aus ?

Daneben wär' ich eher skeptisch, ob eine Mischung aus SNAP und .NET sauber funktioniert.

Gruß, Michael

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

SunOnTheRun
Mitglied
Ingenieur


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

Beiträge: 14
Registriert: 22.04.2014

erstellt am: 15. Jul. 2014 14:18    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,

danke für deine Anwort.
Lizenzen sind alle vorhanden, daran scheitert es nicht und die Mischung aus SNAP und NXOpen funktioniert ja im eigentlichen Programm wunderbar. Nur mit diesem blöden Wizard aus dem UI Styler komme ich nicht klar.

Danke für den Tipp mit den Properties, ich werde das mal ausprobieren.

Hast du vielleicht eine Idee für mich wie ich am besten einen Body anwählen kann? Zur Info, es ist quasi ein aus ca 2000 Flächen zusammengefügter Body, falls das irgendwie relevant sein sollte.
Ich habe aus Verzweiflung schon versucht eine SNAP Selection für Bodys einzubauen (anstatt der optisch schöneren direkt im Wizard), die sich erst öffnet nach dem man im Wizard den "start" button für das eigentliche Programm gedrückt hat. Allerdings schließt diese sich sofort wieder, nachdem man auf Start gedrückt hat. Also sie erscheint für einen Bruchteil einer Sekunde, verschwindet dann aber sofort wieder und das Programm macht quasi nix, da die Fläche nicht angewählt wurde.

Klingt glaub ich komplizierter als es ist  , aber vielleicht hat ja jemand eine Idee zur Lösung dieses Problems!?

Danke euch!

Gruß Sören

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



Projektleiter (m/w/d) Ladenbau

Wir sind 1.500 Mitarbeiter aus über 25 Nationen mit verschiedensten Kulturen, Religionen und Gesichtern. Wir sind Store Makers mit Innovationsgeist, Out of the Box-Thinking, Entschlossenheit und Charisma. Wir sind umdasch The Store Makers - ein vertrauter Partner für außergewöhnliche Ladenbau-Lösungen. Und genau deswegen sucht Umdasch außergewöhnliche Mitarbeiter ? Wir suchen Menschen, die Menschen begeistern....

Anzeige ansehenProjektmanagement
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. Jul. 2014 07: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 Nur für SunOnTheRun 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von SunOnTheRun:
Hast du vielleicht eine Idee für mich wie ich am besten einen Body anwählen kann?

Hallo Sören,

eine Suche nach Selection in der .NET-Ref findet z.B. den SelectionManager, der funktioniert auch ohne Styler.

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