Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  kontrollieren der UDF Orientierung vom Programm aus

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:  kontrollieren der UDF Orientierung vom Programm aus (1398 mal gelesen)
Teepo
Mitglied
Student


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

Beiträge: 26
Registriert: 07.07.2014

NX 10.0

erstellt am: 03. Dez. 2015 17: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


trud.jpg

 
Hallo,

ich versuche gerade eine User Defined Function (UDF) in Programmcode und entsprechender GUI umzusetzen.
Was mir unglaubliche Probleme bereitet sind die Orientierungen bei jeder Operation die die UDF durchführt.

Als Beispiel sei genannt die Extrude-Funktion:
Ich habe einen rechteckigen Volumenkörper und möchte einerseits die obere Fläche runtersetzen und andererseits mit Offset im Extrude den Körper seiner Breite nach extrudieren.
Wenn ich nur die UDF dazu benutze ist das Ganze kein Problem, da ich dort die Möglichkeit habe die Richtung umzukehren.

Wenn ich das Ganze als Programm schreibe und der User eine Kante als Referenz für den Extrude auswählt, kenne ich keine Möglichkeit zu überprüfen bzw abzugleichen ob die richtige Richtung eingegeben ist.

Das scheint so ziemlich bei allem was ich mit UDFs mache das Hauptproblem zu sein. Hat hier jemand Erfahrung mit NXOpen und Orientierung, bzw. Richtungen?

anbei ist ein Bild zu dem Beispiel hinzugefügt

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: 08. Dez. 2015 08: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 Teepo 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Teepo:
... kenne ich keine Möglichkeit zu überprüfen bzw abzugleichen ob die richtige Richtung eingegeben ist.

Wie gibst Du den Vektor an ? Irgendeinen Dialog ? Eine Linie kann z.B. eine Richtung vorgeben oder zwei Punkte oder ... oder ... oder ... Viele Möglichkeiten. Je nachdem gibt's verschiedene Darstellungen, im einfachsten Fall ein Double() mit X,Y und Z oder auch ein Vector3D.

Zitat:
Original erstellt von Teepo:
Hat hier jemand Erfahrung mit NXOpen und Orientierung, bzw. Richtungen?

Nö, was ist dieses NXOpen eigentlich ? 

Gruß, Michael

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

Teepo
Mitglied
Student


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

Beiträge: 26
Registriert: 07.07.2014

NX 10.0

erstellt am: 10. Dez. 2015 10: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

Zitat:
Original erstellt von mseufert:

Wie gibst Du den Vektor an ? Irgendeinen Dialog ? Eine Linie kann z.B. eine Richtung vorgeben oder zwei Punkte oder ... oder ... oder ... Viele Möglichkeiten. Je nachdem gibt's verschiedene Darstellungen, im einfachsten Fall ein Double() mit X,Y und Z oder auch ein Vector3D.


Ich gebe keine Richtung an. Das macht die UDF.
Ich erstelle einen Referenzkörper und erstelle dann aus diesem die UDF. Ich wähle innerhalb des UDF-Wizards die Features, die der User durch Eingabe an seinem Bauteil erstellen kann.
In dem konkreten Beispiel oben, wäre dies ein Extrude mit Offset.

Der UDF-Wizard erstellt dann die nötigen Referenzen.
Für den Extrude muss der User eine Kante/Linie auswählen und einen Vektor.

Das Problem:
Jede Kante hat zwei Richtungen abhängig davon welchem Rand man beim Anklicken näher ist.

Dh. selbst wenn man die gleichen Linien/Kanten anklickt wie bei der UDF-Erstellung, kann es trotzdem zu Fehlern kommen.
Zb. wenn man die Kante auf der anderen Seite anklickt und wegen der veränderten Orientierung der Extrude dann ausserhalb des Bauteil-Körpers liegt.

Ich möchte quasi irgendwie die Freiheitsgrade bei der Orientierung reduzieren. Ich glaube so langsam, dass es da keinen Befehl zu gibt, sondern dass man sich je nach Fall eine andere Strategie zurechtlegen muss. Zu Hinweisen für konkrete Beispiele wäre ich sehr dankbar :)


Zitat:
Original erstellt von mseufert:

Nö, was ist dieses NXOpen eigentlich ? 

Gruß, Michael


ups, unbewusst vergesse ich dass dieses tolle Unterforum sogar ausschließlich für Programmierung ist

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: 10. Dez. 2015 16: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 Nur für Teepo 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Teepo:

Ich gebe keine Richtung an. Das macht die UDF.


Du hast also (noch ?) kein Programm, mir dem das UDF (:= UserDefinedFeature) eingefügt wird ?
Oben hast Du Programmcode und entsprechende GUI erwähnt ???

Wenn man's interaktiv einsetzt, gibt's ja die Option, den Vektor umzukehren, ggfs. die Expressions für den Offset zu ändern. Das muss ein Programm im Prinzip 1:1 abbilden, incl. der Selektion einer (linearen  ) Kante.

Falls ich mit der o.g. Vermutung richtig liege, dann schau' Dir mal die .NET API Reference an und such' nach *UDF* . Das wesentliche für UDF's dürfte sich unter UF_MODL finden. Wenn das Einfügen per Programm dann grundsätzlich funktioniert, wird sich auch die Frage nach der Richtung klären.

Gruß, Michael

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



Architekt Hochbau (m/w/d)

Mit etwa 90.000 Teilnehmerinnen und Teilnehmern, einer Bilanzsumme von über 16 Mrd. Euro und 120 Mitarbeitenden zählt die Baden-Württembergische Versorgungsanstalt für Ärzte, Zahnärzte und Tierärzte (BWVA) zu den größten berufsständischen Versorgungswerken Deutschlands. In der Kapitalanlage verfügt die BWVA über einen Immobiliendirektbestand von rund 400.000 Quadratmetern vor allem im Südwesten Deutschlands, der über verschiedene Nutzungsarten diversifiziert ist....

Anzeige ansehenArchitektur
Teepo
Mitglied
Student


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

Beiträge: 26
Registriert: 07.07.2014

NX 10.0

erstellt am: 27. Dez. 2015 20:06    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

Zitat:
Original erstellt von mseufert:

Du hast also (noch ?) kein Programm, mir dem das UDF (:= [b]UserDefinedFeature) eingefügt wird ?
Oben hast Du Programmcode und entsprechende GUI erwähnt ???

Wenn man's interaktiv einsetzt, gibt's ja die Option, den Vektor umzukehren, ggfs. die Expressions für den Offset zu ändern. Das muss ein Programm im Prinzip 1:1 abbilden, incl. der Selektion einer (linearen   ) Kante.

Falls ich mit der o.g. Vermutung richtig liege, dann schau' Dir mal die .NET API Reference an und such' nach *UDF* . Das wesentliche für UDF's dürfte sich unter UF_MODL finden. Wenn das Einfügen per Programm dann grundsätzlich funktioniert, wird sich auch die Frage nach der Richtung klären.

Gruß, Michael[/B]


hallo Michael,

aus Zeitmangel schaffe ich es gerade nicht das Programm zu schreiben, aber ich habe bereits UDFs in Programmcodes eingebettet und dort ließ sich das Problem nicht einfach so lösen.

Der einzige Unterschied von Programm und UDF liegt darin, dass ich die User-Auswahl der Kante über einen Curve-Collector durchführen lasse im unterschied zur interaktiven UDF Auswahl, wo man die Orientierung ändern kann und zusätzlich noch das Referenzteil samt Kante eingeblendet bekommt.
Diese wird dann intern zu meiner Section-Class übergeben und das ist dann im Programm meine Referenz für das UDF, welches automatisch vom code erstellt wird.

Dh. es gibt keinen Unterschied zwischen manueller Auswahl der Kante per Programm oder UDF. Bei beiden können die gleichen Fehler bezüglich Orientierung auftreten:

-falls Orientierung falsch, dann Extrude ausserhalb des Körpers.

Die Orientierung wird umgekehrt, falls die Kante vom anderen Ende des Körpers angeklickt wird oder der User einfach die zweite Kante auf der Quaderoberfläche anklickt.
Ich muss dem User quasi bei der Auswahl verbildlichen aus welcher Ecke er die Kante anklicken muss, damit der Fehler nicht entsteht.

danke für den Hinweis mit UF_MODL. Sobald ich wieder etwas Zeit habe, schaue ich herein und melde mich mit einem Update.

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