| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX | | |  | Solid Edge 2025 First Look Online-Event 14.11.2025, eine Pressemitteilung
|
Autor
|
Thema: Occurence von Prototype finden (1088 mal gelesen)
|
Proofin Mitglied Dpl.Ing
 
 Beiträge: 208 Registriert: 24.11.2004
|
erstellt am: 21. Apr. 2006 11:39 <-- editieren / zitieren --> Unities abgeben:         
Moin alle zusammen, ich bräuchte mal wieder etwas Hilfe! Ich habe ein Prototype (ein Body oder ein Part) und suche einen einfachen Weg die dazu gehörigen Occurences zu finden. Ich erstelle den Body in einem Part und verbaue das Part in einer Baugruppe. Im Part verschiebe ich den Body auf einen Layer und blende den Layer aus. Aber in der Baugruppe ist der Body halt wieder zusehen. Also muß ich ihn in der Baugruppe nochmal auf den Layer verschieben und wieder ausblenden. Schön wäre eine Lösung mit VB, C nehm ich aber auch  Danke für Eure Hilfe Proofin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
     
 Beiträge: 3332 Registriert: 04.04.2001 CSWP 12/2015 SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 31. Mai. 2006 00:44 <-- editieren / zitieren --> Unities abgeben:          Nur für Proofin
moin musst du das wirklich? gibt es da nicht eine option? hmm - irgendwo heisst es "entire part" und mit layer "worklayer" oder "0" .. "255" landet alles auf einem layer mit layer "original" (bzw "-1") sollte alles so bleiben wie es ist. in file://///....UGDOC/html_files/ugopen_doc/uf_assem/global.html#UF_ASSEM_add_part_to_assembly heisst es (für c)
Code: extern int UF_ASSEM_add_part_to_assembly ( tag_t parent_part, const char * part, const char * refset_name, const char * instance_name, double origin[ 3 ], double csys_matrix[ 6 ], int layer, tag_t * instance, UF_PART_load_status_t * error_status );
zu "int layer": Zitat: -1 Means use the original layers. 0 Means use the work layer 1-255 Means use the specified layer.
zu tag_t * instance: Zitat: Tag of the new instance in the work part
das heisst, du würdest a) den layer beibehalten können b) tag_t wird zurückgeliefert von der funktion. ist das für vb so ähnlich realisiert? wie sieht das aus mit der Reihenfolge? du verbaust das part, änderst danach erst den layer? (geschriebene Reihenfolge). oder änderst du erst den layer, verbaust es dann in einer baugruppe? wenn ich mal scharf nachdenke, könnte das auch einen unterschied machen. könnte mir vorstellen, dass ug den layer zur zeit des verbauens im assembly beibehält. viel glück  christian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
August Mitglied Dipl.-Ing.
 Beiträge: 9 Registriert: 04.05.2002
|
erstellt am: 28. Jun. 2006 15:23 <-- editieren / zitieren --> Unities abgeben:          Nur für Proofin
Hallo, Occurences zu einer Instance findest du bspw. so: UF_MODL_create_list (&p_list_occ); // Durchlaufe alle untergeordneten Teile-Instanzen im aktuellen Bauteil... while ((inst_tag = UF_ASSEM_cycle_inst_of_part (work_part_tag, inst_tag)) != NULL_TAG) { // Erfrage den Namen der gefundenen Instanz // Nur zur Info - Falls kein Komponentenname vorhanden, kommt errorcode // -> also möglichst nicht UF_CALL verwenden //ifail = UF_OBJ_ask_name (inst_tag, inst_name); // Ermittle das Sohn-Bauteil der Instanz comp_tag = UF_ASSEM_ask_child_of_instance(inst_tag); num_occs= UF_ASSEM_ask_occs_of_part ( work_part_tag, comp_tag, &part_occs); for (i=0; i<num_occs; i++) { //linked_refset = UF_ASSEM_get_ref_set_inst ( part_occs[i], 1); UF_ASSEM_is_ref_set_member (part_occs[i], &member_flag ); //not in a refset if (!member_flag) UF_MODL_put_list_item (p_list_occ, part_occs[i]); } UF_free ( part_occs ); } //while Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |