Apie skaičiuoklę
Ši skaičiuoklė padeda suprojektuoti L formos (90° posūkio) laiptus su aikštele — du maršus,
sujungtus horizontalia aikštele — pagal jau esančią grindų angą. Įvedus angos matmenis,
bendrą aukštį, pageidaujamą pakylos aukštį ir aikštelės aukščio taikinį, ji apskaičiuoja
kiekvieno maršo pakopų aukštį ir gylį, patikrina galvos laisvę visame nueinamame kelyje
(abu maršai ir pati aikštelė, ne tik viršutinis maršas), aikštelės plotį, ir parengia brėžinį
su medienos pjaustymo sąrašu. Kaip ir tiesių laiptų skaičiuoklė, tai projektavimo
(kind: 'design'), o ne kiekio skaičiuoklė — rezultatas yra pats brėžinys.
Formulė
Anga yra pirminis duomuo, ne rezultatas — tas pats principas, kaip ir tiesių laiptų skaičiuoklėje:
pakylų skaičius iš viso = suapvalinta(bendras aukštis / pageidaujamas pakylos aukštis)
(apribota nuo 4 iki 40)
pakylos aukštis = bendras aukštis / pakylų skaičius (vienas dalijimas visam laiptui, tiksliai)
apatinio maršo pakylų skaičius = suapvalinta(aikštelės aukščio taikinys / pakylos aukštis)
viršutinio maršo pakylų skaičius = pakylų skaičius iš viso − apatinio maršo pakylų skaičius
Aikštelės aukščio taikinys (landingHeight) pakeičia buvusį tiesioginį apatinio maršo
pakylų skaičiaus lauką — tai pageidaujama reikšmė (pvz., aikštelė ties langu ar pusaukščio
durimis), prie kurios suapvalinama, o ne tikslus pažadas: reali aikštelės padėtis (žymima
raide V) yra apatinio maršo pakylų skaičius × pakylos aukštis, kuri gali šiek tiek
skirtis nuo taikinio.
Pakopos plotis (going) taikomas VIENODAI abiem maršams, o jo šaltinis priklauso nuo
openingExactFit:
jei openingExactFit = false (NUMATYTOJI nuo 2026-08-23):
pakopos plotis = vartotojo įvestas `going`
viršutinio maršo ilgis = pakopos plotis × viršutinio maršo pakopų skaičius
jei openingExactFit = true (pasirenkama):
viršutinio maršo ilgis = angos ilgis − noselės iškyša
pakopos plotis = viršutinio maršo ilgis / viršutinio maršo pakopų skaičius
apatinio maršo ilgis = pakopos plotis × apatinio maršo pakopų skaičius (ta pati reikšmė iš viršaus)
Apatinis maršas neturi savo angos, todėl jo ilgis tiesiog paveldi tą patį pakopos plotį, kad abiejų maršų pakopos būtų vienodo dydžio (kaip ir turėtų būti realiame laiptų maršė).
Kodėl numatytoji reikšmė pasikeitė: realiame gyvenime grindų anga paprastai išpjaunama
DIDESNĖ nei viršutinis maršas, kuris pristatomas prie vieno jos krašto, likusiai angos daliai
liekant atvirai už maršo pradžios (dažnai virš aikštelės) — anga, tiksliai sutampanti su
maršo ilgiu, yra retesnis, ne bendras atvejis. Todėl openingExactFit = false (naujoji
numatytoji reikšmė) laiko going tikru, nepriklausomu projektiniu sprendimu — angos ilgis
visai nedalyvauja nė vieno maršo dydyje. openingExactFit = true išlieka pasiekiama kaip
pasirinkimas tais atvejais, kai anga tikrai buvo iškirsta lygiai pagal viršutinio maršo dydį
— tada anga realiai nustato pakopos plotį ir viršutinio maršo ilgį, kaip aprašyta toliau.
Kodėl atimama noselės iškyša (noseOverhang, tik openingExactFit = true kelyje):
kiekvienos pakopos noselė kyšo į priekį už savo pakylos linijos lygiai per noseOverhang —
įskaitant PIRMĄJĄ viršutinio maršo pakopą, kurios noselė kyšo prieš patį maršo pradžios
tašką. Jei viršutinio maršo ilgis būtų lygus tiksliai angos ilgiui (be atimties), angos
artimasis kraštas visada sutaptų su maršo pradžios tašku, o pirmosios pakopos noselė visada
liktų šiek tiek už angos ribos — nesvarbu, koks angos ilgis ar padėtis pasirinkta. Tai buvo
modeliavimo klaida, ne fizika: reali grindų anga turi apimti ir pirmosios pakopos noselę, ne
tik maršo „struktūrinį" ilgį. Atimant noselės iškyšą iš viršutinio maršo ilgio, angos
artimasis kraštas atsiduria lygiai noselės iškyša prieš maršo pradžios tašką — kaip tik
tiek, kiek reikia, kad pirmosios pakopos noselė patektų į angos ribas.
nuolydžio kampas = atan2(pakylos aukštis, pakopos plotis)
kiekvieno maršo tetivos ilgis = √(to maršo aukštis² + to maršo ilgis²)
Galvos laisvės patikra dabar apima VISĄ nueinamą kelią — kiekvieną apatinio maršo pakopą, pačią aikštelę ir kiekvieną viršutinio maršo pakopą, ne vien viršutinį maršą. Žmogus kopia nuo apatinio aukšto grindų: aukštyn apatiniu maršu, per aikštelę, aukštyn viršutiniu maršu; lubos (viršutinės perdangos apačia) yra viena plokščia plokštuma visame pastate, o ne tik virš viršutinio maršo — anga ją pašalina tik ten, kur ji faktiškai iškirsta. Kiekvieno taško (pakopos noselės ar aikštelės) aukštis lyginamas su šia bendra, nuo apatinio aukšto grindų skaičiuojama lubų linija; taškas laikomas apsaugotu tik jei jo visas grindų plano plotas patenka į angos ribas — dalinis persidengimas neatleidžia. Tai pataisyta ankstesnės šios skaičiuoklės versijos klaida: anksčiau buvo tikrinamas tik viršutinis maršas, lokaliai nuo aikštelės, todėl aikštelė, esanti giliai po neišpjauta perdangos dalimi (dažnas atvejis anuomet, nes anga tada visada buvo iškertama lygiai pagal viršutinio maršo dydį), buvo laikoma tinkama, nepriklausomai nuo to, kokia iš tikrųjų buvo jos prošvaisa. Pakankamai didelė anga šiandien gali realiai apsaugoti ir pačią aikštelę (žr. toliau, Prielaidos ir ribos) — būtent todėl reikalinga ši, o ne tik viršutinio maršo, patikra.
requiredOpeningStart/requiredOpeningLength lieka atskira, tik viršutiniam maršui skirta
sąvoka — jie atsako „koks angos dydis būtų reikalingas vien šiam maršui", nepriklausomai nuo
viso kelio patikros aukščiau. Todėl jie gali rodyti, kad turima anga viršutiniam maršui
pakankama, net jei bendra, visą kelią apimanti patikra vis tiek randa problemą kitur —
ties aikštele ar apatiniu maršu, kur šios dvi reikšmės apskritai netaikomos.
requiredOpeningStart gali būti ir NEIGIAMAS — tai reali, o ne klaidinga reikšmė: ji reiškia,
kad anga turėtų prasidėti šiek tiek ANKSČIAU už paties maršo pradžios tašką (kad pirmosios
pakopos noselė gautų reikiamą galvos laisvę), o ne kad reikalavimas jau įvykdytas nuo pat
maršo pradžios.
Aikštelės pločio patikra (aikštelės matmuo statmenai judėjimo krypčiai turi būti ne mažesnis už maršo plotį) ir pakopų/nuolydžio patogumo patikros nepakito nuo ankstesnės versijos — žr. žemiau, Prielaidos ir ribos.
Pavyzdys
Numatytosios reikšmės: angos ilgis 4310 mm, angos plotis 1100 mm, maršas centruotas angoje,
bendras aukštis 3500 mm, maršo plotis 900 mm, perdangos storis 300 mm, reikalaujama galvos
laisvė 2000 mm, viršutinė pakopa lygi su grindimis, aikštelė kvadratinė pagal maršo plotį,
aikštelės aukščio taikinys 1225 mm, pageidaujamas pakylos aukštis 175 mm, pakopos plotis
280 mm (tikras įvestas dydis, openingExactFit = false), pakopos storis 32 mm, noselės
iškyša 25 mm, pakylos storis 19 mm, tetivos storis 38 mm, tetivos gylis 286 mm, standartinės
lentos ilgis 4800 mm.
pakylų skaičius iš viso = suapvalinta(3500 / 175) = 20 (dalijasi be liekanos)
pakylos aukštis = 3500 / 20 = 175 mm (tiksliai)
apatinio maršo pakylų skaičius = suapvalinta(1225 / 175) = 7 (tiksliai)
viršutinio maršo pakylų skaičius = 20 − 7 = 13
viršutinio maršo pakopų skaičius = 13 − 1 = 12 (viršutinė pakopa lygi su grindimis)
pakopos plotis = 280 mm (tikras įvestas dydis, angos ilgis nedalyvauja)
viršutinio maršo ilgis = 280 × 12 = 3360 mm
apatinio maršo pakopų skaičius = 7 − 1 = 6 (paskutinę pakopą atstoja aikštelė)
apatinio maršo ilgis = 6 × 280 = 1680 mm
pakopos gylis = 280 + 25 = 305 mm
nuolydžio kampas = atan2(175; 280) ≈ 0,5586 rad ≈ 32,01°
aikštelės aukštis (realus) = 7 × 175 = 1225 mm (tiksliai sutampa su taikiniu)
viršutinio maršo aukštis = 3500 − 1225 = 2275 mm
apatinio maršo tetivos ilgis = √(1225² + 1680²) ≈ 2079,19 mm
viršutinio maršo tetivos ilgis = √(2275² + 3360²) ≈ 4057,74 mm
Skaičiuoklė šiems įvesties duomenims grąžina lygiai tą patį: pakylos aukštį 175 mm, pakopos plotį 280 mm, pakopos gylį 305 mm, aikštelės aukštį 1225 mm, apatinio maršo tetivos ilgį ≈2079,19 mm, viršutinio maršo tetivos ilgį ≈4057,74 mm, 7 pakylas apatiniame marše ir 13 — viršutiniame.
Galvos laisvė: su šiais numatytaisiais duomenimis skaičiuoklė praeina patikrą be jokių įspėjimų ar klaidų — mažiausia prošvaisa (2150 mm, su 150 mm atsarga virš reikalaujamų 2000 mm) randama APATINIO MARŠO 6-oje pakopoje (arčiausiai aikštelės), NE pačioje aikštelėje ar viršutiniame marše: kadangi anga (4310 mm) sąmoningai iškirsta didesnė nei viršutinio maršo ilgis (3360 mm) plius aikštelės plotis (900 mm), ji pilnai dengia ir visą viršutinį maršą, IR pačią aikštelę — abu yra atleisti nuo patikros. Tai atskleidžia kitą, realų apribojimą: apatinio maršo paskutinioji pakopa (viena pakyla žemiau aikštelės) yra statmenoje ašyje nuo angos pločio krypties ir lieka po neišpjauta perdangos dalimi — jokia protingo pločio anga jos nepasiekia (žr. Prielaidos ir ribos). 2×pakyla+plotis = 2×175+280 = 630 mm — tiksliai DIN 18065 taikinys, patogumo intervalo (600–660 mm) viduryje; jokių įspėjimų šiems įvesties duomenims negrąžinama.
Atskira, tik viršutiniam maršui skirta „koks angos dydis būtų reikalingas" skaičiuoklė šiuo atveju grąžina pradžios tašką −25 mm (neigiamas — anga turėtų prasidėti 25 mm anksčiau už paties maršo pradžios tašką, kad pirmosios pakopos noselė gautų reikiamą galvos laisvę pagal LOKALIAS, tik šiam maršui skirtas lubas) ir ilgį ≈3385 mm — tai vertina tik viršutinio maršo pačio poreikį, izoliuotai nuo bendro kelio patikros aukščiau, ir gerokai mažiau nei realiai naudojama 4310 mm anga, nes ši anga sąmoningai iškirsta ir aikštelei dengti, ne vien viršutiniam maršui.
Medienos sąrašas: 18 pakopų (6 apatiniame marše + 12 viršutiniame) × 900 mm pločio × 305 mm gylio pakopų lentų — 4 lentos po 4800 mm (16 200 mm bendro ilgio / 4800 mm ≈ 3,375, apvalinama į viršų). 18 pakylų lentų (iš 20 pakylų iš viso — 2 pakylos, remiančios aikštelę/grindis, o ne pakopą, praleidžiamos, nes jų aukštis mažesnis už perdangos storį): taip pat 4 lentos. 4 tetivos (2 apatinio maršo po ≈2079,19 mm, 2 viršutinio maršo po ≈4057,74 mm, iš viso ≈12 273,85 mm): 3 lentos.
Dažni klausimai
Kodėl pakylų (riserų) skaičiaus nebėra tarp įvesties laukų?
Nes anksčiau tai reikalavo vartotojo jau žinoti atsakymą. Dabar įvedamas pageidaujamas
pakylos aukštis (targetRiserHeight) visam laiptui ir aikštelės aukščio taikinys
(landingHeight), o realus pakylų skaičius kiekviename marše apskaičiuojamas iš jų.
Kodėl pakopos plotis vienodas abiem maršams, nors tik viršutinis turi angą?
Nes going yra vienas, bendras dydis (pagal numatytąją reikšmę — tikras įvestas dydis;
pasirinkus openingExactFit = true — išvestas iš vienintelio maršo, susijusio su grindų
anga, viršutinio) — apatinio maršo ilgis tiesiog paveldi tą patį pakopos plotį, kad abu
maršai turėtų vienodo dydžio pakopas, kaip ir turėtų būti realiame laiptų maršė.
Ar galvos laisvės patikra tikrina tik viršutinį maršą? Ne, nebe. Patikra dabar apima visą nueinamą kelią — apatinį maršą, aikštelę ir viršutinį maršą — palyginant kiekvieno taško aukštį su viena bendra lubų linija, skaičiuojama nuo apatinio aukšto grindų. Anga atleidžia nuo patikros tik tuos taškus, kurių visas grindų plano plotas patenka į jos ribas.
Kas nustato aikštelės dydį? Pagal numatytą pasirinkimą aikštelė yra kvadratinė, lygi maršo pločiui — tai vienintelis dydis, kuriuo abu maršai išlieka vienodo pločio per visą posūkį, be nenaudojamos grindų dalies kampe. Galima pasirinkti ir didesnę aikštelę, nurodžius jos kraštinės ilgį rankiniu būdu.
Kodėl skaičiuoklė cituoja IRC (JAV) standartą Lietuvos rinkai skirtoje skaičiuoklėje? Nes tikslus aikštelės pločio reikalavimas (aikštelė ne siauresnė už maršą) atitinka IRC R311.7.6 formuluotę pažodžiui, o Lietuvos STR 2.02.01:2004 šio bendro santykio kaip atskiros taisyklės nenurodo — jis pateikia tik absoliučius minimumus konkrečioms laiptų kategorijoms, ne bendrą „aikštelė ≥ maršas" taisyklę.
Ar turnDirection (posūkio kryptis) keičia kokį nors skaičių?
Ne. Tai grynai brėžinio parametras — jis nulemia, į kurią pusę brėžinyje pavaizduotas
viršutinio maršo planas išsiplečia nuo aikštelės, bet neveikia jokio skaičiuojamo rezultato.
Tiek turnDirection, tiek stairPositionInOpening yra išreikšti nuo kopiančiojo žmogaus
pačios kairės/dešinės rankos, stovint maršo apačioje prieš pirmą žingsnį — ne nuo brėžinio
+X ašies (modelio +X yra kopiančiojo KAIRĖ ranka).
Prielaidos ir ribos
meta.standards cituoja DIN 18065, STR 2.02.01:2004 (abu 2×pakyla+plotis patikrai, su tuo
pačiu 630/650 mm neatitikimu, kaip ir tiesių laiptų skaičiuoklėje) ir IRC R311.7.6
(aikštelės pločio patikrai). 30–45° nuolydžio patogumo intervalas lieka necituota bendra
taisyklė.
Pageidaujamas pakylos aukštis (targetRiserHeight) apribotas 150–200 mm, ta pati riba kaip
tiesių laiptų skaičiuoklėje. Aikštelės aukščio taikinys (landingHeight) neturi savo
cituoto pagrindo — tai laisvai pasirenkamas projektinis sprendimas (pvz., aikštelė ties
langu), prie kurio tik suapvalinamas realus pakylų skaičius.
Reikalaujama galvos laisvė yra vartotojo įvestis be cituojamo minimumo — ji nustatoma nacionaliniais ar vietiniais reikalavimais, kurie tarpusavyje skiriasi.
Galvos laisvės patikra apima visą nueinamą kelią (abu maršus ir aikštelę), palyginant su
viena, visame pastate plokščia lubų linija — tai tikslesnis modelis nei anksčiau (žr.
Formulė), bet vis tiek prielaida: reali perdangos apačia gali nebūti visiškai plokščia
(sijos, komunikacijos). requiredOpeningStart/requiredOpeningLength reikšmės atsako tik į
„koks angos dydis pakaktų viršutiniam maršui" — jos NEATSPINDI viso kelio patikros
rezultato ir gali rodyti, kad turima anga pakankama, net kai bendra patikra grąžina klaidą
dėl aikštelės ar apatinio maršo.
Numatytosios reikšmės (angos ilgis, bendras aukštis, aikštelės aukščio taikinys) parinktos taip, kad numatytas laiptas patenkintų savo pačios galvos laisvės patikrą su realia atsarga (žr. Pavyzdys), o ne vien techniškai — ankstesnė šios skaičiuoklės versija numatytai atidarydavo su klaida. Tai nesusilpnina pačios patikros: bet kuri kombinacija, kurioje aikštelė yra pakankamai aukštai (palyginti su bendru aukščiu), vis tiek gali nepraeiti patikros — tai realus, ne dirbtinis, apribojimas.
Anksčiau (iki 2026-08-23) čia buvo teigiama, kad anga niekada neatleidžia pačios aikštelės
nuo patikros, nes anga dengia tik viršutinio maršo plotą. Tas teiginys buvo teisingas TIK
ankstesnei numatytajai reikšmei (openingExactFit = true, kai anga sąmoningai iškertama
lygiai pagal viršutinio maršo dydį, nepaliekant jokios atsargos). Su naująja numatytąja
reikšme (openingExactFit = false) pakankamai didelė anga GALI realiai apsaugoti ir pačią
aikštelę — patikrinta tiesiogiai, ne tik teoriškai: pranešimas persijungia iš
headroom-ok-landing į headroom-ok-lower-flight, t. y. aikštelė iš tiesų nebelieka
prasčiausiu tašku. Tačiau aikštelės dengimas atskleidžia KITĄ, anksčiau paslėptą apribojimą:
APATINIO maršo aukščiausia pakopa (viena pakyla žemiau aikštelės) lieka po neišpjauta
perdangos dalimi — jokia protingo dydžio anga jos nepasiekia, nes apatinis maršas yra
STATMENOJE ašyje nuo angos pločio krypties (anga tęsiasi tik viršutinio maršo bėgimo ir
pločio kryptimis; kad pasiektų ir apatinį maršą, angos plotis turėtų praryti visą apatinio
maršo bėgimą — nerealiai plati anga, ne šiek tiek didesnė už maršą). Naujoji riba:
aikštelės aukštis ≤ bendras aukštis − perdangos storis − reikalaujama galvos laisvė + pakylos aukštis — vienu pakylos aukščiu atlaidesnė nei anksčiau, bet ne šuolis iki tikro
vidurio: patikrinta įvairiems 2700–3300 mm bendriems aukščiams su 30–50 % aikštelės aukščiu —
virš maždaug 33–35 % visada nepraeina, dabar dėl APATINIO maršo, ne aikštelės. Tikra 50 %
vidurio pozicija liktų nepasiekiama net ir su šia pataisa esant realistiškam namo aukščiui.
Šios skaičiuoklės numatytosios reikšmės (bendras aukštis 3500 mm, aikštelės aukštis 1225 mm —
35 % viso aukščio, septynios pakylos) parenka aukščiausią švarų pakylų skaičiumi išreiškiamą
aikštelės padėtį, kurią leidžia dar tikroviškas namo aukštis — penkiais procentiniais
punktais aukščiau nei ankstesnė (30 %) versija, bet vis tiek ne tikrą vidurio tašką.
Vienas perdangos/aikštelės storio įvesties laukas naudojamas dviem tikslams: viršutinės perdangos storiui (lubų aukščiui po ja) ir pačios aikštelės konstrukcijos storiui — tai sąmoningas supaprastinimas, darant prielaidą, kad aikštelė sumontuota taip pat, kaip ir perdanga, po kuria ji yra.
Ši skaičiuoklė yra viena iš dviejų šioje platformoje, grąžinančių parts[] — konkrečias
fizines detales (pakopos, pakylos, abiejų maršų tetivos) su realiais pjovimo matmenimis.
Medienos lentų skaičius yra paprastas kiekio dalijimas iš standartinio lentos ilgio, ne
pjaustymo plano optimizavimas — ta pati logika kaip tiesių laiptų skaičiuoklėje.