Inertia na Body nebo ploše
| Uživatel | Příspěvek | 
                      Ing Jan Cinert ![]() Poslat zprávu | Profil  | 
                         
                        Datum:
                        16.8. 2010
                         | Zobrazeno:  
                        11538x Konfigurace CATIA: Text dotazu:  | 
                           
                           Ing Jan Cinert ![]() Poslat zprávu | Profil  | 
                            [#1036]
                             | Publikováno: 
                            19.08. 2010 - 01:04 Tak po dlouhém hledání jsem našel tip, jak to obelstít. Geometrie pro Inercii se nakopíruje do prázdného Partu, na něm se spočte Inercie a part se pak smaže. Trochu kódu navíc, ale funguje to celkem spolehlivě.    | 
                           
                           Jan Svoboda ![]() ![]() Poslat zprávu | Profil  | 
                            [#1100]
                             | Publikováno: 
                            08.09. 2010 - 08:54 Ahoj, tobě nejde makrem použít funkce Measure, nebo jsem to špatně pochopil?   | 
                           
                           Ing Jan Cinert ![]() Poslat zprávu | Profil  | 
                            [#1101]
                             | Publikováno: 
                            08.09. 2010 - 10:34 Jde, ale v Measure nejsou Principal axis udávající orientaci Bounding boxu, je tam jenom těžiště. A Inertia se zase vytváří z celého Partu, takže pro jedno konkrétní Body nebo plochu se to musí kopírovat do prázdného modelu. Hledal jsem i na cizích webech, tenhle způsob tam někdo uváděl jako jednu z možností jak to obejít. 
 Psal jsem makro právě pro vytvoření Bounding boxu - třemi způsoby. První způsob měl definované všechny osy (jak jsem psal v článku), druhý pouze jednu (třeba směr formování) a druhé dva se dopočetly automaticky tak, aby byl BB co nejmenší a třetí byl nejmenší možný - a na to jsem právě potřeboval ty Principal axis z Objektu Inertia.  | 
                           
                           Jan Svoboda ![]() ![]() Poslat zprávu | Profil  | 
                            [#1102]
                             | Publikováno: 
                            08.09. 2010 - 11:36 Mrkni na tohle... Včera jsem na to narazil, třeba to bude nějak užitečný.
 Set selection1 = activedoc.Selection  | 
                           
                           Ing Jan Cinert ![]() Poslat zprávu | Profil  | 
                            [#1103]
                             | Publikováno: 
                            08.09. 2010 - 11:59 Jo, to je přesně to co bych potřeboval (a funguje to), v CAA manuálu ale píšou tohle:
 WARNING: this collection will be DEPRECATED in the next release. It is recommended to use the method GetTechnologicalObject("Inertia") on the product to analyze, to retrieve an Inertia object. Takže v dalším releasu by to už nemuselo fungovat. A právě ta metoda GetTechnologicalObject je jenom u Productu a nedá se jí podstrčit samostatné Body nebo plocha, i když se tam píše, že se dá použít pro každý objekt, kde to má smysl. Snad to někdy časem opraví nebo aspoň nechají stávající stav.  | 
                           
                           Jan Svoboda ![]() ![]() Poslat zprávu | Profil  | 
                            [#1104]
                             | Publikováno: 
                            08.09. 2010 - 17:47 Hm, tak uvidime, já jsem to ani nezkoušel, jen jsem něco hledal a náhodou jsem narazil na tohle...  | 
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.












