计算和计算图形能力不断改进和发展。从曾经的科幻小说,如现在视频游戏中常见的逼真实时渲染,到低成本的虚拟现实(VR),现在都已司空见惯。随着人们在个人生活中体验到这些技术,人们对商业或机构环境中使用的计算机仿真技术也有了更高的要求和期望,希望其内容和用户体验也能达到类似的视觉效果。这些功能有助于提高这些工具的接受度和实用性。本案例研究提出了一种方法以及工具和技术,用于从可用于计算机仿真的传统二维(2D)平面图计算机辅助绘图(CAD)数据中自动开发大型校园环境的三维(3D)模型,并减少所需的资源。
美国国立卫生研究院(NIH)是一家支持基础生物医学研究的联邦机构,其研究服务办公室(ORS)、质量管理办公室(OQM)已经实施了多个计算机仿真模型,这些模型支持加强应急规划,并提高 ORS 向 NIH 社区提供服务的成本效益。这些工作旨在整合成一个整体的校园运营决策支持(CODS)模型,该模型将提供一个灵活的平台,用于了解和测试在虚拟环境中提供服务的改进情况。
除分析组件外,该模型还采用了高度可视化的 NIH 校园表示法。这增强了模拟的实用性,因为 "在执行过程中显示模型动态行为的图形图像可使用户通过视觉发现错误"(Bijl,Boer,2011 年)。美国国立卫生研究院园区占地 310 英亩,由 90 多座建筑组成。园区内的建筑从拥有 242 张床位、320 万平方英尺的临床中心综合楼,到建于 20 世纪 30 年代的第一批 NIH 建筑,不一而足。园区包括约 9000 个停车位,分布在地面停车场和多层建筑中。
在计算机模拟环境中创建这个 "虚拟世界 "需要耗费大量的资源和员工时间。要成为一名高效的三维建模师,所需的技能与成为一名高效的仿真建模师所需的技能大相径庭。通常情况下,拥有大量设施库存的机构(如美国国立卫生研究院)会保留传统的二维平面 CAD 图纸,用于规划和空间管理。CAD 数据可能在不同程度上与标准和最佳实践不符,这可能会妨碍将其有效转换为 3D 模型。
在开发 CODS 模型的过程中,OQM 发现需要开发校园道路、停车场和行人流通网络、员工和访客进入校园的通道以及建筑物外部(包括适当的入口和出口)的三维表示。此外,CODS 模型的部分内容还要求对校园建筑的内部进行可视化,尽量少地描述内墙和门,以及居住者如何在整个物理空间内进行流通。为了应对这些挑战,OQM 开发了各种工具、技术和工作流程方法,以便在 3D 计算机模拟中利用这些 2D CAD 资产。
遗憾的是,将二维 CAD 数据转换为三维数据并随后用于仿真模型的 "方法 "并非放之四海而皆准。具体到二维 CAD,"CAD 布局只有在其构造遵循特定领域的惯例时才适合生成模型;这些惯例可以是 CAD 用户和仿真模型构造者之间的协议(Lorenz,Schulze,1995 年)。随着时间的推移,各组织已经积累了大量的 CAD 资产,在开发和更新这些资产时,并不总是将是否符合标准纳入需求中。
此外,将二维平面图转化为三维可视化或虚拟第一人称演练,与利用 CAD 图纸中的数据和信息在仿真中用作决策工具,两者之间应有所区别。要从模拟平面布局中获得决策价值,不仅需要可视化,还需要有某种方法来访问和利用可视化中描述的项目的基础位置数据和空间关系。
在 Simio 中创建室内 3D 空间模型的一般方法包括 3 个主要步骤。首先,将室内空间的总体布局(包括房间和门)创建为三维模型。第二步是绘制整个建筑内的人员流动路径。最后,将这些几何图形导入仿真软件(在我们的案例中为 Simio),以便在计算机仿真中使用。从每栋建筑的平面 CAD 图纸开始,使用 Autodesk AutoCAD 开发 DATAEXTRACTION,将房间注释和各自的坐标位置导出到电子表格文件中。需要注意的是,有些校园建筑有 19 层,每层有 400 个房间。该文件经过清理,按 "楼层 "分类,并以逗号分隔格式标准化。开发了一个 Trimble SketchUp 定制扩展(步骤 1),用于将这些信息导入 SketchUp 3D 图纸。
然后将楼层平面视图导入 SketchUp 并适当调整方向。在所提供的图纸中,门并不是标准化的 CAD 对象,因此还定制开发了另一个 SketchUp 扩展(步骤 2),以识别各种标准化的门对象并将其放入 SketchUp 模型中。接下来,使用各种 SketchUp 工具、技术和插件将平面视图转换为简洁的 "剖面图"。除了标准 Sketchup 产品外,还使用了 Trimble Extension Warehouse 工具,其中包括由 Thomas Thomassen 开发的 CleanUp、Edge Tools、Selection Toys 和 Architect Tools。这一练习的目的是用 SketchUp "面 "填充 CAD 墙体几何图形内部的空间,并创建代表墙体几何图形的实体二维多边形。到目前为止,这一步是最耗时的,但通过使用这些技术,可以在 2-3 个小时内创建一个相对较大的平面视图(例如 400 个房间,200,000 平方英尺)。然后对二维多边形进行挤压,以创建三维室内几何图形的基本表示。
此外,还在 SketchUp 中绘制了贯穿大楼主要走廊的基本流通网络。还开发了一系列 SketchUp 扩展程序,以自动将这些主要路径 "连接 "到整个建筑的门和房间(步骤 3-7)。
最后,使用自定义 SketchUp 扩展(第 8 步)将这些几何图形导出到电子表格文件中,其中包括对象定义、名称和位置;对于生成的链接,还包括起点和终点对象以及顶点。然后使用 LOGIO 提供的插件将这些数据导入 Simio 模型。
类似的过程步骤和工作流程也用于开发整个校园的视图。整个校园的 CAD 图纸被用作建筑轮廓的基础。每栋建筑的体量都是根据这些轮廓大致估算出来的,并根据实际观察添加了相对较小的细节,以传达校园环境的感觉。校园和周边的道路网络以及部分步行网络是通过 NIH 总体规划文件和通过 Overpass Turbo 查询 OpenStreetMap 数据获得的。
使用这些方法,项目团队能够实现制作一个三维模型的目标,该模型能够提供足够的细节,用于可视化和模拟 NIH 校园设施内的人员流动,以及校园环境中的人员和交通流动。工作流程方法和 SketchUp API 脚本利用了二维布局中的有限数据,省去了许多耗时的重复步骤,从而避免了单独开发模型特征的麻烦。对于 320 万平方英尺、18 层楼高的美国国立卫生研究院临床中心建筑群建模而言,这节省了数百个小时的时间。使用 OpenStreetMap 数据创建的校园道路网只需几分钟,而且不容易出错,相比之下,手动重新追踪航拍图像则需要数天时间。
在项目实施过程中,我们发现 SketchUp 的几何图形也可以用于许多游戏引擎应用中,包括物理、碰撞检测、玩家控制的头像和非玩家对象。虽然这些技术是专门为 Simio 模型开发的,但其中许多技术可以更广泛和通用地应用。例如,SketchUp ruby 脚本或其变体可以按照 Trimble 扩展仓库标准编写,并提供给所有 Sketchup 用户。
有兴趣寻求合作或授权使用这些技术的私营机构应联系作者,可通过美国国立卫生研究院内部研究办公室(Office of Intramural Research)的技术转让办公室(Office of Technology Transfer)安排适当的协议。
OQM 团队衷心感谢为本项目提供支持的 NIH 和 ORS/ORF 领导层及众多员工。