@jjlmoya/utils-diy 1.28.0 → 1.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/src/category/i18n/de.ts +12 -12
- package/src/category/i18n/en.ts +110 -110
- package/src/category/i18n/es.ts +110 -110
- package/src/category/i18n/fr.ts +101 -101
- package/src/category/i18n/id.ts +12 -12
- package/src/category/i18n/it.ts +12 -12
- package/src/category/i18n/ja.ts +12 -12
- package/src/category/i18n/ko.ts +12 -12
- package/src/category/i18n/nl.ts +12 -12
- package/src/category/i18n/pl.ts +12 -12
- package/src/category/i18n/pt.ts +12 -12
- package/src/category/i18n/ru.ts +12 -12
- package/src/category/i18n/sv.ts +12 -12
- package/src/category/i18n/tr.ts +12 -12
- package/src/category/i18n/zh.ts +12 -12
- package/src/category/index.ts +36 -36
- package/src/category/seo.astro +1 -1
- package/src/components/PreviewNavSidebar.astro +1 -1
- package/src/components/PreviewToolbar.astro +1 -1
- package/src/data.ts +1 -1
- package/src/entries.ts +37 -37
- package/src/env.d.ts +1 -1
- package/src/index.ts +50 -50
- package/src/layouts/PreviewLayout.astro +1 -1
- package/src/pages/index.astro +1 -1
- package/src/tests/category_seo_quality.test.ts +74 -0
- package/src/tests/faq_count.test.ts +1 -1
- package/src/tests/mocks/astro_mock.js +1 -1
- package/src/tests/no_h1_in_components.test.ts +1 -1
- package/src/tests/seo_length.test.ts +1 -1
- package/src/tests/seo_parity.test.ts +2 -2
- package/src/tests/seo_translation_completeness.test.ts +18 -12
- package/src/tests/tool_validation.test.ts +15 -15
- package/src/tool/balusterCalculator/bibliography.ts +16 -16
- package/src/tool/balusterCalculator/i18n/de.ts +251 -251
- package/src/tool/balusterCalculator/i18n/en.ts +251 -251
- package/src/tool/balusterCalculator/i18n/es.ts +251 -251
- package/src/tool/balusterCalculator/i18n/fr.ts +251 -251
- package/src/tool/balusterCalculator/i18n/id.ts +251 -251
- package/src/tool/balusterCalculator/i18n/it.ts +251 -251
- package/src/tool/balusterCalculator/i18n/ja.ts +251 -251
- package/src/tool/balusterCalculator/i18n/ko.ts +251 -251
- package/src/tool/balusterCalculator/i18n/nl.ts +251 -251
- package/src/tool/balusterCalculator/i18n/pl.ts +251 -251
- package/src/tool/balusterCalculator/i18n/pt.ts +251 -251
- package/src/tool/balusterCalculator/i18n/ru.ts +251 -251
- package/src/tool/balusterCalculator/i18n/sv.ts +251 -251
- package/src/tool/balusterCalculator/i18n/tr.ts +251 -251
- package/src/tool/balusterCalculator/i18n/zh.ts +251 -251
- package/src/tool/balusterCalculator/seo.astro +15 -15
- package/src/tool/clayCalculator/bibliography.ts +12 -12
- package/src/tool/clayCalculator/i18n/de.ts +174 -174
- package/src/tool/clayCalculator/i18n/en.ts +174 -174
- package/src/tool/clayCalculator/i18n/es.ts +174 -174
- package/src/tool/clayCalculator/i18n/fr.ts +174 -174
- package/src/tool/clayCalculator/i18n/id.ts +174 -174
- package/src/tool/clayCalculator/i18n/it.ts +174 -174
- package/src/tool/clayCalculator/i18n/ja.ts +173 -173
- package/src/tool/clayCalculator/i18n/ko.ts +174 -174
- package/src/tool/clayCalculator/i18n/nl.ts +174 -174
- package/src/tool/clayCalculator/i18n/pl.ts +174 -174
- package/src/tool/clayCalculator/i18n/pt.ts +174 -174
- package/src/tool/clayCalculator/i18n/ru.ts +174 -174
- package/src/tool/clayCalculator/i18n/sv.ts +174 -174
- package/src/tool/clayCalculator/i18n/tr.ts +174 -174
- package/src/tool/clayCalculator/i18n/zh.ts +174 -174
- package/src/tool/clayCalculator/seo.astro +15 -15
- package/src/tool/concreteCalculator/bibliography.ts +7 -7
- package/src/tool/concreteCalculator/i18n/de.ts +188 -188
- package/src/tool/concreteCalculator/i18n/en.ts +188 -188
- package/src/tool/concreteCalculator/i18n/es.ts +188 -188
- package/src/tool/concreteCalculator/i18n/fr.ts +188 -188
- package/src/tool/concreteCalculator/i18n/id.ts +188 -188
- package/src/tool/concreteCalculator/i18n/it.ts +188 -188
- package/src/tool/concreteCalculator/i18n/ja.ts +188 -188
- package/src/tool/concreteCalculator/i18n/ko.ts +188 -188
- package/src/tool/concreteCalculator/i18n/nl.ts +188 -188
- package/src/tool/concreteCalculator/i18n/pl.ts +188 -188
- package/src/tool/concreteCalculator/i18n/pt.ts +188 -188
- package/src/tool/concreteCalculator/i18n/ru.ts +188 -188
- package/src/tool/concreteCalculator/i18n/sv.ts +188 -188
- package/src/tool/concreteCalculator/i18n/tr.ts +188 -188
- package/src/tool/concreteCalculator/i18n/zh.ts +188 -188
- package/src/tool/concreteCalculator/seo.astro +15 -15
- package/src/tool/cutOptimizer/bibliography.ts +12 -12
- package/src/tool/cutOptimizer/i18n/de.ts +169 -169
- package/src/tool/cutOptimizer/i18n/en.ts +169 -169
- package/src/tool/cutOptimizer/i18n/es.ts +169 -169
- package/src/tool/cutOptimizer/i18n/fr.ts +169 -169
- package/src/tool/cutOptimizer/i18n/id.ts +169 -169
- package/src/tool/cutOptimizer/i18n/it.ts +169 -169
- package/src/tool/cutOptimizer/i18n/ja.ts +169 -169
- package/src/tool/cutOptimizer/i18n/ko.ts +169 -169
- package/src/tool/cutOptimizer/i18n/nl.ts +169 -169
- package/src/tool/cutOptimizer/i18n/pl.ts +169 -169
- package/src/tool/cutOptimizer/i18n/pt.ts +169 -169
- package/src/tool/cutOptimizer/i18n/ru.ts +169 -169
- package/src/tool/cutOptimizer/i18n/sv.ts +169 -169
- package/src/tool/cutOptimizer/i18n/tr.ts +169 -169
- package/src/tool/cutOptimizer/i18n/zh.ts +169 -169
- package/src/tool/cutOptimizer/seo.astro +15 -15
- package/src/tool/drillCalculator/bibliography.ts +12 -12
- package/src/tool/drillCalculator/i18n/de.ts +134 -134
- package/src/tool/drillCalculator/i18n/en.ts +134 -134
- package/src/tool/drillCalculator/i18n/es.ts +134 -134
- package/src/tool/drillCalculator/i18n/fr.ts +134 -134
- package/src/tool/drillCalculator/i18n/id.ts +134 -134
- package/src/tool/drillCalculator/i18n/it.ts +134 -134
- package/src/tool/drillCalculator/i18n/ja.ts +134 -134
- package/src/tool/drillCalculator/i18n/ko.ts +134 -134
- package/src/tool/drillCalculator/i18n/nl.ts +134 -134
- package/src/tool/drillCalculator/i18n/pl.ts +134 -134
- package/src/tool/drillCalculator/i18n/pt.ts +134 -134
- package/src/tool/drillCalculator/i18n/ru.ts +134 -134
- package/src/tool/drillCalculator/i18n/sv.ts +134 -134
- package/src/tool/drillCalculator/i18n/tr.ts +134 -134
- package/src/tool/drillCalculator/i18n/zh.ts +134 -134
- package/src/tool/drillCalculator/seo.astro +15 -15
- package/src/tool/drillSharpener/bibliography.ts +16 -16
- package/src/tool/drillSharpener/i18n/de.ts +117 -117
- package/src/tool/drillSharpener/i18n/en.ts +117 -117
- package/src/tool/drillSharpener/i18n/es.ts +117 -117
- package/src/tool/drillSharpener/i18n/fr.ts +117 -117
- package/src/tool/drillSharpener/i18n/id.ts +117 -117
- package/src/tool/drillSharpener/i18n/it.ts +117 -117
- package/src/tool/drillSharpener/i18n/ja.ts +117 -117
- package/src/tool/drillSharpener/i18n/ko.ts +117 -117
- package/src/tool/drillSharpener/i18n/nl.ts +117 -117
- package/src/tool/drillSharpener/i18n/pl.ts +117 -117
- package/src/tool/drillSharpener/i18n/pt.ts +117 -117
- package/src/tool/drillSharpener/i18n/ru.ts +117 -117
- package/src/tool/drillSharpener/i18n/sv.ts +117 -117
- package/src/tool/drillSharpener/i18n/tr.ts +117 -117
- package/src/tool/drillSharpener/i18n/zh.ts +117 -117
- package/src/tool/drillSharpener/seo.astro +15 -15
- package/src/tool/epoxyCalculator/bibliography.ts +20 -20
- package/src/tool/epoxyCalculator/i18n/de.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/en.ts +178 -178
- package/src/tool/epoxyCalculator/i18n/es.ts +178 -178
- package/src/tool/epoxyCalculator/i18n/fr.ts +178 -178
- package/src/tool/epoxyCalculator/i18n/id.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/it.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/ja.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/ko.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/nl.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/pl.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/pt.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/ru.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/sv.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/tr.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/zh.ts +116 -116
- package/src/tool/epoxyCalculator/seo.astro +15 -15
- package/src/tool/furnitureFit/bibliography.ts +12 -12
- package/src/tool/furnitureFit/i18n/de.ts +111 -111
- package/src/tool/furnitureFit/i18n/en.ts +149 -149
- package/src/tool/furnitureFit/i18n/es.ts +149 -149
- package/src/tool/furnitureFit/i18n/fr.ts +149 -149
- package/src/tool/furnitureFit/i18n/id.ts +111 -111
- package/src/tool/furnitureFit/i18n/it.ts +111 -111
- package/src/tool/furnitureFit/i18n/ja.ts +111 -111
- package/src/tool/furnitureFit/i18n/ko.ts +111 -111
- package/src/tool/furnitureFit/i18n/nl.ts +111 -111
- package/src/tool/furnitureFit/i18n/pl.ts +111 -111
- package/src/tool/furnitureFit/i18n/pt.ts +111 -111
- package/src/tool/furnitureFit/i18n/ru.ts +111 -111
- package/src/tool/furnitureFit/i18n/sv.ts +111 -111
- package/src/tool/furnitureFit/i18n/tr.ts +111 -111
- package/src/tool/furnitureFit/i18n/zh.ts +111 -111
- package/src/tool/furnitureFit/seo.astro +15 -15
- package/src/tool/mortarCalculator/bibliography.ts +20 -20
- package/src/tool/mortarCalculator/i18n/de.ts +130 -130
- package/src/tool/mortarCalculator/i18n/en.ts +202 -202
- package/src/tool/mortarCalculator/i18n/es.ts +179 -179
- package/src/tool/mortarCalculator/i18n/fr.ts +203 -203
- package/src/tool/mortarCalculator/i18n/id.ts +130 -130
- package/src/tool/mortarCalculator/i18n/it.ts +130 -130
- package/src/tool/mortarCalculator/i18n/ja.ts +130 -130
- package/src/tool/mortarCalculator/i18n/ko.ts +130 -130
- package/src/tool/mortarCalculator/i18n/nl.ts +130 -130
- package/src/tool/mortarCalculator/i18n/pl.ts +130 -130
- package/src/tool/mortarCalculator/i18n/pt.ts +130 -130
- package/src/tool/mortarCalculator/i18n/ru.ts +130 -130
- package/src/tool/mortarCalculator/i18n/sv.ts +130 -130
- package/src/tool/mortarCalculator/i18n/tr.ts +130 -130
- package/src/tool/mortarCalculator/i18n/zh.ts +130 -130
- package/src/tool/mortarCalculator/seo.astro +15 -15
- package/src/tool/passepartoutCalculator/bibliography.ts +16 -16
- package/src/tool/passepartoutCalculator/i18n/de.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/en.ts +165 -165
- package/src/tool/passepartoutCalculator/i18n/es.ts +165 -165
- package/src/tool/passepartoutCalculator/i18n/fr.ts +165 -165
- package/src/tool/passepartoutCalculator/i18n/id.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/it.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/ja.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/ko.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/nl.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/pl.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/pt.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/ru.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/sv.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/tr.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/zh.ts +108 -108
- package/src/tool/passepartoutCalculator/seo.astro +15 -15
- package/src/tool/pythagoreanRightAngleCalculator/bibliography.ts +12 -12
- package/src/tool/pythagoreanRightAngleCalculator/i18n/de.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/en.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/es.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/fr.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/id.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/it.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/ja.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/ko.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/nl.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/pl.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/pt.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/ru.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/sv.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/tr.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/zh.ts +129 -129
- package/src/tool/stairCalculator/bibliography.ts +16 -16
- package/src/tool/stairCalculator/i18n/de.ts +143 -143
- package/src/tool/stairCalculator/i18n/en.ts +145 -145
- package/src/tool/stairCalculator/i18n/es.ts +145 -145
- package/src/tool/stairCalculator/i18n/fr.ts +145 -145
- package/src/tool/stairCalculator/i18n/id.ts +143 -143
- package/src/tool/stairCalculator/i18n/it.ts +143 -143
- package/src/tool/stairCalculator/i18n/ja.ts +143 -143
- package/src/tool/stairCalculator/i18n/ko.ts +143 -143
- package/src/tool/stairCalculator/i18n/nl.ts +143 -143
- package/src/tool/stairCalculator/i18n/pl.ts +143 -143
- package/src/tool/stairCalculator/i18n/pt.ts +143 -143
- package/src/tool/stairCalculator/i18n/ru.ts +143 -143
- package/src/tool/stairCalculator/i18n/sv.ts +143 -143
- package/src/tool/stairCalculator/i18n/tr.ts +143 -143
- package/src/tool/stairCalculator/i18n/zh.ts +143 -143
- package/src/tool/stairCalculator/seo.astro +15 -15
- package/src/tool/thermalExpansionCalculator/bibliography.ts +16 -16
- package/src/tool/thermalExpansionCalculator/i18n/de.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/en.ts +170 -170
- package/src/tool/thermalExpansionCalculator/i18n/es.ts +170 -170
- package/src/tool/thermalExpansionCalculator/i18n/fr.ts +170 -170
- package/src/tool/thermalExpansionCalculator/i18n/id.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/it.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/ja.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/ko.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/nl.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/pl.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/pt.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/ru.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/sv.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/tr.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/zh.ts +132 -132
- package/src/tool/thermalExpansionCalculator/seo.astro +15 -15
- package/src/tool/twoStrokeMixtureCalculator/bibliography.ts +12 -12
- package/src/tool/twoStrokeMixtureCalculator/i18n/de.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/en.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/es.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/fr.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/id.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/it.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/ja.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/ko.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/nl.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/pl.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/pt.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/ru.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/sv.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/tr.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/zh.ts +194 -194
- package/src/tool/voltageDropCalculator/bibliography.ts +16 -16
- package/src/tool/voltageDropCalculator/i18n/de.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/en.ts +151 -151
- package/src/tool/voltageDropCalculator/i18n/es.ts +151 -151
- package/src/tool/voltageDropCalculator/i18n/fr.ts +145 -145
- package/src/tool/voltageDropCalculator/i18n/id.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/it.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/ja.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/ko.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/nl.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/pl.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/pt.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/ru.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/sv.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/tr.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/zh.ts +113 -113
- package/src/tool/voltageDropCalculator/seo.astro +15 -15
- package/src/tool/workshopFractionConverter/bibliography.ts +12 -12
- package/src/tool/workshopFractionConverter/i18n/de.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/en.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/es.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/fr.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/id.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/it.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/ja.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/ko.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/nl.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/pl.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/pt.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/ru.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/sv.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/tr.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/zh.ts +147 -147
- package/src/tools.ts +20 -20
|
@@ -1,251 +1,251 @@
|
|
|
1
|
-
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
-
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
-
import type { BalusterCalculatorUI } from '../ui';
|
|
4
|
-
import { bibliography } from '../bibliography';
|
|
5
|
-
|
|
6
|
-
const slug = 'baluster-rekenmachine';
|
|
7
|
-
const title = 'Baluster Calculator: Exacte Afstand voor Leuningen';
|
|
8
|
-
const description =
|
|
9
|
-
'Bereken de exacte afstand tussen spijlen of balusters voor leuningen volgens de 10cm-norm. Automatische bouwplannen.';
|
|
10
|
-
|
|
11
|
-
const faqData = [
|
|
12
|
-
{
|
|
13
|
-
question: 'Wat is de maximale wettelijke afstand tussen balusters?',
|
|
14
|
-
answer:
|
|
15
|
-
'In de meeste internationale bouwvoorschriften mag de vrije ruimte tussen de onderdelen van een leuning niet groter zijn dan 10 cm (de 10cm-regel), zodat er geen sfeer met een diameter van 10 cm doorheen kan. Dit is essentieel voor de veiligheid van kinderen.',
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
question: 'Hoe wordt de afstand gemeten: tussen de harten of de tussenruimtes?',
|
|
19
|
-
answer:
|
|
20
|
-
"Onze calculator geeft beide weer. De 'vrije ruimte' is de daadwerkelijke opening tussen de spijlen (cruciaal voor de veiligheid), terwijl de 'hart-op-hart afstand' aangeeft waar je elke baluster moet boren of bevestigen.",
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
question: 'Wat gebeurt er als de verdeling niet precies uitkomt?',
|
|
24
|
-
answer:
|
|
25
|
-
'De calculator past automatisch het aantal spijlen aan, zodat de eerste en laatste opening identiek zijn. Dit garandeert visuele symmetrie en strikte naleving van de maximaal toegestane tussenruimte.',
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
question: 'Is het beter om balusters te lassen of te schroeven?',
|
|
29
|
-
answer:
|
|
30
|
-
'Dit hangt af van het materiaal. Bij staal biedt lassen de maximale structurele stijfheid. Bij hout of aluminium worden vaak mechanische ankers of doorgaande bouten gebruikt. Belangrijk is dat de leuning een horizontale kracht van minstens 0,8 kN/m kan weerstaan.',
|
|
31
|
-
},
|
|
32
|
-
];
|
|
33
|
-
|
|
34
|
-
const howToData = [
|
|
35
|
-
{
|
|
36
|
-
name: 'Totale lengte meten',
|
|
37
|
-
text: 'Meet de exacte afstand tussen de eerste en de laatste paal waar de leuning wordt geplaatst.',
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
name: 'Dikte van de baluster bepalen',
|
|
41
|
-
text: 'Meet de breedte van een individuele spijl (bijv. 2x2 cm voor een kokerprofiel of de diameter bij een ronde spijl).',
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
name: 'Maximale tussenruimte instellen',
|
|
45
|
-
text: 'Geef de gewenste maximale opening aan (10 cm wordt aanbevolen om aan de normen te voldoen).',
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
name: 'Installatiemarkeringen ontvangen',
|
|
49
|
-
text: 'Bekijk de lijst met exacte posities voor het boren om een symmetrische en veilige verdeling te garanderen.',
|
|
50
|
-
},
|
|
51
|
-
];
|
|
52
|
-
|
|
53
|
-
const faqSchema: WithContext<FAQPage> = {
|
|
54
|
-
'@context': 'https://schema.org',
|
|
55
|
-
'@type': 'FAQPage',
|
|
56
|
-
mainEntity: faqData.map((item) => ({
|
|
57
|
-
'@type': 'Question',
|
|
58
|
-
name: item.question,
|
|
59
|
-
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
60
|
-
})),
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
const howToSchema: WithContext<HowToThing> = {
|
|
64
|
-
'@context': 'https://schema.org',
|
|
65
|
-
'@type': 'HowTo',
|
|
66
|
-
name: title,
|
|
67
|
-
description,
|
|
68
|
-
step: howToData.map((step, i) => ({
|
|
69
|
-
'@type': 'HowToStep',
|
|
70
|
-
position: i + 1,
|
|
71
|
-
name: step.name,
|
|
72
|
-
text: step.text,
|
|
73
|
-
})),
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
const appSchema: WithContext<SoftwareApplication> = {
|
|
77
|
-
'@context': 'https://schema.org',
|
|
78
|
-
'@type': 'SoftwareApplication',
|
|
79
|
-
name: title,
|
|
80
|
-
description,
|
|
81
|
-
applicationCategory: 'UtilityApplication',
|
|
82
|
-
operatingSystem: 'All',
|
|
83
|
-
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
84
|
-
inLanguage: 'nl',
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
export const content: ToolLocaleContent<BalusterCalculatorUI> = {
|
|
88
|
-
slug,
|
|
89
|
-
title,
|
|
90
|
-
description,
|
|
91
|
-
faqTitle: 'Veelgestelde Vragen',
|
|
92
|
-
faq: faqData,
|
|
93
|
-
bibliography,
|
|
94
|
-
howTo: howToData,
|
|
95
|
-
schemas: [faqSchema, howToSchema, appSchema],
|
|
96
|
-
seo: [
|
|
97
|
-
{
|
|
98
|
-
type: 'title',
|
|
99
|
-
text: 'De Ultieme Gids: Hoe Bereken je de Afstand tussen Balusters?',
|
|
100
|
-
level: 2,
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
type: 'paragraph',
|
|
104
|
-
html: 'Het ontwerpen van een veilige en esthetisch perfecte leuning is een kunst die wiskundige precisie combineert met bouwvoorschriften. Of het nu gaat om een terras, een balkon of een binnentrap, de juiste berekening van de balusters (of spijlen) is de meest kritische stap van het project. Een rekenfout bederft niet alleen de visuele symmetrie, maar kan je constructie ook onveilig en illegaal maken.',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
type: 'card',
|
|
108
|
-
icon: 'mdi:alert-circle-outline',
|
|
109
|
-
title: 'Waarom is deze berekening zo belangrijk?',
|
|
110
|
-
html: '<p>Het gaat niet alleen om het "vullen van het gat". Het gaat om het voldoen aan de <strong>4-inch sfeer-regel (10 cm)</strong>, een internationale veiligheidsnorm die is ontworpen om ongelukken met kinderen te voorkomen.</p>',
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
type: 'title',
|
|
114
|
-
text: '1. Veiligheidsvoorschriften: De 10cm-regel',
|
|
115
|
-
level: 3,
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
type: 'paragraph',
|
|
119
|
-
html: 'Voordat je het eerste stuk hout of metaal zaagt, moet je begrijpen waarom deze wiskunde nodig is. Het Bouwbesluit in Nederland en soortgelijke codes internationaal (zoals de IRC) stellen een duidelijke norm: <em>"De vrije ruimte tussen verticale elementen mag niet zodanig zijn dat een sfeer met een diameter van 10 cm erdoorheen kan."</em>',
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
type: 'paragraph',
|
|
123
|
-
html: 'Deze maat is niet willekeurig. Het is de gemiddelde diameter van het hoofd van een klein kind (meestal onder de 1 jaar). Als een kind met zijn lichaam erdoorheen kan maar het hoofd blijft steken, is het risico op verstikking extreem hoog. Als het hoofd er wel doorheen kan, kan het kind vallen. Daarom is het doel van onze <strong>Baluster Calculator</strong> niet alleen esthetiek, maar het redden van levens.',
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
type: 'title',
|
|
127
|
-
text: '2. Het Wiskundige Probleem: De Fencepost Error',
|
|
128
|
-
level: 3,
|
|
129
|
-
},
|
|
130
|
-
{
|
|
131
|
-
type: 'paragraph',
|
|
132
|
-
html: 'In de informatica en de bouw bestaat een klassiek probleem genaamd de <em>"Fencepost Error"</em> (de paal-en-hek-fout). Als je een hek van 10 meter wilt bouwen met palen om de meter, hoeveel palen heb je dan nodig? Het intuïtieve antwoord is 10, maar het juiste antwoord is 11.',
|
|
133
|
-
},
|
|
134
|
-
{
|
|
135
|
-
type: 'paragraph',
|
|
136
|
-
html: 'Bij balusters werkt het vergelijkbaar, maar ingewikkelder, omdat de breedte van de baluster zelf ook ruimte inneemt. De formule die onze tool gebruikt, lost dit stelsel van vergelijkingen voor je op:',
|
|
137
|
-
},
|
|
138
|
-
{
|
|
139
|
-
type: 'grid',
|
|
140
|
-
columns: [
|
|
141
|
-
{
|
|
142
|
-
type: 'card',
|
|
143
|
-
icon: 'mdi:calculator',
|
|
144
|
-
title: 'Stap A: Tussenruimtes Berekenen',
|
|
145
|
-
html: '<p class="bc-formula">n = (L - g_max) / (w + g_max)</p><p>Eerst bepalen we hoeveel balusters er theoretisch passen als we de maximaal toegestane ruimte gebruiken. We ronden dit getal naar boven af om er zeker van te zijn dat de resulterende tussenruimtes <em>kleiner</em> zijn dan het maximum.</p>',
|
|
146
|
-
},
|
|
147
|
-
{
|
|
148
|
-
type: 'card',
|
|
149
|
-
icon: 'mdi:function-variant',
|
|
150
|
-
title: 'Stap B: Exacte Afstand Herberekenen',
|
|
151
|
-
html: '<p class="bc-formula">g = (L - n × w) / (n + 1)</p><p>Zodra we het exacte aantal balusters (n) weten, berekenen we hoeveel ruimte er "overblijft" als we de breedte van alle materialen aftrekken, en verdelen we dit gelijkmatig over de tussenruimtes (n+1).</p>',
|
|
152
|
-
},
|
|
153
|
-
],
|
|
154
|
-
},
|
|
155
|
-
{
|
|
156
|
-
type: 'title',
|
|
157
|
-
text: '3. Stap-voor-stap Gids voor de Perfecte Installatie',
|
|
158
|
-
level: 3,
|
|
159
|
-
},
|
|
160
|
-
{
|
|
161
|
-
type: 'paragraph',
|
|
162
|
-
html: 'De cijfers hebben is slechts het halve werk. Hier leggen we uit hoe je die getallen van het papier (of scherm) vertaalt naar de realiteit van je bouwproject.',
|
|
163
|
-
},
|
|
164
|
-
{
|
|
165
|
-
type: 'title',
|
|
166
|
-
text: 'Stap 1: Precisie Meting',
|
|
167
|
-
level: 3,
|
|
168
|
-
},
|
|
169
|
-
{
|
|
170
|
-
type: 'paragraph',
|
|
171
|
-
html: 'Meet de <strong>interne</strong> afstand tussen paal en paal. Meet niet vanaf het hart van de paal. Je moet de exacte dagmaat weten die je gaat opvullen (L). Als je leuning meerdere secties heeft, meet dan elke sectie afzonderlijk; constructies zijn zelden perfect haaks en een fout van 0,5 cm kan de symmetrie verpesten.',
|
|
172
|
-
},
|
|
173
|
-
{
|
|
174
|
-
type: 'title',
|
|
175
|
-
text: 'Stap 2: Het Midden Vinden',
|
|
176
|
-
level: 3,
|
|
177
|
-
},
|
|
178
|
-
{
|
|
179
|
-
type: 'paragraph',
|
|
180
|
-
html: 'De meest gemaakte beginnersfout is om balusters vanaf de ene kant naar de andere kant te plaatsen. Dit resulteert bijna altijd in een laatste tussenruimte met een vreemde afmeting, wat de visuele harmonie verstoort.<ul><li>Markeer het <strong>exacte midden</strong> van de leuning (L / 2).</li><li>Bepaal of je in het midden een <em>baluster</em> of een <em>tussenruimte</em> wilt hebben.</li><li>Als je een baluster in het midden wilt: markeer de helft van de balusterbreedte aan weerszijden van je middenmarkering.</li><li>Als je een tussenruimte in het midden wilt: markeer de helft van de tussenruimte-afstand (g / 2) aan weerszijden.</li></ul>',
|
|
181
|
-
},
|
|
182
|
-
{
|
|
183
|
-
type: 'title',
|
|
184
|
-
text: 'Stap 3: Een Afstandhouder (Spacer) Maken',
|
|
185
|
-
level: 3,
|
|
186
|
-
},
|
|
187
|
-
{
|
|
188
|
-
type: 'paragraph',
|
|
189
|
-
html: 'Gebruik niet het meetlint voor elke baluster. De cumulatieve menselijke fout zal ervoor zorgen dat de laatste baluster enkele centimeters afwijkt. De professionele aanpak is om een blok hout (of twee) te zagen met de exacte maat van de opening (g) die onze calculator heeft berekend.',
|
|
190
|
-
},
|
|
191
|
-
{
|
|
192
|
-
type: 'paragraph',
|
|
193
|
-
html: 'Gebruik dit blok als een mal. Plaats een baluster, leg het blok ertegenaan, plaats de volgende baluster strak tegen het blok en zet deze vast. Dit garandeert een consistentie op de millimeter nauwkeurig.',
|
|
194
|
-
},
|
|
195
|
-
{
|
|
196
|
-
type: 'title',
|
|
197
|
-
text: '4. Benodigde Materialen en Gereedschap',
|
|
198
|
-
level: 3,
|
|
199
|
-
},
|
|
200
|
-
{
|
|
201
|
-
type: 'card',
|
|
202
|
-
icon: 'mdi:tools',
|
|
203
|
-
title: 'Uitrusting voor een professionele afwerking',
|
|
204
|
-
html: '<ul><li>Hoogwaardig meetlint</li><li>Timmermanspotlood</li><li>Waterpas (voor de verticaliteit)</li><li>Afkortzaag (voor strakke sneden)</li><li>Boormachine en houtschroeven</li><li>Afstandhouders (op maat gemaakt)</li></ul>',
|
|
205
|
-
},
|
|
206
|
-
{
|
|
207
|
-
type: 'title',
|
|
208
|
-
text: '5. Aanvullende Technische Vragen',
|
|
209
|
-
level: 3,
|
|
210
|
-
},
|
|
211
|
-
{
|
|
212
|
-
type: 'card',
|
|
213
|
-
icon: 'mdi:help-circle-outline',
|
|
214
|
-
title: 'Wat als de laatste opening niet uitkomt?',
|
|
215
|
-
html: '<p>Als je onze calculator hebt gebruikt, zou dit niet mogen gebeuren. Echter, in de echte wereld werkt hout en staan palen niet altijd kaarsrecht. Als je aan het einde 1-2 mm overhoudt of tekortkomt, is dat onzichtbaar. Als je 1 cm tekortkomt, controleer dan je afstandhouders; waarschijnlijk heb je bij elke stap een kleine fout geaccumuleerd.</p>',
|
|
216
|
-
},
|
|
217
|
-
{
|
|
218
|
-
type: 'card',
|
|
219
|
-
icon: 'mdi:shield-check-outline',
|
|
220
|
-
title: 'Mag ik balusters verder uit elkaar plaatsen als ik geen kinderen heb?',
|
|
221
|
-
html: '<p>Wettelijk gezien niet. De bouwvoorschriften gelden voor de woning, niet voor de huidige bewoners. Als je het huis ooit verkoopt, zal een leuning die niet aan de norm voldoet een probleem vormen bij de inspectie. Bovendien kunnen bezoekers (neefjes, kleinkinderen) gevaar lopen.</p>',
|
|
222
|
-
},
|
|
223
|
-
{
|
|
224
|
-
type: 'card',
|
|
225
|
-
icon: 'mdi:wrench-outline',
|
|
226
|
-
title: 'Hout, Metaal of Glas?',
|
|
227
|
-
html: '<p>Deze calculator werkt voor <strong>elk herhalend verticaal element</strong>. Als je horizontale spankabels gebruikt, zijn de regels anders (meestal mogen deze niet opklimbaar zijn, het "trapeffect"). Voor glas wordt het beschouwd als een gesloten paneel en geldt er geen tussenruimte-eis, maar een impact-eis.</p>',
|
|
228
|
-
},
|
|
229
|
-
{
|
|
230
|
-
type: 'card',
|
|
231
|
-
icon: 'mdi:format-quote-close',
|
|
232
|
-
title: 'Mies van der Rohe',
|
|
233
|
-
html: '<p><em>"Architectuur is de wil van de tijd vertaald in ruimte."</em></p><p>We hopen dat deze tool je helpt om veiligere en mooiere ruimtes te creëren. Vergeet niet om altijd de lokale bouwverordening van je gemeente te raadplegen, aangezien er specifieke variaties kunnen zijn in minimale hoogte (meestal 90-110 cm) of belastingseisen.</p>',
|
|
234
|
-
},
|
|
235
|
-
],
|
|
236
|
-
ui: {
|
|
237
|
-
sectionTitle: 'Afmetingen',
|
|
238
|
-
sectionDesc: 'Voer de maten van je leuning in',
|
|
239
|
-
labelRailLength: 'Totale Lengte (L)',
|
|
240
|
-
labelBalusterWidth: 'Balusterbreedte (w)',
|
|
241
|
-
labelMaxGap: 'Maximale Opening (g)',
|
|
242
|
-
blueprintTitle: 'Bouwplan',
|
|
243
|
-
blueprintRef: 'REF: BAL-001 // SCHAAL: AUTO',
|
|
244
|
-
labelRequired: 'Benodigde Balusters',
|
|
245
|
-
labelExactGap: 'Exacte Opening',
|
|
246
|
-
labelOnCenter: 'Hart-op-Hart',
|
|
247
|
-
labelTotalSpaces: 'Totaal Aantal Gaten',
|
|
248
|
-
labelCoveredLength: 'Bedekte Lengte',
|
|
249
|
-
labelDisclaimer: '* De getoonde afmetingen zijn bij benadering voor visualisatie.',
|
|
250
|
-
},
|
|
251
|
-
};
|
|
1
|
+
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { BalusterCalculatorUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
5
|
+
|
|
6
|
+
const slug = 'baluster-rekenmachine';
|
|
7
|
+
const title = 'Baluster Calculator: Exacte Afstand voor Leuningen';
|
|
8
|
+
const description =
|
|
9
|
+
'Bereken de exacte afstand tussen spijlen of balusters voor leuningen volgens de 10cm-norm. Automatische bouwplannen.';
|
|
10
|
+
|
|
11
|
+
const faqData = [
|
|
12
|
+
{
|
|
13
|
+
question: 'Wat is de maximale wettelijke afstand tussen balusters?',
|
|
14
|
+
answer:
|
|
15
|
+
'In de meeste internationale bouwvoorschriften mag de vrije ruimte tussen de onderdelen van een leuning niet groter zijn dan 10 cm (de 10cm-regel), zodat er geen sfeer met een diameter van 10 cm doorheen kan. Dit is essentieel voor de veiligheid van kinderen.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
question: 'Hoe wordt de afstand gemeten: tussen de harten of de tussenruimtes?',
|
|
19
|
+
answer:
|
|
20
|
+
"Onze calculator geeft beide weer. De 'vrije ruimte' is de daadwerkelijke opening tussen de spijlen (cruciaal voor de veiligheid), terwijl de 'hart-op-hart afstand' aangeeft waar je elke baluster moet boren of bevestigen.",
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
question: 'Wat gebeurt er als de verdeling niet precies uitkomt?',
|
|
24
|
+
answer:
|
|
25
|
+
'De calculator past automatisch het aantal spijlen aan, zodat de eerste en laatste opening identiek zijn. Dit garandeert visuele symmetrie en strikte naleving van de maximaal toegestane tussenruimte.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Is het beter om balusters te lassen of te schroeven?',
|
|
29
|
+
answer:
|
|
30
|
+
'Dit hangt af van het materiaal. Bij staal biedt lassen de maximale structurele stijfheid. Bij hout of aluminium worden vaak mechanische ankers of doorgaande bouten gebruikt. Belangrijk is dat de leuning een horizontale kracht van minstens 0,8 kN/m kan weerstaan.',
|
|
31
|
+
},
|
|
32
|
+
];
|
|
33
|
+
|
|
34
|
+
const howToData = [
|
|
35
|
+
{
|
|
36
|
+
name: 'Totale lengte meten',
|
|
37
|
+
text: 'Meet de exacte afstand tussen de eerste en de laatste paal waar de leuning wordt geplaatst.',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: 'Dikte van de baluster bepalen',
|
|
41
|
+
text: 'Meet de breedte van een individuele spijl (bijv. 2x2 cm voor een kokerprofiel of de diameter bij een ronde spijl).',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
name: 'Maximale tussenruimte instellen',
|
|
45
|
+
text: 'Geef de gewenste maximale opening aan (10 cm wordt aanbevolen om aan de normen te voldoen).',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: 'Installatiemarkeringen ontvangen',
|
|
49
|
+
text: 'Bekijk de lijst met exacte posities voor het boren om een symmetrische en veilige verdeling te garanderen.',
|
|
50
|
+
},
|
|
51
|
+
];
|
|
52
|
+
|
|
53
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
54
|
+
'@context': 'https://schema.org',
|
|
55
|
+
'@type': 'FAQPage',
|
|
56
|
+
mainEntity: faqData.map((item) => ({
|
|
57
|
+
'@type': 'Question',
|
|
58
|
+
name: item.question,
|
|
59
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
60
|
+
})),
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
const howToSchema: WithContext<HowToThing> = {
|
|
64
|
+
'@context': 'https://schema.org',
|
|
65
|
+
'@type': 'HowTo',
|
|
66
|
+
name: title,
|
|
67
|
+
description,
|
|
68
|
+
step: howToData.map((step, i) => ({
|
|
69
|
+
'@type': 'HowToStep',
|
|
70
|
+
position: i + 1,
|
|
71
|
+
name: step.name,
|
|
72
|
+
text: step.text,
|
|
73
|
+
})),
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
77
|
+
'@context': 'https://schema.org',
|
|
78
|
+
'@type': 'SoftwareApplication',
|
|
79
|
+
name: title,
|
|
80
|
+
description,
|
|
81
|
+
applicationCategory: 'UtilityApplication',
|
|
82
|
+
operatingSystem: 'All',
|
|
83
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
84
|
+
inLanguage: 'nl',
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
export const content: ToolLocaleContent<BalusterCalculatorUI> = {
|
|
88
|
+
slug,
|
|
89
|
+
title,
|
|
90
|
+
description,
|
|
91
|
+
faqTitle: 'Veelgestelde Vragen',
|
|
92
|
+
faq: faqData,
|
|
93
|
+
bibliography,
|
|
94
|
+
howTo: howToData,
|
|
95
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
96
|
+
seo: [
|
|
97
|
+
{
|
|
98
|
+
type: 'title',
|
|
99
|
+
text: 'De Ultieme Gids: Hoe Bereken je de Afstand tussen Balusters?',
|
|
100
|
+
level: 2,
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
type: 'paragraph',
|
|
104
|
+
html: 'Het ontwerpen van een veilige en esthetisch perfecte leuning is een kunst die wiskundige precisie combineert met bouwvoorschriften. Of het nu gaat om een terras, een balkon of een binnentrap, de juiste berekening van de balusters (of spijlen) is de meest kritische stap van het project. Een rekenfout bederft niet alleen de visuele symmetrie, maar kan je constructie ook onveilig en illegaal maken.',
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
type: 'card',
|
|
108
|
+
icon: 'mdi:alert-circle-outline',
|
|
109
|
+
title: 'Waarom is deze berekening zo belangrijk?',
|
|
110
|
+
html: '<p>Het gaat niet alleen om het "vullen van het gat". Het gaat om het voldoen aan de <strong>4-inch sfeer-regel (10 cm)</strong>, een internationale veiligheidsnorm die is ontworpen om ongelukken met kinderen te voorkomen.</p>',
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
type: 'title',
|
|
114
|
+
text: '1. Veiligheidsvoorschriften: De 10cm-regel',
|
|
115
|
+
level: 3,
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'paragraph',
|
|
119
|
+
html: 'Voordat je het eerste stuk hout of metaal zaagt, moet je begrijpen waarom deze wiskunde nodig is. Het Bouwbesluit in Nederland en soortgelijke codes internationaal (zoals de IRC) stellen een duidelijke norm: <em>"De vrije ruimte tussen verticale elementen mag niet zodanig zijn dat een sfeer met een diameter van 10 cm erdoorheen kan."</em>',
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
type: 'paragraph',
|
|
123
|
+
html: 'Deze maat is niet willekeurig. Het is de gemiddelde diameter van het hoofd van een klein kind (meestal onder de 1 jaar). Als een kind met zijn lichaam erdoorheen kan maar het hoofd blijft steken, is het risico op verstikking extreem hoog. Als het hoofd er wel doorheen kan, kan het kind vallen. Daarom is het doel van onze <strong>Baluster Calculator</strong> niet alleen esthetiek, maar het redden van levens.',
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
type: 'title',
|
|
127
|
+
text: '2. Het Wiskundige Probleem: De Fencepost Error',
|
|
128
|
+
level: 3,
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
type: 'paragraph',
|
|
132
|
+
html: 'In de informatica en de bouw bestaat een klassiek probleem genaamd de <em>"Fencepost Error"</em> (de paal-en-hek-fout). Als je een hek van 10 meter wilt bouwen met palen om de meter, hoeveel palen heb je dan nodig? Het intuïtieve antwoord is 10, maar het juiste antwoord is 11.',
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
type: 'paragraph',
|
|
136
|
+
html: 'Bij balusters werkt het vergelijkbaar, maar ingewikkelder, omdat de breedte van de baluster zelf ook ruimte inneemt. De formule die onze tool gebruikt, lost dit stelsel van vergelijkingen voor je op:',
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
type: 'grid',
|
|
140
|
+
columns: [
|
|
141
|
+
{
|
|
142
|
+
type: 'card',
|
|
143
|
+
icon: 'mdi:calculator',
|
|
144
|
+
title: 'Stap A: Tussenruimtes Berekenen',
|
|
145
|
+
html: '<p class="bc-formula">n = (L - g_max) / (w + g_max)</p><p>Eerst bepalen we hoeveel balusters er theoretisch passen als we de maximaal toegestane ruimte gebruiken. We ronden dit getal naar boven af om er zeker van te zijn dat de resulterende tussenruimtes <em>kleiner</em> zijn dan het maximum.</p>',
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'card',
|
|
149
|
+
icon: 'mdi:function-variant',
|
|
150
|
+
title: 'Stap B: Exacte Afstand Herberekenen',
|
|
151
|
+
html: '<p class="bc-formula">g = (L - n × w) / (n + 1)</p><p>Zodra we het exacte aantal balusters (n) weten, berekenen we hoeveel ruimte er "overblijft" als we de breedte van alle materialen aftrekken, en verdelen we dit gelijkmatig over de tussenruimtes (n+1).</p>',
|
|
152
|
+
},
|
|
153
|
+
],
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
type: 'title',
|
|
157
|
+
text: '3. Stap-voor-stap Gids voor de Perfecte Installatie',
|
|
158
|
+
level: 3,
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
type: 'paragraph',
|
|
162
|
+
html: 'De cijfers hebben is slechts het halve werk. Hier leggen we uit hoe je die getallen van het papier (of scherm) vertaalt naar de realiteit van je bouwproject.',
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
type: 'title',
|
|
166
|
+
text: 'Stap 1: Precisie Meting',
|
|
167
|
+
level: 3,
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
type: 'paragraph',
|
|
171
|
+
html: 'Meet de <strong>interne</strong> afstand tussen paal en paal. Meet niet vanaf het hart van de paal. Je moet de exacte dagmaat weten die je gaat opvullen (L). Als je leuning meerdere secties heeft, meet dan elke sectie afzonderlijk; constructies zijn zelden perfect haaks en een fout van 0,5 cm kan de symmetrie verpesten.',
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
type: 'title',
|
|
175
|
+
text: 'Stap 2: Het Midden Vinden',
|
|
176
|
+
level: 3,
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
type: 'paragraph',
|
|
180
|
+
html: 'De meest gemaakte beginnersfout is om balusters vanaf de ene kant naar de andere kant te plaatsen. Dit resulteert bijna altijd in een laatste tussenruimte met een vreemde afmeting, wat de visuele harmonie verstoort.<ul><li>Markeer het <strong>exacte midden</strong> van de leuning (L / 2).</li><li>Bepaal of je in het midden een <em>baluster</em> of een <em>tussenruimte</em> wilt hebben.</li><li>Als je een baluster in het midden wilt: markeer de helft van de balusterbreedte aan weerszijden van je middenmarkering.</li><li>Als je een tussenruimte in het midden wilt: markeer de helft van de tussenruimte-afstand (g / 2) aan weerszijden.</li></ul>',
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
type: 'title',
|
|
184
|
+
text: 'Stap 3: Een Afstandhouder (Spacer) Maken',
|
|
185
|
+
level: 3,
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
type: 'paragraph',
|
|
189
|
+
html: 'Gebruik niet het meetlint voor elke baluster. De cumulatieve menselijke fout zal ervoor zorgen dat de laatste baluster enkele centimeters afwijkt. De professionele aanpak is om een blok hout (of twee) te zagen met de exacte maat van de opening (g) die onze calculator heeft berekend.',
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
type: 'paragraph',
|
|
193
|
+
html: 'Gebruik dit blok als een mal. Plaats een baluster, leg het blok ertegenaan, plaats de volgende baluster strak tegen het blok en zet deze vast. Dit garandeert een consistentie op de millimeter nauwkeurig.',
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
type: 'title',
|
|
197
|
+
text: '4. Benodigde Materialen en Gereedschap',
|
|
198
|
+
level: 3,
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
type: 'card',
|
|
202
|
+
icon: 'mdi:tools',
|
|
203
|
+
title: 'Uitrusting voor een professionele afwerking',
|
|
204
|
+
html: '<ul><li>Hoogwaardig meetlint</li><li>Timmermanspotlood</li><li>Waterpas (voor de verticaliteit)</li><li>Afkortzaag (voor strakke sneden)</li><li>Boormachine en houtschroeven</li><li>Afstandhouders (op maat gemaakt)</li></ul>',
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
type: 'title',
|
|
208
|
+
text: '5. Aanvullende Technische Vragen',
|
|
209
|
+
level: 3,
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
type: 'card',
|
|
213
|
+
icon: 'mdi:help-circle-outline',
|
|
214
|
+
title: 'Wat als de laatste opening niet uitkomt?',
|
|
215
|
+
html: '<p>Als je onze calculator hebt gebruikt, zou dit niet mogen gebeuren. Echter, in de echte wereld werkt hout en staan palen niet altijd kaarsrecht. Als je aan het einde 1-2 mm overhoudt of tekortkomt, is dat onzichtbaar. Als je 1 cm tekortkomt, controleer dan je afstandhouders; waarschijnlijk heb je bij elke stap een kleine fout geaccumuleerd.</p>',
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
type: 'card',
|
|
219
|
+
icon: 'mdi:shield-check-outline',
|
|
220
|
+
title: 'Mag ik balusters verder uit elkaar plaatsen als ik geen kinderen heb?',
|
|
221
|
+
html: '<p>Wettelijk gezien niet. De bouwvoorschriften gelden voor de woning, niet voor de huidige bewoners. Als je het huis ooit verkoopt, zal een leuning die niet aan de norm voldoet een probleem vormen bij de inspectie. Bovendien kunnen bezoekers (neefjes, kleinkinderen) gevaar lopen.</p>',
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
type: 'card',
|
|
225
|
+
icon: 'mdi:wrench-outline',
|
|
226
|
+
title: 'Hout, Metaal of Glas?',
|
|
227
|
+
html: '<p>Deze calculator werkt voor <strong>elk herhalend verticaal element</strong>. Als je horizontale spankabels gebruikt, zijn de regels anders (meestal mogen deze niet opklimbaar zijn, het "trapeffect"). Voor glas wordt het beschouwd als een gesloten paneel en geldt er geen tussenruimte-eis, maar een impact-eis.</p>',
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
type: 'card',
|
|
231
|
+
icon: 'mdi:format-quote-close',
|
|
232
|
+
title: 'Mies van der Rohe',
|
|
233
|
+
html: '<p><em>"Architectuur is de wil van de tijd vertaald in ruimte."</em></p><p>We hopen dat deze tool je helpt om veiligere en mooiere ruimtes te creëren. Vergeet niet om altijd de lokale bouwverordening van je gemeente te raadplegen, aangezien er specifieke variaties kunnen zijn in minimale hoogte (meestal 90-110 cm) of belastingseisen.</p>',
|
|
234
|
+
},
|
|
235
|
+
],
|
|
236
|
+
ui: {
|
|
237
|
+
sectionTitle: 'Afmetingen',
|
|
238
|
+
sectionDesc: 'Voer de maten van je leuning in',
|
|
239
|
+
labelRailLength: 'Totale Lengte (L)',
|
|
240
|
+
labelBalusterWidth: 'Balusterbreedte (w)',
|
|
241
|
+
labelMaxGap: 'Maximale Opening (g)',
|
|
242
|
+
blueprintTitle: 'Bouwplan',
|
|
243
|
+
blueprintRef: 'REF: BAL-001 // SCHAAL: AUTO',
|
|
244
|
+
labelRequired: 'Benodigde Balusters',
|
|
245
|
+
labelExactGap: 'Exacte Opening',
|
|
246
|
+
labelOnCenter: 'Hart-op-Hart',
|
|
247
|
+
labelTotalSpaces: 'Totaal Aantal Gaten',
|
|
248
|
+
labelCoveredLength: 'Bedekte Lengte',
|
|
249
|
+
labelDisclaimer: '* De getoonde afmetingen zijn bij benadering voor visualisatie.',
|
|
250
|
+
},
|
|
251
|
+
};
|