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

RANGE parametru

Kompletní přehled příspěvků v tématu RANGE parametru řazený podle data jejich publikace na fóru.

UživatelPříspěvek
Pavel Tomanec

Poslat zprávu | Profil
Datum: 13.2. 2017 | Zobrazeno: 8633x
Konfigurace CATIA: V5-6R2014

Text dotazu:
Dobrý den, chci se zeptat jestli jde v catii udělat range parametru s použitím už zadefinovaného parametru. např mám parametr šířku 250mm(nabývá dalších x hodnot) a chci vytvořit parametr který by byl omezeny z hora touto šířkou, takže třeba (1mm,šířka)

Ing Jan Cinert

Poslat zprávu | Profil
[#6121] | Publikováno: 13.02. 2017 - 17:56
Dobrý den,

řídit limity u Range jiným parametrem asi nejde (zkoušel jsem, ale jediná volba je omezit hodnotu měřením). Zde bych použil jinou věc, a sice Reaction. Spouštěla by se při změně hlídaného parametru, porovnala by jeho hodnotu s hodnotou limitu (v dalším parametru).

CATPart s ukázkou přikládám, funkční a požadavek splňuje.



Přiložené soubory:
Reaction_upper_range.CATPart

Přiložené obrázky:

Pavel Tomanec

Poslat zprávu | Profil
[#6122] | Publikováno: 13.02. 2017 - 18:20
Supr to mi pomohlo. Díky
Pavel Tomanec

Poslat zprávu | Profil
[#6123] | Publikováno: 13.02. 2017 - 23:17
Ještě dotaz, když ten podpůrný parametr v tomto případě uper_limit změním na hodnotu menší než je ta původní šířka tak to chybu nezahlásí. Zahlásí to, až když znovu zvolím ten parametr šířka. Jde to nějak ošetřit ?
Břeťa Doležal

Poslat zprávu | Profil
[#6124] | Publikováno: 14.02. 2017 - 07:55
@Jan: Bez licence KWA/KWE asi Check přes API do CATPartu nedostanu, že? Neexistuje nějaký fígl?

Přiložené obrázky:

Ing Jan Cinert

Poslat zprávu | Profil
[#6125] | Publikováno: 15.02. 2017 - 17:46
@ Pavel
Na to stačí přidat do reakce parametr s limitem do prvního seznamu Sources - reakce se pak spustí i při jeho změně, tj. jakmile se změní limit, přepíše hodnotu sledovaného parametru práce tím limitem.

@ Břeťa
Přes API nelze, nebo vlastně lze, ale nejdřív to jednodušší.

Reakci (Rule, Check) stačí dát do katalogu, pak lze vkládat do aleluja, ale bez možnosti editovat vnitřek. Hodnoty parametrů samozřejmě měnit půjdou.

Druhá možnost je vytvořit PowerCopy, a pak vkládat buď ručně (neomezeně) nebo právě přes API, ale k tomu je nutná licence KT1 - nesmyslné omezení ze strany DS. Klasické konfigurace MD2, HD2 tuhle licenci neobsahují, běžně je jen u PLM Expresů, bohužel.

Přiložené obrázky:

Pavel Tomanec

Poslat zprávu | Profil
[#6130] | Publikováno: 17.02. 2017 - 17:59
Mám ještě jeden dotaz, mám vytvořený design table tam mam velikosti tří různých závitů pro dané parametry např. 100mm 100mm M8 M10 M5 další řádek třeba 120mm 120mm M10 M12 M8, chtěl bych vytvořit druhý design table který by přiřazoval těmto závitům průmer hlavy šroubu, zahloubení pro hlavu atd. Jak tyto dva design table spojit ?
Ing Jan Cinert

Poslat zprávu | Profil
[#6131] | Publikováno: 18.02. 2017 - 12:02
Já bych se snažil prioritně vše dát do jedné tabulky. Jít by to mělo. Jinak není problém použít dvě různé design table pro jeden Part, ale už je to zbytečně složité.

Vždy je lepší mít řídící logiku na jednom místě, tj. klidně udělejte složitou tabulku s více listy, kde bude pomocí vzorců celá logika, nebo do tabulky dejte jen úplný základ, a pak v Partu pomocí Rules dodělejte logiku.

Rules mi pro tohle někdy přijdou elegantnější řešení, ale zase je tu omezení editace bez licence KWA.
Pavel Tomanec

Poslat zprávu | Profil
[#6234] | Publikováno: 09.06. 2017 - 17:12
Mám ještě dotaz ohledně parametrů. Mám parametr kde mam zadefinované hodnoty Multiple values 36,46,56 atd., chtěl bych pomocí rules nebo reaction omezit na základě parametru na výběr jen na hodnoty např od 46mm a výše. Jde vložit jen = kde mi to nastaví na hodnotu, kterou už nemůžu změnit. Viz obrázek

Přiložené obrázky:

Ing Jan Cinert

Poslat zprávu | Profil
[#6240] | Publikováno: 10.06. 2017 - 22:57
Dobrý den,

seznam multiple values asi nelze. Jestli tohle chcete udělat, musíte napsat složitější Rule, kde budete kontrolovat, zda hodnoty odpovídají těm dříve vybraným, a když na, tak je vrátit na nejvyšší/nejnižší schůdné (se současným upozorněním uživatele, že je mimo).

Řešili jsme kdysi to samé, jinak to bohužel nešlo. Je to práce na dlouho, a když to od začátku nevymyslíte tak, aby to dávalo smysl, tak se z toho pak zblázníte :-)
Tomas_F

Poslat zprávu | Profil
[#6252] | Publikováno: 18.07. 2017 - 16:33
Dobrý den,
řeším něco podobného jako v prvním příspěvku, ale nejsem si jist, zdali si vystačím s MD2 licencí. Mám dva parametry A a B. Hodnota těchto parametrů udává hodnotu parametru C dle rovnice
C=A+B

Kde C bude udávat např. délku čáry (Length). Co je podstatné, že C chci omezit hodnotou parametru Cmax. Tzn v okamžiku, kdy bude součet A a B větší, jak Cmax, bude platit
C=Cmax

Vyjádřeno programově
if (A +B) >Cmax
C=Cmax
else
C=(A +B )

V Catii jsem bohužel nenarazil na nějakou možnost programování přes IF funkci s vyjímkou Law Editoru (fog), kde výše zmíněné není problém, ale.. ať se snažím, jak se snažím, co vytvořím v Law Editoru, to v něm taky zůstane. Prohlížím-li seznam všech parametrů, C tam prostě nevidím. Bylo by možno ho z pravidla (Law) nějak dostat ven a dále použít, například ho přiřadit nějakému parametru ve stromu ve skupině Parameter?

Děkuji
Ing Jan Cinert

Poslat zprávu | Profil
[#6253] | Publikováno: 19.07. 2017 - 07:35
Dobrý den,

na to co píšete potřebuje vytvořit Rule (pravidlo), jenže to je dostupné až v licenci KWA (Knowledge Advisor), s MD máte smůlu.

S Law je to složitější, protože vstupem i výstupem Law může být pouze typ Real a vstup je pouze jeden. Potřebujete ještě další pomocný parametr, dejme tomu soucet, který bude vstupem Law a až teprve výsledek půjde do parametru c.

Podívejte se na obrázek, tam je to vyřešené. Stačí dodělat převody z length na real nebo jak to potřebujete.

Law pak vypadá takto:
If (in < 20){ ' podminka - vyhodnocujeme vstup

out = in ' vystup je soucet
}
Else {
out = 20 ' vystup je omezen natvrdo
}

Přiložené obrázky:

Tomas_F

Poslat zprávu | Profil
[#6256] | Publikováno: 19.07. 2017 - 09:17
Dobrý den,
funguje to přesně podle představ. Děkuji mnohokrá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.