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

přenos obsahu parametru z CATProduct do formuláře

UživatelPříspěvek
Vlasťa

Poslat zprávu | Profil
Datum: 17.11. 2014 | Zobrazeno: 10095x
Konfigurace CATIA:

Text dotazu:
Zdravím všechny,
chtěl bych se zeptat, jakým způsobem ( pomocí makra) dostat obsah parametru z vrcholové sestavy do definované proměnné. Daří se mi to jen na úrovni Partu, když to zkusím na úrovni sestavy, načítá mi to jen shodně pojmenovaný parametr z prvního dílce sestavy.
Díky za jakékoli nápady.

Ing Jan Cinert

Poslat zprávu | Profil
[#4820] | Publikováno: 18.11. 2014 - 16:08
Zdravím,

tohle je trochu potíž (jindy zase možná výhoda). Kolekce s paramerty sestavy obsahuje všechny parametry rekurzivně až k poslednímu Partu, který se v sestavě nachází. Řešení existuje - stačí do názvu parametru přidat PartNumber:

oParameter = oAsmParameters.GetItem("Part1\nazev_parametru")

a je vyřešeno.
Vlasťa

Poslat zprávu | Profil
[#4836] | Publikováno: 08.12. 2014 - 20:48
Dobrý den,
opožděně, ale přesto děkuji za odpověď, vyzkouším.
Nicméně nyní jsem přešel na Visual Studio a docela s tím bojuji.Už mě to stálo dost času a nervů a moc jsem nepokročil.
Mohl bych Vás požádat o kompletní kódy k následujícím problémům?
1. vytvoření jednoho parametru který se zobrazuje v Added Properties na úrovni CATPartu a druhého parametru který se zobrazí ve větvi Parameters (je jedno jakého typu)¨
2. vytvoření stejných parametrů na úrovni vrcholového CATProductu

Moc by mi to pomohlo, děkuji.

V.
Ing Jan Cinert

Poslat zprávu | Profil
[#4837] | Publikováno: 09.12. 2014 - 09:25
Tohle je jednoduché. U partu se parametr vytvoří takto:
oParameters = oPartDocument.Part.Parameters

oStrParam = oParameters.CreateString("nazev","hodnota")

U AddedProperty je to trochu jiné. Vlastnost UserRefProperties, což je kolekce AddedProperties, je dostupná jen u objektu Product. Tento objekt je ale dostupný i v partu a přistupuje se k němu úplně stejně.
oAddedProperties = oPartDocument.Product.UserRefProperties

oStrParam = oAddedProperties.CreateString("nazev 2","hodnota 2")

V sestavě je to při vytváření stejné, při čtení trochu jinak, protože objekt Parameters obsahuje všechny parametry vnořených podsestav a jejich partů. Nejprve vždy zkouším, zda jde o parametr:
oParameter = oProduct.Parameters.RootParameterSet.AllParameters.GetItem("nazev")

Pokud parametr neexistuje, skončí to chybou (to je ošetřeno přes Try-Catch) a pak zkouším Added property:
oParameter = oProduct.Parameters.Item(oProduct.PartNumber & "\" & nazev)

Přidáním PartNumber s lomítkem do názvu se odfiltrují parametry, který se jmenují shodně, ale jsou v podsestavách.


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.