Naar de documentatie

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:SS in 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, en label, 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 id nodig, 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 symbol van een object is none, cross of insulation; elk ander woord laat het bestand weigeren.
  • Alle andere waarden zijn vrij. Een weggelaten sleutel krijgt zijn standaardwaarde, null telt 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_id naar verwijst. Occlusia schrijft layer_ 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: 25 is 0,25 mm. Standaard default.
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, false en true.

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 none of custom. 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 na hatch_, een koppelteken geschreven als _ — ANSI31 wordt hatch_ansi31, AR-CONC wordt hatch_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-thin en stroke-hairline.
cut_line_type · surf_line_type
Standaard solid; none tekent 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 de id van een voorinstelling.
fill_pattern · surface_hatch
De snijvulling en de oppervlaktevulling: standaard none, hatch_solid of 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), cross of insulation — 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 id van een laag, standaard layer_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: true verborgen, false getoond. 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
true verbergt de markering van de weergave in alle andere weergaven.
marker_style
default (een schijf met het symbool en de naam), closed_arrow of open_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-dot en #000000.
marker_endpoints
both (standaard), start, end of none.
marker_show_number · marker_show_name
Het symbool en de naam tekenen: true.
marker_size_mode · marker_scale
auto past de markering aan de tekening aan; manual houdt de grootte marker_scale (1).
marker_number_font_family · marker_number_font_size
Het lettertype van het symbool (Arial) en zijn groottefactor (1). Dezelfde sleutels met name stijlen de naam.
marker_layer_id
De DXF-laag van de markering: layer_0.
object_visibility
De eigen keuzes van deze weergave, per objectnaam: true hier getoond, false hier verborgen. Ze gaan voor op de hidden van de objecten.
spot_elevations
Hetzelfde voor peilmaten, per naam.
shadow
enabled (false), sun_mode (manual), azimuth in graden met de klok mee vanaf het noorden (135), altitude (45), interiors (true), pattern — default of de id van een voorinstelling — en layer_id.
pdf
format van A4 tot A0 (A4), orientation auto, portrait of landscape (auto), scale_mode fit of custom op 1:scale_denominator (fit, 50), margins_mm (10), en center, 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
true verbergt de notitie in elke weergave.
font_family · font_size · font_style
Arial; de hoogte van een hoofdletter, in tekeneenheden (12); regular, bold, italic of bold-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 in background_color, #FFFFFF — of drawing, 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
true verbergt haar in elke weergave; de keuze spot_elevations van een weergave gaat voor.
marker_style · marker_side
triangle (standaard), triangle_half, triangle_open of target; 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, of manual met scale, 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), of absolute, die hoogte plus offset_m van spot_elevation_datum, gevolgd door zijn label.
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.

  1. 01

    Geef haar het formaat

    Deze pagina en het JSON Schema hierboven: elke sleutel, zijn type, zijn standaardwaarde en zijn regels.

  2. 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.

  3. 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.

  4. 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_layers is 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 0 op, met de id layer_0 of met de naam 0. Verwijder het: de standaardlaag wordt nooit geschreven.
OC200
Het symbol van een object is niet none, cross of insulation.
OC300
hatch_presets is 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 none of custom, die bij Occlusia horen.
OC400
line_weights is geen lijst.
OC401
Een lijndikte is geen object.
OC402
De id van een lijndikte ontbreekt, of is niet stroke-custom- gevolgd door letters, cijfers, _ of -.
OC403
Twee lijndiktes delen een id.
OC500
line_types is geen lijst.
OC501
Een lijntype is geen object.
OC502
De id van een lijntype ontbreekt, of is niet custom- 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.