| | | 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
Beiträge: 26 Registriert: 07.07.2014 NX 10.0
|
erstellt am: 03. Dez. 2015 17:41 <-- editieren / zitieren --> Unities abgeben:
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
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 / zitieren --> Unities abgeben: Nur für Teepo
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
Beiträge: 26 Registriert: 07.07.2014 NX 10.0
|
erstellt am: 10. Dez. 2015 10:19 <-- editieren / zitieren --> Unities abgeben:
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
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 / zitieren --> Unities abgeben: Nur für Teepo
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 ansehen | Architektur |
|
Teepo Mitglied Student
Beiträge: 26 Registriert: 07.07.2014 NX 10.0
|
erstellt am: 27. Dez. 2015 20:06 <-- editieren / zitieren --> Unities abgeben:
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 >>)
|