Json Import コンポーネント
このコンポーネントは、特定のスキーマに従ったJSONファイルを読み込みます。
スキーマファイルはこちらからダウンロード、またはURLとして直接参照できます。
データ構造(JSONスキーマ)
以下が要求されるJSONの構造です。
json
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://makebuildingpro.com/schema/v2.0",
"title": "MakeBuilding Pro Data Schema",
"description": "Schema for verifying MakeBuilding Pro architectural data structure.",
"type": "object",
"required": [
"version",
"metadata",
"global",
"grids",
"levels",
"catalog",
"layout_column",
"layout_mainbeam",
"layout_secondarybeam",
"layout_wall",
"layout_slab",
"layout_cantileverbeam",
"layout_cantileverslab",
"layout_brace",
"structural_plan"
],
"properties": {
"$schema": {
"type": "string",
"format": "uri"
},
"version": {
"type": "string",
"default": "1.0"
},
"metadata": {
"type": "object",
"properties": {
"createdAt": { "type": "string", "format": "date-time" },
"modifiedAt": { "type": "string", "format": "date-time" },
"application": { "type": "string" },
"applicationVersion": { "type": "string" }
}
},
"global": {
"type": "object",
"required": ["unitSystem"],
"properties": {
"origin_X": { "type": "number", "default": 0 },
"origin_Y": { "type": "number", "default": 0 },
"unitSystem": {
"type": "string",
"enum": ["metric", "imperial"],
"default": "metric"
}
}
},
"grids": {
"type": "array",
"items": {
"type": "object",
"required": ["axis", "label", "distance"],
"properties": {
"axis": { "type": "string", "enum": ["X", "Y"] },
"label": { "type": "string" },
"distance": { "type": "number" }
}
}
},
"levels": {
"type": "array",
"items": {
"type": "object",
"required": ["name", "distance"],
"properties": {
"name": { "type": "string" },
"label": { "type": "string" },
"distance": { "type": "number" }
}
}
},
"catalog": {
"type": "array",
"items": {
"type": "object",
"required": ["type_ID", "category", "width", "depth"],
"properties": {
"type_ID": { "type": "string" },
"category": {
"type": "string",
"enum": ["Column", "Beam", "Wall", "Slab", "Brace"]
},
"shape_Type": { "type": "string", "default": "Rect" },
"width": { "type": "number" },
"depth": { "type": "number" },
"material": { "type": "string" },
"revit_Family": { "type": "string" }
}
}
},
"layout_column": {
"type": "array",
"items": {
"type": "object",
"required": ["floor", "grid_Intersection", "type_ID"],
"properties": {
"floor": { "type": "string" },
"grid_Intersection": { "type": "string", "description": "Format: X#-Y#" },
"type_ID": { "type": "string" },
"rotation": { "type": "number" },
"offset_X": { "type": "number" },
"offset_Y": { "type": "number" },
"offset_Base": { "type": "number" },
"offset_Top": { "type": "number" },
"is_Void": { "type": "boolean" }
}
}
},
"layout_mainbeam": {
"type": "array",
"items": {
"type": "object",
"required": ["floor", "start_Grid", "end_Grid", "type_ID"],
"properties": {
"floor": { "type": "string" },
"start_Grid": { "type": "string" },
"end_Grid": { "type": "string" },
"type_ID": { "type": "string" },
"offset_Start_X": { "type": "number" },
"offset_Start_Y": { "type": "number" },
"offset_Start_Z": { "type": "number" },
"offset_End_X": { "type": "number" },
"offset_End_Y": { "type": "number" },
"offset_End_Z": { "type": "number" },
"is_Void": { "type": "boolean" }
}
}
},
"layout_secondarybeam": {
"type": "array",
"items": {
"type": "object",
"required": ["floor", "area_Code", "direction", "division", "type_ID"],
"properties": {
"floor": { "type": "string" },
"area_Code": { "type": "string" },
"type_ID": { "type": "string" },
"direction": { "type": "string", "enum": ["X", "Y"] },
"division": { "type": "integer", "minimum": 1 },
"offset_Start_Z": { "type": "number" },
"offset_End_Z": { "type": "number" },
"is_Void": { "type": "boolean" }
}
}
},
"layout_wall": {
"type": "array",
"items": {
"type": "object",
"required": ["floor", "start_Grid", "end_Grid", "type_ID"],
"properties": {
"floor": { "type": "string" },
"start_Grid": { "type": "string" },
"end_Grid": { "type": "string" },
"type_ID": { "type": "string" },
"width": { "type": "number" },
"is_Void": { "type": "boolean" }
}
}
},
"layout_slab": {
"type": "array",
"items": {
"type": "object",
"required": ["floor", "area_Code", "type_ID"],
"properties": {
"floor": { "type": "string" },
"area_Code": { "type": "string" },
"type_ID": { "type": "string" },
"offset_Z": { "type": "number" },
"is_Void": { "type": "boolean" }
}
}
},
"layout_cantileverbeam": {
"type": "array",
"items": {
"type": "object",
"required": ["floor", "base_Grid", "direction", "length", "type_ID"],
"properties": {
"floor": { "type": "string" },
"type": { "type": "string", "enum": ["Beam", "BeamNose"] },
"base_Grid": { "type": "string" },
"direction": { "type": "string", "enum": ["X+", "X-", "Y+", "Y-"] },
"length": { "type": "number" },
"type_ID": { "type": "string" },
"is_Void": { "type": "boolean" }
}
}
},
"layout_cantileverslab": {
"type": "array",
"items": {
"type": "object"
}
},
"layout_brace": {
"type": "array",
"items": {
"type": "object",
"required": ["floor", "start_Grid", "end_Grid", "type_ID", "type"],
"properties": {
"floor": { "type": "string" },
"start_Grid": { "type": "string" },
"end_Grid": { "type": "string" },
"type_ID": { "type": "string" },
"type": { "type": "string", "enum": ["Single", "Double"] },
"offset_Start_X": { "type": "number" },
"offset_Start_Y": { "type": "number" },
"offset_Start_Z": { "type": "number" },
"offset_End_X": { "type": "number" },
"offset_End_Y": { "type": "number" },
"offset_End_Z": { "type": "number" },
"is_Void": { "type": "boolean" }
}
}
},
"structural_plan": {
"type": "object",
"description": "Settings for 2D drawing generation.",
"required": [
"text_Height_Grid",
"text_Height_Member",
"text_Offset_Beam",
"line_Weight_Grid",
"line_Weight_Column",
"line_Weight_Beam",
"line_Weight_Brace",
"line_Weight_Slab",
"dimension_Text_Height",
"dimension_Arrow_Size",
"dimension_Extension",
"dimension_Offset",
"brace_Line_Offset",
"grid_Extension_Start",
"grid_Extension_End",
"grid_Balloon_Offset_Base",
"dimension_Gap_Y1",
"dimension_Gap_Y2",
"dimension_Gap_X1",
"dimension_Gap_X2",
"dimension_Base_Offset_Y",
"dimension_Base_Offset_X",
"label_Offset_Column"
],
"properties": {
"text_Height_Grid": { "type": "number" },
"text_Height_Member": { "type": "number" },
"text_Offset_Beam": { "type": "number" },
"line_Weight_Grid": { "type": "number" },
"line_Weight_Column": { "type": "number" },
"line_Weight_Beam": { "type": "number" },
"line_Weight_Brace": { "type": "number" },
"line_Weight_Slab": { "type": "number" },
"dimension_Text_Height": { "type": "number" },
"dimension_Arrow_Size": { "type": "number" },
"dimension_Extension": { "type": "number" },
"dimension_Offset": { "type": "number" },
"brace_Line_Offset": { "type": "number" },
"grid_Extension_Start": { "type": "number" },
"grid_Extension_End": { "type": "number" },
"grid_Balloon_Offset_Base": { "type": "number" },
"dimension_Gap_Y1": { "type": "number" },
"dimension_Gap_Y2": { "type": "number" },
"dimension_Gap_X1": { "type": "number" },
"dimension_Gap_X2": { "type": "number" },
"dimension_Base_Offset_Y": { "type": "number" },
"dimension_Base_Offset_X": { "type": "number" },
"label_Offset_Column": { "type": "number" }
},
"additionalProperties": false
}
}
}