Referenz
Die Konfigurationsdatei, Schlüssel für Schlüssel
Eine Konfiguration (.occc) ist eine JSON-Datei: die Layer, Vorgaben und Linienstile eines Projekts und jede Einstellung, die es den Objekten, Darstellungen, Beschriftungen und Höhenkoten eines Modells gibt. Ihr Aufbau, jeder Schlüssel und sein Standardwert, die Regeln, die eine Datei einhalten muss, und die Fehler, die zur Ablehnung führen – um eine Konfiguration zu lesen oder eine von Hand, mit einem Skript oder mit einer KI zu schreiben.
Was eine Konfiguration enthält
Eine Konfiguration enthält die Einstellungen eines Projekts ohne sein Modell: ein JSON-Objekt in UTF-8. Export › Configuration (.occc) schreibt sie, Import › Configuration (.occc) liest sie wieder ein; ein Projekt (.occp) trägt dasselbe Objekt neben seinem Modell, und Ihre Standardkonfiguration ist ebenfalls eine.
- Einstellungen werden nach Namen abgelegt: Die Einstellungen eines Objekts stehen unter seinem Namen, wie der Modellbrowser ihn zeigt, und gelten für jedes Objekt dieses Namens in jeder Darstellung. Auch Darstellungen, Beschriftungen und Höhenkoten werden nach Namen abgelegt.
- Eine Konfiguration nennt, was von den Standardwerten abweicht: Ein weggelassener Schlüssel erhält den unten angegebenen Standardwert.
- Layer, Mustervorgaben sowie die eigenen Linienstärken und Linientypen des Projekts werden einmal in Listen definiert, und die Einstellungen verweisen über ihre
iddarauf.
Der Aufbau
Die Datei ist ein einziges Objekt. Occlusia schreibt ihre Schlüssel in dieser Reihenfolge, jede Liste und jede Gruppe von Einstellungen eingeschlossen, auch wenn sie leer sind:
{
"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
- Wer die Datei geschrieben hat:
Occlusia, seine Version und sein Build. Nur zur Information: wird nie gelesen. - snapshot_plugin_version
- Was das Modell erfasst hat, für das die Einstellungen gemacht wurden. Nur zur Information.
- created_at · saved_at
- Wann das Dokument angelegt und wann diese Datei geschrieben wurde,
YYYY-MM-DD HH:MM:SSin Ortszeit. Nur zur Information. - project_layers
- Die DXF-Layer des Projekts: eine Liste. Siehe Layer.
- hatch_presets
- Die Mustervorgaben: eine Liste. Siehe Mustervorgaben.
- line_weights · line_types
- Die eigenen Linienstärken und Linientypen des Projekts, neben den Standardwerten: zwei Listen. Siehe Linienstärken und Linientypen.
- objects_settings
- Die Einstellungen der Objekte, nach Objektnamen. Siehe Objekte.
- sections_settings
- Die Einstellungen der Darstellungen, nach Namen der Darstellung. Siehe Darstellungen.
- annotations_settings
- Die Einstellungen der Beschriftungen, nach Namen der Beschriftung. Siehe Beschriftungen.
- spot_elevations_settings
- Die Einstellungen der Höhenkoten, nach Namen. Siehe Höhenkoten.
- spot_elevation_datum
- Die Höhe des Modellursprungs im Bezugssystem des Projekts:
offset_min Metern undlabel, das hinter einem absoluten Wert steht (NGF,TAW). Standardmäßig 0 und leer.
Was eine Datei einhalten muss
Eine Konfiguration ist eine Datei, die Occlusia schreibt. Eine anderswo geschriebene oder bearbeitete – von Hand, von einem Skript, von einer KI – wird beim Öffnen geprüft und als Ganzes abgelehnt, wenn sie eine Regel verletzt: Nichts wird halb übernommen, die aktuellen Einstellungen bleiben, und der Dialog nennt jedes Problem mit seinem Code (siehe Fehler).
- Ids sind streng. Jeder Eintrag der vier Listen braucht eine
id, eindeutig in seiner Liste. Auch die Namen von Layern und Linientypen müssen eindeutig sein, ohne Beachtung der Groß- und Kleinschreibung: Eine DXF-Datei kennt einen Layer und einen Linientyp an seinem Namen. - Das Schnittsymbol ist ein festes Wort. Das
symboleines Objekts istnone,crossoderinsulation; jedes andere Wort führt zur Ablehnung der Datei. - Alle anderen Werte sind frei. Ein weggelassener Schlüssel erhält seinen Standardwert,
nullgilt als weggelassen, ein Wert falschen Typs wird als Standardwert gelesen, und ein Schlüssel, den Occlusia nicht kennt, bleibt unverändert erhalten und wird zurückgeschrieben. - Verweise fallen zurück. Eine Einstellung, die auf einen Layer verweist, den die Datei nicht definiert, zeichnet auf Layer
0; eine, die auf eine fehlende Vorgabe oder einen fehlenden Linienstil verweist, erhält den Standardwert der Einstellung. - Namen müssen genau stimmen. Einstellungen erreichen ein Objekt nur, wenn ihr Schlüssel sein Name ist, wie der Modellbrowser ihn zeigt, einschließlich Groß- und Kleinschreibung und Leerzeichen. Einstellungen für einen Namen, den das Modell nicht hat, bleiben ungenutzt erhalten.
Layer
project_layers listet die eigenen Layer des Projekts. Der Standardlayer 0 gehört Occlusia: Er ist immer vorhanden, wird nie geschrieben, und kein Eintrag darf ihn beanspruchen, weder über seine id layer_0 noch über den Namen 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
- Pflicht. Text, eindeutig in der Liste: das, worauf jede
…_layer_idverweist. Occlusia schreibtlayer_und eine Zahl. - name
- Pflicht. Der Name des Layers in der DXF-Datei: nicht leer, ohne Leerzeichen am Rand, eindeutig ohne Beachtung der Groß- und Kleinschreibung, nie
0. - description
- Freier Text. Standardmäßig leer.
- color
#RRGGBB. Standardmäßig#FFFFFF.- line_weight
defaultoder eine Linienstärke in Hundertstelmillimetern:25steht für 0,25 mm. Standardmäßigdefault.- line_type
- Standardmäßig
solid, oder ein anderer Linientyp (siehe Linienstärken und Linientypen). - transparency
- 0 bis 100 %. Standardmäßig 0.
- active · frozen · locked · plot
- Ein, gefroren, gesperrt, geplottet: standardmäßig
true,false,falseundtrue.
Mustervorgaben
hatch_presets listet die Vorgaben des Projekts; none und custom gehören Occlusia und werden nie geschrieben. Ein Objekt, das eine Vorgabe verwendet, nennt sie – template für seine Schnittfüllung, surface_template für seine Flächenfüllung – und behält eine eigene Kopie ihrer Werte.
{
"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
- Pflicht. Text, eindeutig, nie
noneodercustom. Occlusia schreibt den Namen in Kleinbuchstaben,_für Leerzeichen:concrete_block. - label
- Der Name, den die Listen zeigen.
- fill_pattern
none,hatch_solidoder ein Muster: sein Name in der Liste Fill Type, kleingeschrieben nachhatch_, ein Bindestrich als_– ANSI31 wirdhatch_ansi31, AR-CONC wirdhatch_ar_conc.- color · color_bylayer
- Die Farbe der Schraffurlinien oder der Vollfüllung (
#000000) und ob die DXF-Datei stattdessen die Farbe des Layers übernimmt (true). - bg
- Eine Vollfarbe hinter der Schraffur oder
none(Standard). - line_weight
- Die Stärke der Schraffurlinien: standardmäßig
stroke-hairline. - scale · angle · transparency
- Größenfaktor (1), Drehung in Grad gegen den Uhrzeigersinn (0), Transparenz von 0 bis 100 (0).
Linienstärken und Linientypen
Wo eine Einstellung eine Linienstärke oder einen Linientyp verlangt, nennt sie einen Standardwert oder einen des Projekts. Die Standardstärken sind stroke-hairline (0,13 mm), stroke-thin (0,25), stroke-medium (0,35), stroke-bold (0,50), stroke-heavy (0,70) und stroke-ultra (1,00); die Standardtypen sind solid, dashed, dotted, dash-dot und long_dash. Die Linien eines Objekts kennen außerdem none: gar keine Linie.
"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-, gefolgt von Buchstaben, Ziffern,_oder-; eindeutig.- line_weights · name · width
- Der Name, den die Listen zeigen, und die Breite in Millimetern, von 0,05 bis 2,11 (der Bereich von AutoCAD). Die DXF-Datei schreibt die nächstliegende AutoCAD-Linienstärke.
- line_types · id
custom-, gefolgt von Buchstaben, Ziffern,_oder-; eindeutig.- line_types · name
- Der Name des Linientyps in der DXF-Datei: eindeutig ohne Beachtung der Groß- und Kleinschreibung, ohne Leerzeichen am Rand, höchstens 255 Bytes, ohne ein Zeichen, das eine DXF-Tabelle ablehnt (< > / \ " : ; ? * | , = und die Anführungszeichen), und kein Name, den DXF oder Occlusia selbst verwenden: Continuous, ByLayer, ByBlock, der Name eines Standardtyps, NONE.
- line_types · pattern
- Die Striche, in Millimetern auf dem gedruckten Blatt, wie AutoCAD sie schreibt: Eine positive Länge ist ein Strich, eine negative eine Lücke, 0 ein Punkt, höchstens zwölf.
[3, -1.5]ist ein Strich von 3 mm und eine Lücke von 1,5 mm.
Objekte
objects_settings enthält einen Eintrag je Objektname, Gruppen eingeschlossen. Jedes Objekt wird mit seinem eigenen Eintrag gezeichnet: Die Oberfläche schreibt eine Änderung an einer Gruppe in den Eintrag jedes Objekts darin, und eine von Hand geschriebene Datei tut dasselbe. Jeder Schlüssel ist optional. Facing brick aus dem Demomodell:
"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"
}Linien. Die Schlüssel cut_ gestalten den Umriss, wo die Darstellung das Objekt schneidet, die Schlüssel surf_ seine Kanten, die hinter der Ebene sichtbar sind.
- cut_line_weight · surf_line_weight
- Standardmäßig
stroke-thinundstroke-hairline. - cut_line_type · surf_line_type
- Standardmäßig
solid;nonezeichnet keine Linie. - cut_line_type_scale · surf_line_type_scale
- Ein Faktor auf die Strichlängen des Typs: standardmäßig 1.
- cut_line_color · surf_line_color
- Standardmäßig
#000000. - cut_line_transparency · surf_line_transparency
- 0 bis 100: standardmäßig 0.
- …_bylayer
- Neben jeder Farbe, Stärke und jedem Typ der Linien, Muster und des Symbols:
true, der Standardwert, lässt die DXF-Datei den Wert des Layers übernehmen. SVG und PDF zeichnen immer den des Objekts.
Füllungen. Die Schlüssel cut_pattern_ füllen die geschnittenen Flächen, die Schlüssel surf_pattern_ die Flächen, die hinter der Ebene sichtbar sind.
- template · surface_template
- Die Vorgabe der Schnittfüllung und der Flächenfüllung:
none(Standard),custom– die Werte unten, an keine Vorgabe gebunden – oder dieideiner Vorgabe. - fill_pattern · surface_hatch
- Die Schnittfüllung und die Flächenfüllung: standardmäßig
none,hatch_solidoder ein Muster (siehe Mustervorgaben). - cut_pattern_color · surf_pattern_color
- Die Farbe der Schraffurlinien oder der Vollfüllung:
#000000. - cut_pattern_bg_color · surf_pattern_bg_color
- Eine Vollfarbe hinter der Schraffur oder
none(Standard). - cut_pattern_line_weight · surf_pattern_line_weight
- Die Stärke der Schraffurlinien:
stroke-hairline. - cut_pattern_scale · surf_pattern_scale
- Größenfaktor: 1.
- cut_pattern_angle · surf_pattern_angle
- Drehung in Grad, gegen den Uhrzeigersinn: 0.
- cut_pattern_transparency · surf_pattern_transparency
- 0 bis 100: 0.
Symbol, Layer und Darstellung.
- symbol
none(Standard),crossoderinsulation– sonst nichts: Ein anderes Wort führt zur Ablehnung der Datei.- symbol_line_weight · symbol_line_type · symbol_line_color · symbol_line_transparency
- Die Linien des Symbols:
stroke-hairline,solid,#000000, 0. - cut_layer_id · surf_layer_id · hatch_layer_id · cut_symbol_layer_id
- Die DXF-Layer der Schnittlinien, der Ansichtslinien, der Schraffuren und des Symbols: die
ideines Layers, standardmäßiglayer_0. - draw_order
- Höher wird darüber gezeichnet: standardmäßig 0.
- export_block · block_name · block_layer_id
- Exportiert das Objekt und seinen Inhalt als einen Block (
false), seinen Namen – leer: der des Objekts – und den Layer seiner Einfügung (layer_0). - exclude_from_shadows
- No Shadows: wirft keinen und empfängt keinen (
false). - wireframe
- Nur durch seine Linien gezeichnet (
false). - hidden
- In jeder Darstellung:
trueausgeblendet,falseangezeigt. Ohne diesen Schlüssel erscheint das Objekt so, wie das Modell es zeigt.
Darstellungen
sections_settings enthält einen Eintrag je Name einer Darstellung: ihre Marke, die in den anderen Darstellungen gezeichnet wird, die Sichtbarkeitsentscheidungen in dieser Darstellung, ihre Schatten und ihre PDF-Seite.
"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
trueblendet die Marke der Darstellung in allen anderen Darstellungen aus.- marker_style
default(eine Scheibe mit Symbol und Namen),closed_arrowoderopen_arrow.- marker_color · marker_number_color · marker_name_color
- Die Köpfe, das Symbol und der Name: standardmäßig
#0000FF. - section_line_type · section_line_color
- Die Schnittlinie: standardmäßig
dash-dotund#000000. - marker_endpoints
both(Standard),start,endodernone.- marker_show_number · marker_show_name
- Symbol und Namen zeichnen:
true. - marker_size_mode · marker_scale
autopasst die Marke der Zeichnung an;manualbehält die Größemarker_scale(1).- marker_number_font_family · marker_number_font_size
- Die Schrift des Symbols (
Arial) und sein Größenfaktor (1). Dieselben Schlüssel mitnamegestalten den Namen. - marker_layer_id
- Der DXF-Layer der Marke:
layer_0. - object_visibility
- Die eigenen Entscheidungen dieser Darstellung, nach Objektnamen:
truehier angezeigt,falsehier ausgeblendet. Sie haben Vorrang vor demhiddender Objekte. - spot_elevations
- Dasselbe für Höhenkoten, nach Namen.
- shadow
enabled(false),sun_mode(manual),azimuthin Grad im Uhrzeigersinn ab Norden (135),altitude(45),interiors(true),pattern–defaultoder dieideiner Vorgabe – undlayer_id.formatvonA4bisA0(A4),orientationauto,portraitoderlandscape(auto),scale_modefitodercustomim Maßstab 1:scale_denominator(fit, 50),margins_mm(10) undcenter, der Modellpunkt in der Blattmitte, sobald die Zeichnung auf dem Blatt verschoben wurde.
Beschriftungen
annotations_settings enthält einen Eintrag je Name einer Beschriftung – der Name, den das Modell ihr gibt (OCCTAG#Name), nicht der Text, den sie schreibt.
"Wall build-up": {
"font_family": "Arial",
"font_size": 4.2,
"font_style": "regular",
"background": "drawing",
"layer_id": "layer_1761134400"
}- hidden
trueblendet die Beschriftung in jeder Darstellung aus.- font_family · font_size · font_style
Arial; die Höhe eines Großbuchstabens in Zeichnungseinheiten (12);regular,bold,italicoderbold-italic.- color · color_bylayer · transparency
#000000,true, 0.- multiline · max_width
- Den Text bei einer Breite in Zeichnungseinheiten umbrechen:
false, 0. - show_leader
- Die Führungslinie zeichnen, wenn das Modell der Beschriftung eine gibt:
true. - background · background_color
none(Standard),solid– ein Kasten inbackground_color,#FFFFFF– oderdrawing, der eigene Hintergrund der Zeichnung.- layer_id
- Der DXF-Layer der Beschriftung:
layer_0.
Höhenkoten
spot_elevations_settings enthält einen Eintrag je Name einer Höhenkote (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
trueblendet sie in jeder Darstellung aus; die Entscheidungspot_elevationseiner Darstellung hat Vorrang.- marker_style · marker_side
triangle(Standard),triangle_half,triangle_openodertarget; die Texte rechts,right(Standard), oder links,left.- marker_color · marker_line_weight
- Die Füllung der Marke (
#000000) und die eine Stärke ihrer Linien (stroke-hairline). - size_mode · scale
autoodermanualmitscale, von 0,05 bis 50 (1).- show_line · line_type · line_weight · line_color · line_length
- Die Höhenlinie: aus (
false),dashed,stroke-hairline,#000000, 20 Zeichnungseinheiten lang – 0 zeichnet keine. - show_value · value_display
- Die Höhe schreiben (
true):relative, die eigene Höhe im Modell (+2.90), oderabsolute, diese Höhe plusoffset_mausspot_elevation_datum, gefolgt von dessenlabel. - show_name
- Die Bezeichnung schreiben:
true. - value_font_family · value_font_size · value_font_style
- Der Text der Höhe:
Arial, 12,bold. - name_font_family · name_font_size · name_font_style
- Der Text der Bezeichnung:
Arial, 12,regular. - value_color · name_color
#000000.- marker_color_bylayer · line_color_bylayer · value_color_bylayer · name_color_bylayer
- Eine ByLayer-Entscheidung je Farbe:
true. - layer_id
- Der DXF-Layer:
layer_0.
Eine Konfiguration mit einer KI schreiben
Eine KI kann eine Konfiguration schreiben – einen Bürostandard, übernommene Stile einer anderen Software, eine Variante einer bestehenden Datei –, sobald sie die Regeln oben und die Namen in Ihrem Modell kennt.
- 01
Geben Sie ihr das Format
Diese Seite und das JSON Schema oben: jeder Schlüssel, sein Typ, sein Standardwert und seine Regeln.
- 02
Geben Sie ihr Ihre Namen
Die Namen Ihrer Objekte, Darstellungen, Beschriftungen und Höhenkoten genau so, wie der Modellbrowser sie zeigt – oder eine aus dem Modell exportierte Konfiguration.
- 03
Fragen Sie nach dem, was abweicht
Die Schlüssel, die von den Standardwerten abweichen, die Layer und Vorgaben, die sie verwenden, und kein Eintrag für einen Namen, den das Modell nicht hat.
- 04
Importieren und die Antwort lesen
Import › Configuration (.occc). Eine Datei, die eine Regel verletzt, ändert nichts, und der Dialog nennt jedes Problem mit seinem Code: Geben Sie die Liste an die KI zurück. ⌘Z (Ctrl+Z) nimmt einen Import zurück.
Fehler
Eine abgelehnte Datei öffnet Cannot import this configuration. – Cannot open this project. bei einem Projekt, Your default configuration was not loaded. bei der Standardkonfiguration. Die Details nennen jedes Problem: den Code, den Eintrag und den Grund. Ein Code ändert nie seine Bedeutung.
- OC001
- Die Datei ist keine Konfiguration: Ihr Inhalt ist kein JSON-Objekt oder kein lesbares JSON.
- OC100
project_layersist keine Liste.- OC101
- Ein Layer ist kein Objekt.
- OC102
- Ein Layer hat keine
idoder eine leere. - OC103
- Zwei Layer haben dieselbe
id. - OC104
- Ein Layer hat keinen
nameoder einen leeren. - OC105
- Zwei Layer haben denselben Namen, ohne Beachtung der Groß- und Kleinschreibung: In einer DXF-Datei wären sie ein Layer.
- OC106
- Der Name eines Layers hat Leerzeichen am Rand.
- OC107
- Ein Eintrag beansprucht den Standardlayer
0, über die idlayer_0oder den Namen0. Entfernen Sie ihn: Der Standardlayer wird nie geschrieben. - OC200
- Das
symboleines Objekts ist nichtnone,crossoderinsulation. - OC300
hatch_presetsist keine Liste.- OC301
- Eine Vorgabe ist kein Objekt.
- OC302
- Eine Vorgabe hat keine
idoder eine leere. - OC303
- Zwei Vorgaben haben dieselbe
id. - OC304
- Eine Vorgabe trägt die id
noneodercustom, die Occlusia gehören. - OC400
line_weightsist keine Liste.- OC401
- Eine Linienstärke ist kein Objekt.
- OC402
- Die
ideiner Linienstärke fehlt oder ist nichtstroke-custom-, gefolgt von Buchstaben, Ziffern,_oder-. - OC403
- Zwei Linienstärken haben dieselbe
id. - OC500
line_typesist keine Liste.- OC501
- Ein Linientyp ist kein Objekt.
- OC502
- Die
ideines Linientyps fehlt oder ist nichtcustom-, gefolgt von Buchstaben, Ziffern,_oder-. - OC503
- Zwei Linientypen haben dieselbe
id. - OC504
- Ein Linientyp hat keinen
nameoder einen leeren. - OC505
- Zwei Linientypen haben denselben Namen, ohne Beachtung der Groß- und Kleinschreibung.
- OC506
- Der Name eines Linientyps hat Leerzeichen am Rand.
- OC507
- Ein Linientyp trägt einen Namen, den DXF oder Occlusia selbst verwenden: Continuous, ByLayer, ByBlock, den Namen eines Standardtyps, NONE.
- OC508
- Der Name eines Linientyps enthält ein Zeichen, das eine DXF-Tabelle ablehnt, oder ist länger als 255 Bytes.