Vítejte !   Přihlášení | Registrace
Hlavní menu
CATIA fórum.cz
Novinky
Seriál CATIA
Obecně o CAD
Novinky ze světa DS
Makra pro CATIA V5
Diskuse
Vytvořit téma
Koncepty
Seznam oblíbených
Soukromé zprávy
Pravidla
Live CHAT
VIP žádost
Základy Catia
Ke stažení
Doporučujeme
Pracovní příležitosti
Reklama a kampaně
O fóru
Nápověda

načtení kolekce constraints způsobí modifikaci partu

Kompletní přehled příspěvků v tématu načtení kolekce constraints způsobí modifikaci partu řazený podle data jejich publikace na fóru.

UživatelPříspěvek
Fojman

Poslat zprávu | Profil
Datum: 15.10. 2019 | Zobrazeno: 5627x
Konfigurace CATIA: V5R21

Text dotazu:
Když rekurzi procházím strom celé sestavy a zjišťuji (jen načítám) constraints v jednotlivých úrovních tak na nejnižší úrovni partu dojde k tomu, že všechny party se tváří jako modifikované a dožadují se uložení změn. Přitom jen načítám jejich stav, nic nezapisuji ani nemodifikuji. Přijde mi, že ve chvíli dotazu na constrants v partu Catie v onom partu něco vytvoří nebo změní, ale proč?

Jak ošetřím aby se to nedělo? Napadá mne podmínkou u každého Itemu z kolekce "prods" kontrolovat zda se jedná o part/sestavu a načítat constrainty jen u sestav. Určitě ale existuje lepší řešení. Poradíte? Děkuji.


Sub CATMain()
Dim constraints1
Set constraints1 = CATIA.ActiveDocument.Product.Connections("CATIAConstraints")
For j=1 to constraints1.count
'msgbox constraints1.Item(j).Name
Next
Posun (CATIA.ActiveDocument.Product)
End Sub
'---------------------------------
Sub Posun (P)
Dim constraints1
Set prods = P.Products
i=0
Do While i < prods.count
i=i+1
Set constraints1 = prods.Item(i).Connections("CATIAConstraints")
For j=1 to constraints1.count
msgbox constraints1.Item(j).Name
Next
Posun (prods.Item(i))
Loop
End Sub

Ing Jan Cinert

Poslat zprávu | Profil
[#6725] | Publikováno: 15.10. 2019 - 20:20
Dobrý den,

já kdysi podobný problém řešil u parametrů. Při procházení sestavy a načítaní parametrů se vždy na úrovní instance vytvořil objekt typu ParameterSet a už tam zůstal, i když na té úrovní žádný parametr nebyl. Tenkrát jsem to neřešil, protože se party dále neukládaly.

Podle mě to bude stejný problém a zřejmě půjde o "standardní chování" Catie. Vůbec bych se nebránil vaší úvaze o vynechání instancí typu Part, to by mělo stačit. Nebo můžete zkusit načíst vazby až na úrovní ReferenceProduktu, tj. objekt odpovídající samotnému Produktu,nikoliv pouze jeho instanci.

Další možností je vypnout souborová hlášení a sestavu natvrdo bez uložení zavřít.


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.