Vlozeni objektu do daneho umisteni v sestave
| Uživatel | Příspěvek | 
                      Pavel Krsek ![]() ![]() Poslat zprávu | Profil  | 
                         
                        Datum:
                        3.3. 2010
                         | Zobrazeno:  
                        11364x Konfigurace CATIA: Text dotazu: Language="VBSCRIPT" Toto makro vklada porad jen do podsestavy Product2.1. Pokud zrusim radek pro vytvoreni instance product2 - tak makro vklada obsah schranky jen do hlavni sestavy. Jak mam toto vyresit? Dekuji. S pozdravem Pavel K.  | 
                           
                           Ing Jan Cinert ![]() Poslat zprávu | Profil  | 
                            [#234]
                             | Publikováno: 
                            03.03. 2010 - 09:24 Objekt ze schránky se vloží tam, kde byla provedena selekce, tj. ve vašem případě  productDocument1 (zřejmě hlavní sestava). Řešením je tedy vybrat požadovanou sestavu a do ní vkládat. | 
                           
                           Pavel Krsek ![]() ![]() Poslat zprávu | Profil  | 
                            [#244]
                             | Publikováno: 
                            03.03. 2010 - 12:36 Uživatel odpovídá na příspěvek #234:
 Je úplně jedno kde byla provedena selekce. Pokaždé to vkladá part, který je ve schránce do stejné sestavy (tj. v případě popsaného makra výše do podsestavy Product2.1). Když daný řádek smažu a upravím řádek níže (selection1.Add product1), tak se objekt ze schranky bude pořád vkládat do hlavní sestavy a je úplně jedno kde jsem byl přepnutý (selektovany).  | 
                           
                           Ing Jan Cinert ![]() Poslat zprávu | Profil  | 
                            [#245]
                             | Publikováno: 
                            03.03. 2010 - 21:00 Je to opravdu tak, jak jsem říkal, ale o trochu složitější. Nejprve je třeba zkopírovat vybraný objekt do schránky, pak vybrat sestavu, kam chcete kopírovat a teprve potom lze pomocí Paste vkládat do aktivní sestavy - (Pozor - CATIA.ActiveDocument je top objekt v okně, nikoliv aktivní produkt) - tu je třeba také určit (ještě by se měl ošetřit případ vkládání do Partu nebo vkládání sestavy do sebe samotné). V příloze je vzorová sestava k makru, vyzkoušejte.
 Sub CATMain()  | 
                           
                           Ing Jan Cinert ![]() Poslat zprávu | Profil  | 
                            [#246]
                             | Publikováno: 
                            03.03. 2010 - 21:02 Ještě ta příloha, kterou jsem slíbil...  | 
                           
                           Pavel Krsek ![]() ![]() Poslat zprávu | Profil  | 
                            [#247]
                             | Publikováno: 
                            04.03. 2010 - 07:55 Uživatel odpovídá na příspěvek #246:
 SUPER. Dekuji moc. To presne jsem potreboval, jeste zkusim doladit to, jak jste sam naspal, aby se makro ukoncilo v pripade, ze je aktivni CATpart. S pozdravem Pavel K.  | 
                           
                           Peter Kovac ![]() ![]() Poslat zprávu | Profil  | 
                            [#2720]
                             | Publikováno: 
                            21.03. 2012 - 14:08 zaujimava a prakticka vec, chcem sa spytat este na jednu moznost:
 pri nastavovani prislusnych objektov je pouzite item(1), kde cislo znaci poradove cislo v strome. Konkretne: Set oPart1 = oL1SubProducts.Item(1)
Co v pripade, ak nepoznam cislo, ale nazov objektu. Teda, ze viem, ze v strome je napr. product s nazvom XX, ale neviem kolky je v poradi a chcem ho skopirovat. Teda aby makro naslo produkt s danym nazvom a vykonalo operaciu vyssie uvedenu.  | 
                           
                           Ing Jan Cinert ![]() Poslat zprávu | Profil  | 
                            [#2721]
                             | Publikováno: 
                            21.03. 2012 - 16:40 Projdete všechny instance a porovnáváte název s tím co znáte, pokud je shoda, nalezl jste váš Part. Pak je tu ještě metoda GetItem("nazev"), která dokáže nalézt objekt v kolekci s konkrétním názvem. Navíc je to rychlejší, protože se nemusí procházet celá kolekce.  | 
Uživatel nepřihlášen
Pro zobrazení obsahu stránky / provedení akce (vytvoření nového téma, napsání odpovědi do diskuse apod.) musíte být přihlášeni.










 
                                       

