| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: Mating Conditions setzen - UF_ASSEM_??? (820 mal gelesen)
|
Zoechi Mitglied Software Entwickler
Beiträge: 28 Registriert: 03.07.2008 NX 4.0.4.2 MP9, MS Visual Studio 2005, NX 4.0 Open C und MFC
|
erstellt am: 10. Feb. 2009 08:09 <-- editieren / zitieren --> Unities abgeben:
Hallo! ich quäle mich jetzt schon seit einigen tagen mit diesem thema. ich hoffe dass mir einer von euch weiterhelfen kann. vielleicht hat das einer von euch schon mal so oder so ähnlich gemacht? es geht darum: ich möchte mit einer Userfunktion-DLL einen part in meine assembly laden und ihn anschließend mit den mating conditions ausrichten. den part hole ich mir mir UF_ASSEM_add_part_to_assembly herein, das funktioniert auch ohne probleme. dann möchte ich ihn anhand von zwei linien ausrichten, diese linen haben namen und ich kann auch die tags der linen abfragen. zum maten erstelle ich mir diese variablen und befülle sie mit informationen:
Code:
UF_ASSEM_mating_condition_t mc_data; UF_ASSEM_mc_structure_state_t struct_status; UF_ASSEM_mc_status_t status; UF_ASSEM_constraint_t constr1; UF_ASSEM_constraint_t constr2;
danach rufe ich einige funktionen auf, die mir mc_data initialisieren, die mating conditions lösen, die struktur überprüfen:
Code:
UF_ASSEM_dof_t dof; double transform[4][4];UF_ASSEM_init_mc(&mc_data); UF_ASSEM_solve_mc(&mc_data, &status, &dof, transform); if(status != UF_ASSEM_mc_solved) { char msg[130]; sprintf(msg, "status: %d", status); uc1601(msg,1); } tag_t invalid_tag; UF_ASSEM_check_mc_structure(&mc_data, &struct_status, &invalid_tag); if(struct_status != UF_ASSEM_structure_ok) { char inv_msg[130]; sprintf(inv_msg, "struct_status: %d\ninvalid_tag: %d", struct_status, invalid_tag); uc1601(inv_msg, 1); } else { UF_ASSEM_apply_mc_data(&mc_data, &struct_status, &status); char msg[130]; sprintf(msg, "struct_status: %d\nstatus: %d", struct_status, status); uc1601(msg,1); }
am ende erhalte ich dann für struct_status den wert "UF_ASSEM_no_component", für status "UF_ASSEM_mc_not_solved" und mein invalid_tag ist "0". habe ich irgend etwas wichtiges vergessen? auf das posten der werte, die ich mc_data, constr1 und constr2 gegeben habe, habe ich wegen der übersichtlichkeit mal weggelassen. kann sie aber auch noch posten, falls ich bis jetzt in meinem code noch keinen fehler habe. weiß einer von euch eine antwort? Grüße Zöchi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Techniker Maschinenbau 80?100% (m/w/d) | Minenräumsysteme | We create safe environments ? Wir beseitigen explosive Bedrohungen und bringen Lebensräume zurück. Unsere innovativen und bewährten Technologien verbinden wir mit operativer Einsatzerfahrung. Damit stellen wir die effiziente und nachhaltige Räumung von Landminen und anderen Munitionsformen sicher. Als inhabergeführtes Unternehmen mit Hauptsitz in der Schweiz und Produktionsstandort in Deutschland sowie regionalen Niederlassungen zählen wir weltweit zu den führenden Anbietern.... | Anzeige ansehen | Maschinenbau |
|
Zoechi Mitglied Software Entwickler
Beiträge: 28 Registriert: 03.07.2008 NX 4.0.4.2 MP9, MS Visual Studio 2005, NX 4.0 Open C und MFC
|
erstellt am: 10. Feb. 2009 10:00 <-- editieren / zitieren --> Unities abgeben:
hallo, habe das problem soeben selbst gelöst. UF_ASSEM_init_mc rufe ich jetzt gleich nach den variabledeklarationen auf. auf die funktionen UF_ASSEM_solve_mc und UF_ASSEM_check_mc_structure habe ich ganz verzichtet... und siehe da, es funktioniert! falls mal jemand ein codebeispiel für Mating Conditions braucht, kann er sich gerne melden. grüße Zöchi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|