Naslag
Het configuratiebestand, sleutel voor sleutel
Een configuratie (.occc) is een JSON-bestand: de lagen, voorinstellingen en lijnstijlen van een project, en elke instelling die het aan de objecten, weergaven, notities en peilmaten van een model geeft. De opbouw, elke sleutel en zijn standaardwaarde, de regels die een bestand moet volgen en de fouten waardoor het wordt geweigerd — om een configuratie te lezen, of er een met de hand, met een script of met een AI te schrijven.
Wat een configuratie bevat
Een configuratie bevat de instellingen van een project zonder het model: één JSON-object, in UTF-8. Export › Configuration (.occc) schrijft het en Import › Configuration (.occc) leest het terug; een project (.occp) draagt hetzelfde object naast zijn model, en uw standaardconfiguratie is er ook een.
- Instellingen worden per naam bewaard: de instellingen van een object staan onder zijn naam, zoals de modelbrowser die toont, en gelden voor elk object met die naam in elke weergave. Ook weergaven, notities en peilmaten worden per naam bewaard.
- Een configuratie vermeldt wat afwijkt van de standaardwaarden: een weggelaten sleutel krijgt de standaardwaarde die hieronder staat.
- Lagen, patroonvoorinstellingen en de eigen lijndiktes en lijntypes van het project worden één keer gedefinieerd, in lijsten, en de instellingen verwijzen ernaar met hun
id.
De opbouw
Het bestand is één object. Occlusia schrijft de sleutels in deze volgorde, elke lijst en elke groep instellingen inbegrepen, ook als ze leeg zijn:
{
"author": "Occlusia",
"app_version": "0.1.0",
"app_build": "gbc7dba5",
"snapshot_plugin_version": "0.1.0+gbc7dba5",
"created_at": "2026-10-23 08:00:00",
"saved_at": "2026-10-23 16:54:49",
"project_layers": [ … ],
"hatch_presets": [ … ],
"line_weights": [ … ],
"line_types": [ … ],
"objects_settings": { "Facing brick": { … }, … },
"sections_settings": { "Section A-A": { … }, … },
"annotations_settings": { "Wall build-up": { … }, … },
"spot_elevations_settings": { "Ground floor": { … }, … },
"spot_elevation_datum": { "offset_m": 152.35, "label": "TAW" }
}- author · app_version · app_build
- Wie het bestand schreef:
Occlusia, de versie en de build. Ter informatie: wordt nooit gelezen. - snapshot_plugin_version
- Wat het model vastlegde waarop de instellingen zijn gemaakt. Ter informatie.
- created_at · saved_at
- Wanneer het document is aangemaakt en wanneer dit bestand is geschreven,
YYYY-MM-DD HH:MM:SSin lokale tijd. Ter informatie. - project_layers
- De DXF-lagen van het project: een lijst. Zie Lagen.
- hatch_presets
- De patroonvoorinstellingen: een lijst. Zie Patroonvoorinstellingen.
- line_weights · line_types
- De eigen lijndiktes en lijntypes van het project, naast de standaard: twee lijsten. Zie Lijndiktes en lijntypes.
- objects_settings
- De instellingen van de objecten, per objectnaam. Zie Objecten.
- sections_settings
- De instellingen van de weergaven, per naam van de weergave. Zie Weergaven.
- annotations_settings
- De instellingen van de notities, per naam van de notitie. Zie Notities.
- spot_elevations_settings
- De instellingen van de peilmaten, per naam. Zie Peilmaten.
- spot_elevation_datum
- De hoogte van de oorsprong van het model in het referentiestelsel van het project:
offset_m, in meter, enlabel, dat na een absolute waarde staat (NGF,TAW). Standaard 0 en leeg.
Wat een bestand moet volgen
Een configuratie is een bestand dat Occlusia schrijft. Een bestand dat elders is geschreven of bewerkt — met de hand, door een script, door een AI — wordt bij het openen gecontroleerd en in zijn geheel geweigerd als het een regel overtreedt: niets wordt half toegepast, de huidige instellingen blijven, en het venster toont elk probleem met zijn code (zie Fouten).
- Id's zijn strikt. Elk item van de vier lijsten heeft een
idnodig, uniek in zijn lijst. Ook de namen van lagen en lijntypes moeten uniek zijn, zonder op hoofdletters te letten: een DXF kent een laag en een lijntype aan hun naam. - Het snijsymbool is een vast woord. Het
symbolvan een object isnone,crossofinsulation; elk ander woord laat het bestand weigeren. - Alle andere waarden zijn vrij. Een weggelaten sleutel krijgt zijn standaardwaarde,
nulltelt als weggelaten, een waarde van het verkeerde type wordt als standaardwaarde gelezen, en een sleutel die Occlusia niet kent, blijft ongewijzigd bewaard en wordt teruggeschreven. - Verwijzingen vallen terug. Een instelling die verwijst naar een laag die het bestand niet definieert, tekent op laag
0; een instelling die verwijst naar een ontbrekende voorinstelling of lijnstijl, krijgt de standaardwaarde van de instelling. - Namen moeten exact overeenkomen. Instellingen bereiken een object alleen als hun sleutel zijn naam is, zoals de modelbrowser die toont, hoofdletters en spaties inbegrepen. Instellingen voor een naam die het model niet heeft, blijven ongebruikt bewaard.
Lagen
project_layers somt de eigen lagen van het project op. De standaardlaag, 0, hoort bij Occlusia: ze is er altijd, wordt nooit geschreven, en geen item mag haar opeisen, niet met haar id layer_0 en niet met de naam 0.
{
"id": "layer_1761134408",
"name": "A-WALL",
"description": "Masonry",
"color": "#D9483B",
"line_weight": "50",
"line_type": "solid",
"transparency": 0,
"active": true,
"frozen": false,
"locked": false,
"plot": true
}- id
- Verplicht. Tekst, uniek in de lijst: waar elke
…_layer_idnaar verwijst. Occlusia schrijftlayer_en een getal. - name
- Verplicht. De naam van de laag in de DXF: niet leeg, zonder spaties eromheen, uniek zonder op hoofdletters te letten, nooit
0. - description
- Vrije tekst. Standaard leeg.
- color
#RRGGBB. Standaard#FFFFFF.- line_weight
default, of een lijndikte in honderdsten van een millimeter:25is 0,25 mm. Standaarddefault.- line_type
- Standaard
solid, of een ander lijntype (zie Lijndiktes en lijntypes). - transparency
- 0 tot 100 %. Standaard 0.
- active · frozen · locked · plot
- Aan, bevroren, vergrendeld, geplot: standaard
true,false,falseentrue.
Patroonvoorinstellingen
hatch_presets somt de voorinstellingen van het project op; none en custom horen bij Occlusia en worden nooit geschreven. Een object dat een voorinstelling gebruikt, noemt haar — template voor zijn snijvulling, surface_template voor zijn oppervlaktevulling — en houdt een eigen kopie van haar waarden.
{
"id": "concrete",
"label": "Concrete",
"fill_pattern": "hatch_ar_conc",
"color": "#000000",
"color_bylayer": true,
"bg": "#BBBBBB",
"line_weight": "stroke-medium",
"scale": 0.15,
"angle": 0,
"transparency": 0
}- id
- Verplicht. Tekst, uniek, nooit
noneofcustom. Occlusia schrijft de naam in kleine letters,_voor spaties:concrete_block. - label
- De naam die de lijsten tonen.
- fill_pattern
none,hatch_solid, of een patroon: zijn naam in de lijst Fill Type, in kleine letters nahatch_, een koppelteken geschreven als_— ANSI31 wordthatch_ansi31, AR-CONC wordthatch_ar_conc.- color · color_bylayer
- De kleur van de arceringslijnen of van de volle vulling (
#000000), en of de DXF in plaats daarvan de kleur van de laag neemt (true). - bg
- Een volle kleur achter de arcering, of
none(standaard). - line_weight
- De dikte van de arceringslijnen: standaard
stroke-hairline. - scale · angle · transparency
- Groottefactor (1), rotatie in graden tegen de klok in (0), transparantie van 0 tot 100 (0).
Lijndiktes en lijntypes
Waar een instelling een lijndikte of een lijntype vraagt, noemt ze een standaardwaarde of een van het project. De standaarddiktes zijn stroke-hairline (0,13 mm), stroke-thin (0,25), stroke-medium (0,35), stroke-bold (0,50), stroke-heavy (0,70) en stroke-ultra (1,00); de standaardtypes zijn solid, dashed, dotted, dash-dot en long_dash. De lijnen van een object kennen ook none: helemaal geen lijn.
"line_weights": [
{ "id": "stroke-custom-fine", "name": "Fine", "width": 0.18 }
],
"line_types": [
{ "id": "custom-hidden_edge", "name": "Hidden edge", "pattern": [3.0, -1.5] }
]- line_weights · id
stroke-custom-gevolgd door letters, cijfers,_of-; uniek.- line_weights · name · width
- De naam die de lijsten tonen, en de breedte in millimeter, van 0,05 tot 2,11 (het bereik van AutoCAD). De DXF schrijft de dichtstbijzijnde AutoCAD-lijndikte.
- line_types · id
custom-gevolgd door letters, cijfers,_of-; uniek.- line_types · name
- De naam van het lijntype in de DXF: uniek zonder op hoofdletters te letten, zonder spaties eromheen, hoogstens 255 bytes, zonder teken dat een DXF-tabel weigert (< > / \ " : ; ? * | , = en de aanhalingstekens), en geen naam die de DXF of Occlusia zelf gebruikt: Continuous, ByLayer, ByBlock, de naam van een standaardtype, NONE.
- line_types · pattern
- De streepjes, in millimeter op het afgedrukte blad, zoals AutoCAD ze schrijft: een positieve lengte is een streep, een negatieve een tussenruimte, 0 een punt, hoogstens twaalf.
[3, -1.5]is een streep van 3 mm en een tussenruimte van 1,5 mm.
Objecten
objects_settings bevat één item per objectnaam, groepen inbegrepen. Elk object wordt getekend met zijn eigen item: de interface schrijft een wijziging aan een groep in het item van elk object erin, en een bestand dat met de hand is geschreven, doet hetzelfde. Elke sleutel is optioneel. Facing brick van het demomodel:
"Facing brick": {
"template": "custom",
"fill_pattern": "hatch_ansi31",
"cut_pattern_color": "#000000",
"cut_pattern_color_bylayer": false,
"cut_pattern_bg_color": "#f2d4a6",
"cut_pattern_line_weight": "stroke-hairline",
"cut_pattern_scale": 1.0,
"cut_pattern_angle": 0,
"cut_pattern_transparency": 0,
"surface_template": "custom",
"surface_hatch": "hatch_ar_brstd",
"surf_pattern_color": "#000000",
"surf_pattern_color_bylayer": false,
"surf_pattern_bg_color": "#F2D4A6",
"surf_pattern_line_weight": "stroke-hairline",
"surf_pattern_scale": 0.11,
"surf_pattern_angle": 0,
"surf_pattern_transparency": 0,
"cut_line_weight": "stroke-bold",
"cut_layer_id": "layer_1761134408",
"surf_layer_id": "layer_1761134408",
"hatch_layer_id": "layer_1761134404"
}Lijnen. De sleutels cut_ stijlen de omtrek waar de weergave het object snijdt, de sleutels surf_ zijn randen die achter het vlak zichtbaar zijn.
- cut_line_weight · surf_line_weight
- Standaard
stroke-thinenstroke-hairline. - cut_line_type · surf_line_type
- Standaard
solid;nonetekent geen lijn. - cut_line_type_scale · surf_line_type_scale
- Een factor op de streeplengtes van het type: standaard 1.
- cut_line_color · surf_line_color
- Standaard
#000000. - cut_line_transparency · surf_line_transparency
- 0 tot 100: standaard 0.
- …_bylayer
- Naast elke kleur, dikte en elk type van de lijnen, patronen en het symbool:
true, de standaard, laat de DXF de waarde van de laag nemen. De SVG en de PDF tekenen altijd die van het object.
Vullingen. De sleutels cut_pattern_ vullen de gesneden vlakken, de sleutels surf_pattern_ de vlakken die achter het vlak zichtbaar zijn.
- template · surface_template
- De voorinstelling van de snijvulling en van de oppervlaktevulling:
none(standaard),custom— de waarden hieronder, aan geen voorinstelling gebonden — of deidvan een voorinstelling. - fill_pattern · surface_hatch
- De snijvulling en de oppervlaktevulling: standaard
none,hatch_solidof een patroon (zie Patroonvoorinstellingen). - cut_pattern_color · surf_pattern_color
- De kleur van de arceringslijnen of van de volle vulling:
#000000. - cut_pattern_bg_color · surf_pattern_bg_color
- Een volle kleur achter de arcering, of
none(standaard). - cut_pattern_line_weight · surf_pattern_line_weight
- De dikte van de arceringslijnen:
stroke-hairline. - cut_pattern_scale · surf_pattern_scale
- Groottefactor: 1.
- cut_pattern_angle · surf_pattern_angle
- Rotatie in graden, tegen de klok in: 0.
- cut_pattern_transparency · surf_pattern_transparency
- 0 tot 100: 0.
Symbool, lagen en weergave.
- symbol
none(standaard),crossofinsulation— niets anders: een ander woord laat het bestand weigeren.- symbol_line_weight · symbol_line_type · symbol_line_color · symbol_line_transparency
- De lijnen van het symbool:
stroke-hairline,solid,#000000, 0. - cut_layer_id · surf_layer_id · hatch_layer_id · cut_symbol_layer_id
- De DXF-lagen van de snijlijnen, de projectielijnen, de arceringen en het symbool: de
idvan een laag, standaardlayer_0. - draw_order
- Hoger wordt erboven getekend: standaard 0.
- export_block · block_name · block_layer_id
- Exporteert het object en wat het bevat als één blok (
false), de naam ervan — leeg: die van het object — en de laag van de invoeging (layer_0). - exclude_from_shadows
- No Shadows: werpt er geen en ontvangt er geen (
false). - wireframe
- Alleen met zijn lijnen getekend (
false). - hidden
- In elke weergave:
trueverborgen,falsegetoond. Zonder deze sleutel staat het object zoals het model het toont.
Weergaven
sections_settings bevat één item per naam van een weergave: haar markering, getekend in de andere weergaven, de zichtbaarheidskeuzes in deze weergave, haar schaduwen en haar PDF-pagina.
"South elevation": {
"marker_style": "default",
"marker_color": "#000000",
"marker_number_color": "#000000",
"marker_name_color": "#000000",
"section_line_color": "#000000",
"marker_layer_id": "layer_1761134400",
"shadow": {
"enabled": true,
"sun_mode": "manual",
"azimuth": 225,
"altitude": 40,
"interiors": false,
"pattern": "default",
"layer_id": "layer_1761134400"
},
"spot_elevations": { "Ground level": false, "Ceiling": false }
}- hidden
trueverbergt de markering van de weergave in alle andere weergaven.- marker_style
default(een schijf met het symbool en de naam),closed_arrowofopen_arrow.- marker_color · marker_number_color · marker_name_color
- De koppen, het symbool en de naam: standaard
#0000FF. - section_line_type · section_line_color
- De snijlijn: standaard
dash-doten#000000. - marker_endpoints
both(standaard),start,endofnone.- marker_show_number · marker_show_name
- Het symbool en de naam tekenen:
true. - marker_size_mode · marker_scale
autopast de markering aan de tekening aan;manualhoudt de groottemarker_scale(1).- marker_number_font_family · marker_number_font_size
- Het lettertype van het symbool (
Arial) en zijn groottefactor (1). Dezelfde sleutels metnamestijlen de naam. - marker_layer_id
- De DXF-laag van de markering:
layer_0. - object_visibility
- De eigen keuzes van deze weergave, per objectnaam:
truehier getoond,falsehier verborgen. Ze gaan voor op dehiddenvan de objecten. - spot_elevations
- Hetzelfde voor peilmaten, per naam.
- shadow
enabled(false),sun_mode(manual),azimuthin graden met de klok mee vanaf het noorden (135),altitude(45),interiors(true),pattern—defaultof deidvan een voorinstelling — enlayer_id.formatvanA4totA0(A4),orientationauto,portraitoflandscape(auto),scale_modefitofcustomop 1:scale_denominator(fit, 50),margins_mm(10), encenter, het modelpunt in het midden van het blad zodra de tekening erop is verschoven.
Notities
annotations_settings bevat één item per naam van een notitie — de naam die het model de notitie geeft (OCCTAG#Name), niet de tekst die ze schrijft.
"Wall build-up": {
"font_family": "Arial",
"font_size": 4.2,
"font_style": "regular",
"background": "drawing",
"layer_id": "layer_1761134400"
}- hidden
trueverbergt de notitie in elke weergave.- font_family · font_size · font_style
Arial; de hoogte van een hoofdletter, in tekeneenheden (12);regular,bold,italicofbold-italic.- color · color_bylayer · transparency
#000000,true, 0.- multiline · max_width
- De tekst afbreken op een breedte in tekeneenheden:
false, 0. - show_leader
- De verwijslijn tekenen wanneer het model de notitie er een geeft:
true. - background · background_color
none(standaard),solid— een kader inbackground_color,#FFFFFF— ofdrawing, de eigen achtergrond van de tekening.- layer_id
- De DXF-laag van de notitie:
layer_0.
Peilmaten
spot_elevations_settings bevat één item per naam van een peilmaat (OCCLEVEL#Name).
"Ground level": {
"marker_style": "triangle_half",
"value_font_size": 4.6,
"name_font_size": 4.2,
"layer_id": "layer_1761134400",
"marker_side": "left",
"size_mode": "manual",
"scale": 2.0
}- hidden
trueverbergt haar in elke weergave; de keuzespot_elevationsvan een weergave gaat voor.- marker_style · marker_side
triangle(standaard),triangle_half,triangle_openoftarget; de teksten rechts,right(standaard), of links,left.- marker_color · marker_line_weight
- De vulling van de markering (
#000000) en de ene dikte van haar lijnen (stroke-hairline). - size_mode · scale
auto, ofmanualmetscale, van 0,05 tot 50 (1).- show_line · line_type · line_weight · line_color · line_length
- De peillijn: uit (
false),dashed,stroke-hairline,#000000, 20 tekeneenheden lang — 0 tekent er geen. - show_value · value_display
- De hoogte schrijven (
true):relative, de eigen hoogte in het model (+2.90), ofabsolute, die hoogte plusoffset_mvanspot_elevation_datum, gevolgd door zijnlabel. - show_name
- Het label schrijven:
true. - value_font_family · value_font_size · value_font_style
- De tekst van de hoogte:
Arial, 12,bold. - name_font_family · name_font_size · name_font_style
- De tekst van het label:
Arial, 12,regular. - value_color · name_color
#000000.- marker_color_bylayer · line_color_bylayer · value_color_bylayer · name_color_bylayer
- Eén ByLayer-keuze per kleur:
true. - layer_id
- De DXF-laag:
layer_0.
Een configuratie schrijven met een AI
Een AI kan een configuratie schrijven — een kantoorstandaard, de stijlen van andere software overgenomen, een variant van een bestaand bestand — zodra ze de regels hierboven en de namen in uw model kent.
- 01
Geef haar het formaat
Deze pagina en het JSON Schema hierboven: elke sleutel, zijn type, zijn standaardwaarde en zijn regels.
- 02
Geef haar uw namen
De namen van uw objecten, weergaven, notities en peilmaten precies zoals de modelbrowser ze toont — of een configuratie die uit het model is geëxporteerd.
- 03
Vraag wat afwijkt
De sleutels die afwijken van de standaardwaarden, de lagen en voorinstellingen die ze gebruiken, en geen item voor een naam die het model niet heeft.
- 04
Importeer en lees het antwoord
Import › Configuration (.occc). Een bestand dat een regel overtreedt, verandert niets, en het venster toont elk probleem met zijn code: geef de lijst terug aan de AI. ⌘Z (Ctrl+Z) maakt een import ongedaan.
Fouten
Een geweigerd bestand opent Cannot import this configuration. — Cannot open this project. voor een project, Your default configuration was not loaded. voor de standaardconfiguratie. De details tonen elk probleem: de code, het item en waarom. Een code verandert nooit van betekenis.
- OC001
- Het bestand is geen configuratie: de inhoud is geen JSON-object, of geen leesbare JSON.
- OC100
project_layersis geen lijst.- OC101
- Een laag is geen object.
- OC102
- Een laag heeft geen
id, of een lege. - OC103
- Twee lagen delen een
id. - OC104
- Een laag heeft geen
name, of een lege. - OC105
- Twee lagen hebben dezelfde naam, zonder op hoofdletters te letten: in een DXF zouden ze één laag zijn.
- OC106
- De naam van een laag heeft spaties eromheen.
- OC107
- Een item eist de standaardlaag
0op, met de idlayer_0of met de naam0. Verwijder het: de standaardlaag wordt nooit geschreven. - OC200
- Het
symbolvan een object is nietnone,crossofinsulation. - OC300
hatch_presetsis geen lijst.- OC301
- Een voorinstelling is geen object.
- OC302
- Een voorinstelling heeft geen
id, of een lege. - OC303
- Twee voorinstellingen delen een
id. - OC304
- Een voorinstelling neemt de id
noneofcustom, die bij Occlusia horen. - OC400
line_weightsis geen lijst.- OC401
- Een lijndikte is geen object.
- OC402
- De
idvan een lijndikte ontbreekt, of is nietstroke-custom-gevolgd door letters, cijfers,_of-. - OC403
- Twee lijndiktes delen een
id. - OC500
line_typesis geen lijst.- OC501
- Een lijntype is geen object.
- OC502
- De
idvan een lijntype ontbreekt, of is nietcustom-gevolgd door letters, cijfers,_of-. - OC503
- Twee lijntypes delen een
id. - OC504
- Een lijntype heeft geen
name, of een lege. - OC505
- Twee lijntypes hebben dezelfde naam, zonder op hoofdletters te letten.
- OC506
- De naam van een lijntype heeft spaties eromheen.
- OC507
- Een lijntype neemt een naam die de DXF of Occlusia zelf gebruikt: Continuous, ByLayer, ByBlock, de naam van een standaardtype, NONE.
- OC508
- De naam van een lijntype bevat een teken dat een DXF-tabel weigert, of is langer dan 255 bytes.