openstudio mcp
](https://lobehub.com/mcp/natlabrockies-openstudio-mcp)
模型上下文协议(MCP) 服务器 开放工作室 建筑能源模拟。使LLM和MCP主机(Claude Desktop、Cursor、Claude Code等)能够创建、查询和修改OpenStudio模型,运行EnergyPlus模拟,并检查结果——所有这些都是通过自然语言完成的。
23项技能•142个工具•6个提示•4个资源•480+个集成测试
______________________________________________________________________
它能做什么?
让你的AI助手做以下事情:
- *“建造一座配备VAV再热系统的10区办公楼,并进行年度模拟”*
- *“什么是EUI?给我看看未满足的供暖时间。”*
- *“将暖通空调从VAV切换到VRF热泵,并比较能源使用情况”*
- *“添加R-30屋顶隔热材料,看看它如何影响冷却负荷”*
- *“根据平面图建造两个相邻的区域,与共享墙相匹配,增加40%的南部玻璃”*
- *“编写一个自定义度量值,将所有灯光设置为8 W/m2,测试、应用并比较EUI”*
- *“从我的本地措施目录中应用AEDG小型办公室措施”*
服务器处理MCP工具调用背后的所有OpenStudio/EnergyPlus复杂性。
______________________________________________________________________
快速开始
先决条件
步骤1:克隆和构建
git clone https://github.com/NatLabRockies/openstudio-mcp.git
cd openstudio-mcp
docker build -t openstudio-mcp:dev -f docker/Dockerfile .步骤2:配置Claude桌面
打开您的Claude Desktop配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%APPDATA%\Claude\claude_desktop_config.json
添加(或合并到) mcpServers 块:
{
"mcpServers": {
"openstudio-mcp": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-v", "./tests/assets:/inputs",
"-v", "./runs:/runs",
"-v", "./.claude/skills:/skills:ro",
"-e", "OPENSTUDIO_MCP_MODE=prod",
"openstudio-mcp:dev", "openstudio-mcp"
]
}
}
}./tests/assets:/inputs--安装附带的测试模型,以便您可以立即进行实验。替换为您自己的文件夹(例如。~/my-models:/inputs)当准备好。./runs:/runs--模拟输出写在这里./.claude/skills:/skills:ro--通过以下方式提供工作流程指南list_skills()/get_skill()工具- 重新启动克劳德桌面 保存配置文件后
步骤3:验证连接
打开克劳德桌面,寻找 锤图标 聊天输入区域中的(MCP工具指示器)。单击它以查看列出的openstudio mcp工具。如果图标没有出现,请检查Docker是否正在运行,配置JSON是否有效。
第四步:开始聊天
按复杂性顺序尝试以下提示:
简单: “创建一个示例模型并告诉我”
介质: “使用ASHRAE System 3创建一个基线办公室,并向我展示暖通空调组件”
高级: “在/inputs/MyBuilding.osm加载我的模型,应用90.1-2019典型建筑模板,并运行模拟”
AI读取您的提示,从142个可用工具中选择正确的工具,按顺序调用它们,并总结结果——不需要脚本。
使用自己的文件
将文件放置在 /inputs 安装 (映射到的主机文件夹 /inputs 在上面的配置中),而不是通过聊天界面上传它们。这确保了MCP工具可以直接访问它们。
# Example: analyzing an EnergyPlus error file
# 1. Copy to your inputs folder
cp eplusout.err ./tests/assets/
# 2. Reference by MCP path in your prompt
"Analyze the warnings in /inputs/eplusout.err and create a measure to fix them"为什么不上传? Claude Desktop中的文件上传会激活一个无法与MCP工具通信的分析沙盒。AI可以编写脚本来处理任务,而不是使用142个可用的专用MCP工具。将文件放入 /inputs 保持MCP工作流程中的所有内容。
对于模拟输出(结果、SQL、HTML报告),这些已经在 /runs 并且可自动访问所有MCP工具。
其他MCP主机
客户端兼容性
| 客户 | 状态 | 备注 |
|---|---|---|
| Claude Desktop | 完全支持 | 所有142个可用工具 |
| Claude Code | 完全支持 | ToolSearch自动延迟工具以实现高效发现 |
| VS代码副本 | 兼容 | 通过配置支持MCP |
| Windsurf | 兼容 | 低于100个工具限制 |
| Gemini CLI | 兼容 | 必要时使用includeTools/excludeTools |
| 游标 | 不兼容 | 40工具硬帽——改用Windsurf或Claude Code |
| OpenAI API | 兼容 | 使用defere_loading获得最佳结果 |
______________________________________________________________________
克劳德编程技能
使用openstudio mcp时 克劳德代码,12项捆绑技能提供工作流自动化和领域知识:
| 技能 | 类型 | 描述 |
|---|---|---|
/simulate | 工作流 | 一个命令模拟+结果提取 |
/energy-report | 工作流程 | 综合多类别能源报告 |
/qaqc | 任务 | 预仿真模型质量检查 |
/add-hvac | 任务 | 引导式暖通空调系统选择 |
/new-building | 工作流 | 从头开始创建完整模型 |
/retrofit | 工作流程 | ECM分析之前/之后 |
/view | 任务 | 快速三维模型可视化 |
/troubleshoot | 任务 | 诊断模拟失败和意外结果 |
measure-authoring | 知识 | 测量创建、SDK方法验证、布线模式(自动加载) |
ashrae-baseline-guide | 知识 | ASHRAE 90.1系统选择标准(自动加载) |
openstudio-patterns | 知识 | 工具依赖关系和模型关系(自动加载) |
tool-workflows | 知识 | 常用操作的多工具配方(自动加载) |
工作流/任务技能通过以下方式调用 /skill-name知识技能在相关时会自动加载。
适用于所有MCP客户端的工作流程指南
同样的工作流程指南也可用作MCP工具,因此任何MCP客户端(Claude Desktop、Cursor等)都可以发现它们:
list_skills()--查看带有描述的可用工作流get_skill(name)--获取特定工作流的分步说明
运行容器时挂载技能目录: -v ./.claude/skills:/skills:ro
______________________________________________________________________
技能和工具(共142个)
技能发现(2个工具)
| 工具 | 说明 |
|---|---|
list_skills | 列出可用的工作流程指南 |
get_skill | 获取工作流的分步说明 |
服务器信息(2个工具)
| 工具 | 说明 |
|---|---|
get_server_status | 服务器健康检查 |
get_versions | OpenStudio、EnergyPlus、Ruby版本 |
模型创建(5个工具)
创建建筑能源模型的主要工具。 create_new_building 是大多数工作流的推荐起点。
| 工具 | 说明 |
|---|---|
create_new_building | 端到端创建完整的建筑(几何图形+天气+典型模板) |
create_bar_building | 根据建筑类型、建筑面积和纵横比创建条形建筑几何图形 |
create_typical_building | 将构造、荷载、HVAC、SWH添加到具有几何图形的模型中 |
create_example_osm | 创建最小的单区域示例(测试/演示) |
create_baseline_osm | 使用ASHRAE系统1-10创建10个区域基线(测试/演示) |
模型管理(4个工具)
| 工具 | 说明 |
|---|---|
inspect_osm_summary | OSM文件的快速结构摘要 |
load_osm_model | 将OSM加载到内存中以进行查询/编辑 |
save_osm_model | 将内存模型保存到磁盘 |
list_files | 查找/输入和/运行中的文件(OSM、EPW、结果) |
建筑(2个工具)
通过以下方式列出建筑故事 list_model_objects("BuildingStory").
| 工具 | 说明 |
|---|---|
get_building_info | 建筑名称、面积、体积、朝向 |
get_model_summary | 按类别列出的对象计数 |
空格(6个工具)
| 工具 | 说明 |
|---|---|
list_spaces | 列出所有带面积/体积的空间 |
get_space_details | 详细的空间信息(曲面、荷载、分区) |
list_thermal_zones | 列出带空间的热区 |
get_thermal_zone_details | 区域设备、恒温器、倍增器 |
create_space | 使用可选的故事/空间类型创建空间 |
create_thermal_zone | 创建热区,指定空间 |
几何(9个工具)
| 工具 | 说明 |
|---|---|
list_surfaces | 列出表面(墙、地板、屋顶) |
get_surface_details | 曲面顶点、构造、边界 |
list_subsurfaces | 列出窗户、门、天窗 |
create_surface | 创建具有明确三维顶点的曲面 |
create_subsurface | 在父曲面上创建窗/门 |
create_space_from_floor_print | 将楼板多边形与所有曲面一起挤出到空间中 |
match_surfaces | 交叉+匹配相邻空间之间的共享墙 |
set_window_to_wall_ratio | 按玻璃比例添加中心窗(例如0.4=40%) |
import_floorspacejs | 从FloorSpaceJS JSON文件导入自定义几何图形 |
构造(5个工具)
通过以下方式列出建筑 list_model_objects("Construction"),施工设置通过 list_model_objects("DefaultConstructionSet").
| 工具 | 说明 |
|---|---|
list_materials | 列出具有热性能的材料 |
get_construction_details | 具有热性能的施工层 |
create_standard_opaque_material | 创建具有导电性/密度的材料 |
create_construction | 从材料创建分层结构 |
assign_construction_to_surface | 为曲面指定构造 |
时间表(2个工具)
通过以下方式列出时间表 list_model_objects("ScheduleRuleset").
| 工具 | 说明 |
|---|---|
get_schedule_details | 计划类型、值、规则 |
create_schedule_ruleset | 创建恒定计划(分数/温度/开/关) |
暖通空调(7个工具)
| 工具 | 说明 |
|---|---|
list_air_loops | 列出所服务区域的空气回路 |
get_air_loop_details | 空气回路组件、尺寸、OA系统 |
add_air_loop | 创建空气回路并连接区域 |
list_plant_loops | 列出工厂回路(加热、冷却、冷凝器) |
get_plant_loop_details | 工厂回路供应/需求组件 |
list_zone_hvac_equipment | 列出区域级暖通空调设备 |
get_zone_hvac_details | 区域设备详细信息 |
负载(6个工具)
通过以下方式加载列表 list_model_objects("People"), list_model_objects("Lights")等等。使用 get_object_fields 有关定义的详细信息。
| 工具 | 说明 |
|---|---|
get_load_details | 按名称获取任何负载的详细信息(类型调度器) |
create_people_definition | 创建人员负载(按面积或数量) |
create_lights_definition | 创建照明负载(按面积或瓦数) |
create_electric_equipment | 创建电气设备负载 |
create_gas_equipment | 创建燃气设备负载 |
create_infiltration | 创建渗透(按区域或ACH) |
空间类型(1个工具)
通过以下方式列出空间类型 list_model_objects("SpaceType").
| 工具 | 说明 |
|---|---|
get_space_type_details | 空间类型荷载、明细表、标准 |
模拟(8个工具)
| 工具 | 说明 |
|---|---|
validate_osw | 验证OSW工作流文件 |
run_osw | 从OSW文件运行EnergyPlus模拟 |
run_simulation | 仅从OSM+可选EPW运行模拟 |
get_run_status | 轮询模拟运行状态 |
get_run_logs | 尾部模拟日志 |
get_run_artifacts | 列出仿真输出文件 |
cancel_run | 取消运行模拟 |
validate_model | 模拟前检查:天气、设计天数、暖通空调、施工 |
结果(12个工具)
| 工具 | 说明 |
|---|---|
extract_summary_metrics | 从结果中提取EUI、能量、未满足的小时数 |
read_file | 按绝对路径读取任何文件(所有装载) |
copy_file | 将文件复制到主机装载路径 |
extract_end_use_breakdown | 按最终用途和燃料类型划分的能源明细(IP/SI) |
extract_envelope_summary | 不透明+开窗U值和面积 |
extract_hvac_sizing | 自动调整区域和系统暖通空调容量 |
extract_zone_summary | 每个区域的面积、条件、乘数 |
extract_component_sizing | 自动调整HVAC部件值(可过滤) |
query_timeseries | 带有日期/上限过滤器的时间序列输出变量数据 |
extract_simulation_errors | 将eplusout.err解析为致命/严重/警告列表 |
list_output_variables | 列出已完成模拟的可用输出变量 |
compare_runs | 比较两次运行:EUI增量,按燃料最终用途细分 |
模拟输出(2个工具)
| 工具 | 说明 |
|---|---|
add_output_variable | 添加EnergyPlus输出变量 |
add_output_meter | 添加EnergyPlus输出表 |
暖通空调系统(8个工具)
| 工具 | 说明 |
|---|---|
add_baseline_system | 添加ASHRAE 90.1基准系统(类型1-10) |
list_baseline_systems | 列出所有基线+现代模板类型 |
get_baseline_system_info | 获取特定系统类型的元数据 |
replace_air_terminals | 更换空气回路上的所有端子 |
replace_zone_terminal | 更换单个区域上的端子 |
add_doas_system | 添加带风机盘管、辐射或冷却梁的DOAS |
add_vrf_system | 增加VRF多区热泵系统 |
add_radiant_system | 增加低温辐射供暖/制冷 |
组件属性(10个工具)
通过以下方式列出暖通空调部件 list_model_objects("BoilerHotWater")循环细节工具等。
| 工具 | 说明 |
|---|---|
get_component_properties | 读取命名组件的所有属性 |
set_component_properties | 修改命名组件的属性 |
set_economizer_properties | 修改空气回路上的OA省煤器设置 |
set_sizing_properties | 修改工厂回路尺寸(出口温度,ΔT) |
set_sizing_system_properties | 设置空气回路尺寸系统属性(SAT、OA、流量方法) |
get_sizing_system_properties | 阅读空气回路的所有尺寸系统属性 |
set_sizing_zone_properties | 设置SizingZone属性(批量,支持区域列表) |
get_sizing_zone_properties | 阅读一个区域的所有SizingZone属性 |
get_setpoint_manager_properties | 读取SPM属性(支持7种类型) |
set_setpoint_manager_properties | 修改SPM属性(支持7种类型) |
循环操作(9个工具)
| 工具 | 说明 |
|---|---|
create_plant_loop | 使用泵、旁路和SPM创建工厂回路 |
add_supply_equipment | 将锅炉/冷却器/塔添加到工厂回路供应中 |
remove_supply_equipment | 从工厂回路电源中移除设备 |
add_demand_component | 在工厂回路需求侧添加线圈/加热器 |
remove_demand_component | 从工厂回路需求中删除组件 |
add_zone_equipment | 将底板/单元加热器添加到热区 |
remove_zone_equipment | 从热区移除设备 |
remove_all_zone_equipment | 从多个区域批量移除所有设备 |
set_zone_equipment_priority | 重新订购区域设备冷却/加热优先级 |
对象管理(5个工具)
| 工具 | 说明 |
|---|---|
delete_object | 删除任何命名对象(支持28种以上类型) |
rename_object | 重命名任何命名对象 |
list_model_objects | 列出任何类型的对象(CamelCase、IDD冒号或下划线格式) |
get_object_fields | 通过内省读取任何对象的所有属性——返回值+可用设置器 |
set_object_property | 通过官方setter在任何对象上写入任何属性——自动强制值类型 |
天气与模拟配置(7个工具)
| 工具 | 说明 |
|---|---|
list_weather_files | 列出可用的EPW文件及其配套的.stat/.ddy文件 |
get_weather_info | 读取天气文件信息(城市、纬度、经度、时区) |
add_design_day | 增加供暖/制冷设计日 |
get_simulation_control | 读取每小时的尺寸标志和时间步长 |
set_simulation_control | 修改大小标志和/或时间步长 |
get_run_period | 读取运行期开始/结束日期 |
set_run_period | 设置运行时段日期(自动启用天气文件运行) |
措施(2个工具)
| 工具 | 说明 |
|---|---|
list_measure_arguments | 列出带有默认值和选项的度量参数 |
apply_measure | 将OpenStudio度量应用于内存模型 |
测量创作(4个工具)
使用AI生成的代码创建自定义OpenStudio度量,对其进行测试,并将其应用于模型。看 示例1, 示例2,以及 示例19 (完整的E2E改装)。
| 工具 | 说明 |
|---|---|
list_custom_measures | 列出使用create_measure创建的所有自定义度量值 |
create_measure | 使用用户提供的代码创建自定义Ruby/Python ModelMeasure |
test_measure | 运行自定义度量值的测试(自动检测语言) |
edit_measure | 编辑现有自定义度量值的代码或参数 |
ComStock度量(1个工具)
| 工具 | 说明 |
|---|---|
list_comstock_measures | 列出带有类别过滤器的捆绑度量值(基线/升级/设置) |
API参考(2个工具)
| 工具 | 说明 |
|---|---|
search_api | 查找OpenStudio SDK类和setter/getter方法——在调用之前验证方法是否存在 |
search_wiring_patterns | 查找暖通空调组件的Ruby布线配方(24种模式:梁、DOAS、VRF、工厂回路等) |
工具路由器(1个工具)
| 工具 | 说明 |
|---|---|
recommend_tools | 给定任务描述,推荐相关工具组 |
常用措施(20种工具)
约79捆 openstudio常用措施gem 测量(报告、恒温器、信封、可再生能源、可视化、模型清理)。已预装在Docker镜像中。20个精选措施,21个专用包装工具。
| 工具 | 说明 |
|---|---|
list_common_measures | 列出带有类别过滤器的捆绑措施(报告/恒温器/信封/负载/可再生能源等) |
view_model | 生成模型几何体的交互式3D Three.js HTML查看器 |
view_simulation_data | 生成覆盖在曲面上的模拟数据的3D查看器 |
generate_results_report | 综合HTML报告(约25个部分:能源、暖通空调、信封、区域) |
run_qaqc_checks | ASHRAE基准QA/QC检查(效率、容量、包络、负载) |
adjust_thermostat_setpoints | 按度数偏移移动所有加热/冷却设定点 |
replace_window_constructions | 批量更换所有外窗结构 |
enable_ideal_air_loads | 在所有区域实现理想的空气负载(快速尺寸研究) |
clean_unused_objects | 删除孤立对象和未使用的资源 |
change_building_location | 设置天气文件+气候区+设计日 |
set_thermostat_schedules | 应用库中的恒温器时间表 |
replace_thermostat_schedules | 替换现有的恒温器时间表 |
shift_schedule_time | 按小时划分的轮班时间表 |
add_rooftop_pv | 添加屋顶光伏板 |
add_pv_to_shading | 按类型将PV添加到着色曲面 |
add_ev_load | 增加电动汽车充电负荷 |
add_zone_ventilation | 增加区域通风设计流量 |
set_lifecycle_cost_params | 设置生命周期成本分析参数 |
add_cost_per_floor_area | 将每层建筑面积的成本添加到建筑中 |
set_adiabatic_boundaries | 将外墙/地板设置为隔热 |
______________________________________________________________________
ASHRAE基准系统
通过以下方式支持所有10个ASHRAE 90.1附录G基线系统 add_baseline_system:
| 系统 | 类型 | 描述 |
|---|---|---|
| 01 | PTAC | 成套终端AC(区域级) |
| 02 | PTHP | 成套终端热泵(区域级) |
| 03 | PSZ-AC | 包装式单区屋顶空调 |
| 04 | PSZ-HP | 成套单区热泵 |
| 05 | 带再热器的成套VAV | 带热水再热盘管的VAV |
| 06 | 带PFP箱的成套VAV | 带并联风扇动力箱的VAV |
| 07 | 带再热的变风量系统 | 中央变风量系统,冷水机组+锅炉+冷却塔 |
| 08 | 带PFP箱的VAV | 带并联风扇供电终端的中央VAV |
| 09 | 燃气加热器 | 仅供暖(仓库、车库) |
| 10 | 电热器 | 仅加热,电动 |
加上3个现代模板: DOAS, 虚拟路由转发, 光辉.
______________________________________________________________________
支持的暖通空调组件类型
构件属性工具可以查询和修改这15种HVAC构件类型:
| 类别 | 组件 |
|---|---|
| 线圈 | 盘管加热气体,盘管加热电,盘管加热水,盘管冷却水,盘管单速,盘管冷却DX双速,盘管加热DX单速 |
| 植物 | 锅炉热水器、冷水机电气EIR、冷却塔单速 |
| 粉丝 | 风扇恒定音量、风扇可变音量、风扇开启关闭 |
| 泵 | 泵恒定速度、泵可变速度 |
______________________________________________________________________
例子
19个具有完整工具调用序列的工作示例--单击展开:
| # | 示例 | 说明 |
|---|---|---|
| 1 | 自定义度量:照明 | 写一个减少照明的措施,比较EUI前后 |
| 2 | 自定义测量:冷梁 | 编写复杂的暖通空调测量值,更换端子,比较能量 |
| 3 | 基线比较 | 比较ASHRAE系统3与系统7 EUI |
| 4 | 暖通空调设计探索 | DOAS+风机盘管,调整设定值,调整组件大小 |
| 5 | 信封改装 | 升级墙体保温,测量供暖影响 |
| 6 | 内部载荷 | 人员、照明、带时间表的插头负载 |
| 7 | 完整建筑模型 | 空间、分区、暖通空调、负荷、天气、模拟 |
| 8 | 从零开始的几何 | 地板印花挤压、表面匹配、玻璃 |
| 9 | 按朝向开窗 | 按方向窗墙比 |
| 10 | 典型建筑(ComStock) | 90.1-2019模板:结构、荷载、暖通空调 |
| 11 | 结果深潜 | 最终用途明细、信封、暖通空调尺寸、时间序列 |
| 12 | /simulate | 一个命令模拟+结果 |
| 13 | /energy-report | 综合多类别报告 |
| 14 | /qaqc | 预仿真模型质量检查 |
| 15 | /add-hvac | ASHRAE系统选择指南 |
| 16 | /new-building | 从头开始创建完整模型 |
| 17 | /retrofit | ECM分析之前/之后 |
| 18 | /view | 交互式三维模型可视化 |
| 19 | SystemD四管梁改造 | 端到端:加载44区模型、基线sim、作者测量、改装sim、比较 |
______________________________________________________________________
测试
有关完整的测试指南——框架详细信息、带注释的示例、CI分片以及如何编写新测试——请参阅 docs/testing/ (或 docs/testing/testing.md 对于贡献者指南)。
快速开始
# Unit tests (no Docker)
pytest tests/test_skill_registration.py -v
# Integration tests (Docker)
docker build -t openstudio-mcp:dev -f docker/Dockerfile .
docker run --rm -v "$PWD:/repo" -v "$PWD/runs:/runs" \
-e RUN_OPENSTUDIO_INTEGRATION=1 -e MCP_SERVER_CMD=openstudio-mcp \
openstudio-mcp:dev bash -lc 'cd /repo && pytest -vv -s tests/'______________________________________________________________________
开发模式与验证模式
| 模式 | 目的 | 行为 |
|---|---|---|
dev (默认) | 本地开发 | FastMCP横幅+INFO日志 |
prod | MCP主机使用情况 | 横幅已禁用,日志更安静 |
# Prod mode (recommended for MCP hosts)
docker run --rm -i -e OPENSTUDIO_MCP_MODE=prod openstudio-mcp:dev openstudio-mcp在 生产模式,stdout专门为MCP JSON-RPC消息保留。日志将转到stderr。
______________________________________________________________________
建筑
- 运输: stdio(由主机生成的容器)
- 协议: MCP(标准输入/标准输出上的JSON-RPC)
- 型号状态: 单内存模型
model_manager - 跑: 储存在
/runs// - 技能模式: 每一项技能
mcp_server/skills//随着tools.py(MCP注册)+operations.py(商业逻辑)
完整的系统图、安全分析和加固建议: docs/architecture.md
______________________________________________________________________
贡献
添加新的MCP技能
- 创建
mcp_server/skills//__init__.py,operations.py,tools.py operations.py--纯业务逻辑,返回{"ok": True/False, ...}词典tools.py--出口register(mcp),定义MCP工具模式- 在中添加测试
tests/test_.py - 在中添加CI步骤
.github/workflows/ci.yml - 技能通过自动注册
skills/__init__.py发现 - 更新
EXPECTED_TOOLS在tests/test_skill_registration.py - 更新中的工具计数
README.md和CLAUDE.md
添加新的Claude Code技能(工作流程指南)
- 创建
.claude/skills//SKILL.md使用YAML frontmatter:
---
name: my-skill
description: Short description for discovery
---- 在markdown正文中添加引用MCP工具名称的工作流说明
- 对于用户调用技能,请添加
user-invocable: true(或省略--默认) - 有关背景知识,请添加
user-invocable: false - 对于即发即弃工作流,添加
context: fork - 在中添加集成测试
tests/test_skill_.py执行工具顺序 - 在中向CI分片添加测试
.github/workflows/ci.yml - 在中添加示例文档
docs/examples/_.md - 更新README示例部分和Claude代码技能表
- 技能自动出现在
list_skills()/get_skill()通过/skills安装
添加新的暖通空调组件类型
- 添加
_get__props(obj)和_set__props(obj, properties)在components.py - 添加条目到
COMPONENT_TYPES字典 - 添加测试
tests/test_component_properties.py - 没有动态调度-每个OpenStudio API调用都必须是显式的和可编译的
______________________________________________________________________
许可证
看 许可证.
