středa 5. června 2019

Rozdělení řetězce kóty

Včera se mne kolega zeptal, zde lze rozdělit dlouhý řetězec kóty, nebo z něj jednu kótu z prostředku vymazat. Co vím, tak jediná možná úprava kóty byla pomocí odstranění vynášecích čar, kdy se dvě kóty spojí dohromady, nebo odstraní koncová kóta. Aplikaci na to taky žádnou nemám, tak jsem mu rychle odpověděl - "Nejde, okótuj si to znovu".
Pak mi to nedalo, tak jsem na to chvíli koukal, použil Google - a ono to samozřejmě jde.
Stačí použít oblíbenou klávesu Tab na tom řetězci, když ukážu myší na kótu, kterou chci z řetězce odstranit, tak se pomocí Tab doklikám na tu jedinou, a pak Delete, a je to.

Krátké video napoví:


V Revitu je to zřejmě od verze 2012, už jsem asi dlouho nic nekótoval :-) .

Za BIM-Fórum z.s.

Peter Jirát

pondělí 28. ledna 2019

Kružnice či oblouk třemi body v Revitu

Zdravím, dnes jedna geometrická i aritmetická úloha. Zkonstruovat kružnici či oblouk 3-mi body v Revitu není problém. Ale pokud to má být parametrický oblouk, tak určení polohy středu kružnice a jejího poloměru už tak jednoduché není. Sestrojit to pomocí os spojnic jednotlivých bodů je jednoduché, pokud to rýsujete. Zadat to Revitu v rodině, aby zobrazení a případné těleso na tuto kružnici napojené fungovalo správně, mne "trochu" potrápilo :-) .
Pro výpočet středu kružnice, když znáte polohu 3 bodů, je využito výpočtu determinantu soustavy rovnic a Cramerova pravidla - přiznávám, že už jsem to vše úspěšně zapomněl.
V Revitu v rodině vypadá zadání takto:


Pro zjednodušení jsem nedával vše do jednoho vzorce, dokola pak musíte řešit problém nekonzistentních jednotek. Hodnoty x a y jednotlivých bodů mohou být například výška a šířka dveří, třetí bod je na ose dveří ve výšce VO.

Textový zápis pro jednodušší kopírování:
m1 = (x1+x2)/2; n1 = (y1+y2)/2; m2 = (x1+x3)/2; n2 = (y1+y3)/2;

c1 = (x2-x1)*m1 + (y2-y1)*n1; c2 = (x3-x1)*m2 + (y3-y1)*n2;

mx = (x2-x1)*(y3-y1)+(y2-y1)*(x1-x3);

csx = (c1*(y3-y1)+c2*(y1-y2))/mx;
csy = (c1*(x1-x3)+c2*(x2-x1))/mx;
 
rs = sqrt((csx-x1)*(csx-x1)+(csy-y1)*(csy-y1));

Celkový zápis bez úpravy pro konzistentní jednotky:

csx = ((x2-x1)* (x1+x2)/2 + (y2-y1)* (y1+y2)/2*(y3-y1)+ (x3-x1)* (x1+x3)/2 + (y3-y1)* (y1+y3)/2*(y1-y2))/ (x2-x1)*(y3-y1)+(y2-y1)*(x1-x3);
csy = ((x2-x1)* (x1+x2)/2 + (y2-y1)* (y1+y2)/2*(x1-x3)+ (x3-x1)* (x1+x3)/2 + (y3-y1)* (y1+y3)/2*(x2-x1))/ (x2-x1)*(y3-y1)+(y2-y1)*(x1-x3);

Tak jsem snad někomu ušetřil pár horkých chvil.

Za BIM-Fórum z.s.

Peter Jirát