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

Měření a zaokrouhlování

Kompletní přehled příspěvků v tématu Měření a zaokrouhlování řazený podle data jejich publikace na fóru.

UživatelPříspěvek
Pavel Krsek

Poslat zprávu | Profil
Datum: 7.3. 2012 | Zobrazeno: 4270x
Konfigurace CATIA:

Text dotazu:
Ahoj,

mam prosim dalsi dotaz ohledne scriptu. Nachazim se v Partdesignu, kde jsou 2 paraelni plochy ve vzdalenosti treba 99,8 mm. Nyni pomoci makra potrebuji vytvorit plochu s offsetem takovym, ze zmerim offset 2 zminovanych ploch a danou hodnotu zaokrouhlim na cele cislo nahoru tj. na 100 mm.
Vedel by nekdo jak na to?
Bojuji v makru jak s merenim offsetu mezi planes, tak i se zaokrouhlovanim.
Ve Formula Editor vim, ze to jde provest pomoci syntaxe:

round(distance(plane1,plane2),1)

ale v catscriptu mi to nejde.

Ing Jan Cinert

Poslat zprávu | Profil
[#2673] | Publikováno: 07.03. 2012 - 08:58
To Vám ani jít nemůže, tohle funguje jen ve formuli. V makru se na to musí takhle.

1. Vytvořte si reference z obou planes / ploch, a dál:

2. Měření
Dim Distance As Double

Dim oSPAWB As Workbench
Dim oMeasurable As Measurable

Set oSPAWB = oActiveDocument.GetWorkbench("SPAWorkbench")
Set oMeasurable = oSPAWB.GetMeasurable(oRefPlane1)

Distance = oMeasurable.GetMinimumDistance(oRefPlane2)

3. Zaokrouhlení
Tady je to trochu problém, protože CATScript a obecně VB tuším umí jen Round(cislo), což je ale aritmetické zaokrouhlení. Ve formuli je Floor, Round a Ceil (dolu, aritmeticky, nahoru). Lze to řešit přes string - oddělíte část za desetinnou čárkou, a pokud to není 0, k části před čárkou přičtete jedničku.
Pavel Krsek

Poslat zprávu | Profil
[#2674] | Publikováno: 08.03. 2012 - 14:55
Já jsme věděl, že nejde stejnou syntaxi pro Formula Editor použít do scriptu, ale nevěděl jsem jak na to.
Po Vaší nápovědě už jsem to dokupy dal. Děkuji.
Ještě bych poprosil trochu pomoci s tím oddělením části za desetinnou čárkou přes string. To zatím si nedokážu představit. Díky moc.
Ing Jan Cinert

Poslat zprávu | Profil
[#2675] | Publikováno: 08.03. 2012 - 15:01
Nechcete zkusit Chat? Tedy jestli máte čas...
Pavel Krsek

Poslat zprávu | Profil
[#2678] | Publikováno: 08.03. 2012 - 18:41
Nakonec jsem zjistil, že stačí jednoduchý script pro zaokrouhlování:

MyValue = Int(Distance+1)


Stejně díky, ale za pomoc.


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.