参考
配置文件,逐个键说明
配置(.occc)是一个 JSON 文件:包含项目的图层、预设和线条样式,以及它为模型的对象、视图、注释和标高所做的每项设置。本页介绍其结构、每个键及其默认值、文件必须遵守的规则以及导致文件被拒绝的错误——用于阅读配置,或手写、用脚本或借助 AI 编写配置。
配置包含什么
配置包含项目的设置,但不含模型:一个 UTF-8 编码的 JSON 对象。Export › Configuration (.occc) 写出它,Import › Configuration (.occc) 读回它;项目(.occp)在模型旁边携带同一个对象,您的默认配置也是一个配置。
- 设置按名称保存:对象的设置位于其名称之下(与模型浏览器显示的名称一致),并作用于所有视图中该名称的每个对象。视图、注释和标高同样按名称保存。
- 配置只写明与默认值不同之处:省略的键取下文为其列出的默认值。
- 图层、图案预设以及项目自己的线宽和线型都在列表中定义一次,各项设置通过它们的
id引用它们。
结构
文件是一个对象。Occlusia 按以下顺序写出各键,每个列表和每组设置都包含在内,即使为空:
{
"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
- 写入文件的程序:
Occlusia、其版本和构建号。仅供参考:从不读取。 - snapshot_plugin_version
- 采集这些设置所针对模型的程序。仅供参考。
- created_at · saved_at
- 文档的创建时间和本文件的写入时间,格式为
YYYY-MM-DD HH:MM:SS,本地时间。仅供参考。 - project_layers
- 项目的 DXF 图层:一个列表。见“图层”。
- hatch_presets
- 图案预设:一个列表。见“图案预设”。
- line_weights · line_types
- 项目自己的线宽和线型,位于标准样式之外:两个列表。见“线宽和线型”。
- objects_settings
- 对象的设置,按对象名称。见“对象”。
- sections_settings
- 视图的设置,按视图名称。见“视图”。
- annotations_settings
- 注释的设置,按注释名称。见“注释”。
- spot_elevations_settings
- 标高的设置,按名称。见“标高”。
- spot_elevation_datum
- 模型原点在项目参照系中的高程:
offset_m(米)和label(写在绝对值之后,如NGF、TAW)。默认为 0 和空。
文件必须遵守的规则
配置是由 Occlusia 写出的文件。在别处写出或编辑的文件——手写、脚本或 AI——会在打开时被检查,只要违反一条规则就会被整体拒绝:不会只应用一半,当前设置保持不变,对话框会列出每个问题及其代码(见“错误”)。
- ID 是严格的。 四个列表中的每个条目都需要一个
id,在其列表中唯一。图层和线型的名称也必须唯一(不区分大小写):DXF 通过名称识别图层和线型。 - 剖切符号是一个封闭的词。 对象的
symbol为none、cross或insulation;任何其他词都会导致文件被拒绝。 - 其他所有值都是自由的。 省略的键取其默认值,
null视为省略,类型错误的值按默认值读取,Occlusia 不认识的键会原样保留并写回。 - 引用会回退。 指向文件中未定义的图层的设置会绘制在图层
0上;指向缺失的预设或线条样式的设置取该设置的默认值。 - 名称必须完全一致。 只有当设置的键正是对象的名称(与模型浏览器显示的一致,包括大小写和空格)时,设置才会作用于该对象。模型中不存在的名称的设置会被保留,但不会被使用。
图层
project_layers 列出项目自己的图层。默认图层 0 属于 Occlusia:它始终存在,从不写出,任何条目都不得占用它,无论是通过其 id layer_0 还是名称 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
- 必填。文本,在列表中唯一:即每个
…_layer_id所指向的值。Occlusia 写作layer_加一个数字。 - name
- 必填。图层在 DXF 中的名称:不能为空,两侧不能有空格,不区分大小写时唯一,绝不能为
0。 - description
- 自由文本。默认为空。
- color
#RRGGBB。默认为#FFFFFF。- line_weight
default,或以百分之一毫米为单位的线宽:25表示 0.25 mm。默认为default。- line_type
- 默认为
solid,也可以是其他线型(见“线宽和线型”)。 - transparency
- 0 到 100 %。默认为 0。
- active · frozen · locked · plot
- 打开、冻结、锁定、打印:默认分别为
true、false、false和true。
图案预设
hatch_presets 列出项目的预设;none 和 custom 属于 Occlusia,从不写出。使用预设的对象会写明它——剖切填充用 template,表面填充用 surface_template——并保留一份预设值的副本。
{
"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
- 必填。文本,唯一,绝不能为
none或custom。Occlusia 将名称写为小写,空格写作_:concrete_block。 - label
- 列表中显示的名称。
- fill_pattern
none、hatch_solid,或一种图案:即它在 Fill Type 列表中的名称,小写并加前缀hatch_,连字符写作_——ANSI31 为hatch_ansi31,AR-CONC 为hatch_ar_conc。- color · color_bylayer
- 填充图案线条或实心填充的颜色(
#000000),以及 DXF 是否改用图层的颜色(true)。 - bg
- 填充图案后方的纯色,或
none(默认)。 - line_weight
- 填充图案线条的线宽:默认为
stroke-hairline。 - scale · angle · transparency
- 大小系数(1)、逆时针旋转角度(0)、透明度 0 到 100(0)。
线宽和线型
凡是需要线宽或线型的设置,都可以指定一个标准样式或项目自己的样式。标准线宽为 stroke-hairline(0.13 mm)、stroke-thin(0.25)、stroke-medium(0.35)、stroke-bold(0.50)、stroke-heavy(0.70)和 stroke-ultra(1.00);标准线型为 solid、dashed、dotted、dash-dot 和 long_dash。对象的线条还可以取 none:完全不画线。
"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-后接字母、数字、_或-;唯一。- line_weights · name · width
- 列表中显示的名称,以及以毫米为单位的宽度,范围 0.05 到 2.11(AutoCAD 的范围)。DXF 写入最接近的 AutoCAD 线宽。
- line_types · id
custom-后接字母、数字、_或-;唯一。- line_types · name
- 线型在 DXF 中的名称:不区分大小写时唯一,两侧不能有空格,最多 255 字节,不能含有 DXF 表拒绝的字符(< > / \ " : ; ? * | , = 以及引号),也不能是 DXF 或 Occlusia 保留的名称:Continuous、ByLayer、ByBlock、标准线型的名称、NONE。
- line_types · pattern
- 虚线的组成,以打印图纸上的毫米为单位,写法与 AutoCAD 相同:正值为线段,负值为间隔,0 为点,最多十二个。
[3, -1.5]表示 3 mm 的线段和 1.5 mm 的间隔。
对象
objects_settings 为每个对象名称(包括组的名称)保存一个条目。每个对象都用自己的条目绘制:界面会把对组所做的更改写入组内每个对象的条目,手写的文件也应如此。所有键都是可选的。演示模型的 Facing brick:
"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"
}线条。 cut_ 开头的键设置视图剖切对象处的轮廓,surf_ 开头的键设置剖切面后方可见的边线。
- cut_line_weight · surf_line_weight
- 默认分别为
stroke-thin和stroke-hairline。 - cut_line_type · surf_line_type
- 默认为
solid;none不画线。 - cut_line_type_scale · surf_line_type_scale
- 线型虚线长度的缩放系数:默认为 1。
- cut_line_color · surf_line_color
- 默认为
#000000。 - cut_line_transparency · surf_line_transparency
- 0 到 100:默认为 0。
- …_bylayer
- 位于线条、图案和符号的每个颜色、线宽和线型旁边:
true(默认值)让 DXF 采用图层的值。SVG 和 PDF 始终使用对象自己的值。
填充。 cut_pattern_ 开头的键填充剖切面,surf_pattern_ 开头的键填充剖切面后方可见的表面。
- template · surface_template
- 剖切填充和表面填充的预设:
none(默认)、custom(下列值,不绑定任何预设),或某个预设的id。 - fill_pattern · surface_hatch
- 剖切填充和表面填充:默认为
none,也可以是hatch_solid或某种图案(见“图案预设”)。 - cut_pattern_color · surf_pattern_color
- 填充图案线条或实心填充的颜色:
#000000。 - cut_pattern_bg_color · surf_pattern_bg_color
- 填充图案后方的纯色,或
none(默认)。 - cut_pattern_line_weight · surf_pattern_line_weight
- 填充图案线条的线宽:
stroke-hairline。 - cut_pattern_scale · surf_pattern_scale
- 大小系数:1。
- cut_pattern_angle · surf_pattern_angle
- 旋转角度,逆时针:0。
- cut_pattern_transparency · surf_pattern_transparency
- 0 到 100:0。
符号、图层和渲染。
- symbol
none(默认)、cross或insulation——仅此而已:其他词会导致文件被拒绝。- symbol_line_weight · symbol_line_type · symbol_line_color · symbol_line_transparency
- 符号的线条:
stroke-hairline、solid、#000000、0。 - cut_layer_id · surf_layer_id · hatch_layer_id · cut_symbol_layer_id
- 剖切线、表面线、填充图案和符号所在的 DXF 图层:某个图层的
id,默认为layer_0。 - draw_order
- 值越大,绘制得越靠上:默认为 0。
- export_block · block_name · block_layer_id
- 将对象及其包含的内容导出为一个块(
false)、块的名称(为空时用对象名称),以及其插入所在的图层(layer_0)。 - exclude_from_shadows
- No Shadows:既不投射也不接收阴影(
false)。 - wireframe
- 只用线条绘制(
false)。 - hidden
- 在所有视图中:
true隐藏,false显示。省略时,对象按模型中的状态显示。
视图
sections_settings 为每个视图名称保存一个条目:其标记(绘制在其他视图中)、在此视图中所做的可见性选择、其阴影和 PDF 页面。
"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在所有其他视图中隐藏该视图的标记。- marker_style
default(带符号和名称的圆盘)、closed_arrow或open_arrow。- marker_color · marker_number_color · marker_name_color
- 标记头、符号和名称:默认为
#0000FF。 - section_line_type · section_line_color
- 剖切线:默认为
dash-dot和#000000。 - marker_endpoints
both(默认)、start、end或none。- marker_show_number · marker_show_name
- 绘制符号和名称:
true。 - marker_size_mode · marker_scale
auto让标记适应图纸;manual保持marker_scale指定的大小(1)。- marker_number_font_family · marker_number_font_size
- 符号的字体(
Arial)和大小系数(1)。把键中的 number 换成name即可设置名称。 - marker_layer_id
- 标记的 DXF 图层:
layer_0。 - object_visibility
- 此视图自己的选择,按对象名称:
true表示在此显示,false表示在此隐藏。它们优先于对象的hidden。 - spot_elevations
- 标高同理,按名称。
- shadow
enabled(false)、sun_mode(manual)、azimuth(从北顺时针的角度,135)、altitude(45)、interiors(true)、pattern(default或某个预设的id)以及layer_id。format从A4到A0(A4),orientation为auto、portrait或landscape(auto),scale_mode为fit或custom(比例 1:scale_denominator;默认fit、50),margins_mm(10),以及center:图纸在纸上移动后,位于纸张中心的模型点。
注释
annotations_settings 为每个注释名称保存一个条目——即模型赋予注释的名称(OCCTAG#Name),而不是它写出的文字。
"Wall build-up": {
"font_family": "Arial",
"font_size": 4.2,
"font_style": "regular",
"background": "drawing",
"layer_id": "layer_1761134400"
}- hidden
true在所有视图中隐藏该注释。- font_family · font_size · font_style
Arial;大写字母的高度,以图纸单位计(12);regular、bold、italic或bold-italic。- color · color_bylayer · transparency
#000000、true、0。- multiline · max_width
- 按图纸单位的宽度自动换行:
false、0。 - show_leader
- 当模型为注释提供引线时绘制引线:
true。 - background · background_color
none(默认)、solid(以background_color填充的框,#FFFFFF)或drawing(图纸自己的背景)。- layer_id
- 注释的 DXF 图层:
layer_0。
标高
spot_elevations_settings 为每个标高名称(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在所有视图中隐藏它;视图的spot_elevations选择优先。- marker_style · marker_side
triangle(默认)、triangle_half、triangle_open或target;文字位于右侧right(默认)或左侧left。- marker_color · marker_line_weight
- 标记的填充(
#000000)及其所有线条共用的线宽(stroke-hairline)。 - size_mode · scale
auto,或manual按scale缩放,范围 0.05 到 50(1)。- show_line · line_type · line_weight · line_color · line_length
- 标高线:关闭(
false)、dashed、stroke-hairline、#000000、长 20 个图纸单位——0 表示不画。 - show_value · value_display
- 写出高程(
true):relative为模型自身的高度(+2.90),absolute为该高度加上spot_elevation_datum的offset_m,后接其label。 - show_name
- 写出标签:
true。 - value_font_family · value_font_size · value_font_style
- 高程文字:
Arial、12、bold。 - name_font_family · name_font_size · name_font_style
- 标签文字:
Arial、12、regular。 - value_color · name_color
#000000。- marker_color_bylayer · line_color_bylayer · value_color_bylayer · name_color_bylayer
- 每种颜色各自的 ByLayer 选择:
true。 - layer_id
- DXF 图层:
layer_0。
借助 AI 编写配置
只要 AI 了解上述规则和您模型中的名称,它就能编写配置——事务所的制图标准、从其他软件迁移过来的样式,或现有文件的变体。
- 01
提供格式
本页和上方的 JSON Schema:每个键、其类型、默认值和规则。
- 02
提供您的名称
您的对象、视图、注释和标高的名称,与模型浏览器显示的完全一致——或者从该模型导出的配置。
- 03
只要求与默认值不同的部分
与默认值不同的键、它们使用的图层和预设,并且不为模型中不存在的名称写条目。
- 04
导入并查看结果
Import › Configuration (.occc)。违反规则的文件不会改变任何内容,对话框会列出每个问题及其代码:把这份列表交还给 AI。⌘Z(Ctrl+Z)可以撤销一次导入。
错误
被拒绝的文件会弹出 Cannot import this configuration.——项目则为 Cannot open this project.,默认配置则为 Your default configuration was not loaded.。其详细信息列出每个问题:代码、条目和原因。代码的含义永不改变。
- OC001
- 该文件不是配置:其内容不是 JSON 对象,或不是可读取的 JSON。
- OC100
project_layers不是列表。- OC101
- 某个图层不是对象。
- OC102
- 某个图层没有
id,或其为空。 - OC103
- 两个图层使用了同一个
id。 - OC104
- 某个图层没有
name,或其为空。 - OC105
- 两个图层名称相同(不区分大小写):在 DXF 中它们会合并为一个图层。
- OC106
- 某个图层的名称两侧有空格。
- OC107
- 某个条目占用了默认图层
0,通过 idlayer_0或名称0。请删除它:默认图层从不写出。 - OC200
- 某个对象的
symbol不是none、cross或insulation。 - OC300
hatch_presets不是列表。- OC301
- 某个预设不是对象。
- OC302
- 某个预设没有
id,或其为空。 - OC303
- 两个预设使用了同一个
id。 - OC304
- 某个预设使用了属于 Occlusia 的 id
none或custom。 - OC400
line_weights不是列表。- OC401
- 某个线宽不是对象。
- OC402
- 某个线宽的
id缺失,或不是stroke-custom-后接字母、数字、_或-。 - OC403
- 两个线宽使用了同一个
id。 - OC500
line_types不是列表。- OC501
- 某个线型不是对象。
- OC502
- 某个线型的
id缺失,或不是custom-后接字母、数字、_或-。 - OC503
- 两个线型使用了同一个
id。 - OC504
- 某个线型没有
name,或其为空。 - OC505
- 两个线型名称相同(不区分大小写)。
- OC506
- 某个线型的名称两侧有空格。
- OC507
- 某个线型使用了 DXF 或 Occlusia 保留的名称:Continuous、ByLayer、ByBlock、标准线型的名称、NONE。
- OC508
- 某个线型的名称含有 DXF 表拒绝的字符,或超过 255 字节。