Vlozeni objektu do daneho umisteni v sestave
Uživatel | Příspěvek |
Pavel Krsek ![]() ![]() Poslat zprávu | Profil |
Datum:
3.3. 2010
| Zobrazeno:
11001x 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.