这样的努力将是一项重大的事业。
Revit 已经开发了大约 18 年,ArchiCAD 于 1984 年左右开始开发。其他领先的 BIM 软件也出现了类似的时间长度。从头开始在这个市场上创建一个可行的竞争对手将非常困难。顺便说一句,SketchUp 已经存在了大约 12 年(我认为),尽管它越来越接近,但它并不是一个真正的完整 BIM 工具。
我不是程序员,所以我不知道需要什么库。使用游戏引擎可能对渲染和导航有很大帮助,但我不确定管理交互是否容易。
无论如何,工作的 UI/UX 部分是巨大的,这一切都将由你来完成。有许多工具可以开发所有这些都需要资产和工作流程。请记住,这些都是非常复杂的程序,只是为了学习使用。创建一个将要困难几个数量级。
首先,让自己找一些专家。您至少需要几个已经构建了多个 CAD 和 BIM 系统的开发人员。以及少数了解现代云开发的年轻热门​​开发人员。然后,您会想与 TechSoft3D、Kubotek、Open Design Alliance 和其他一些公司讨论许可他们的组件软件的问题。

不。忘记那个。取而代之的是,搁置一切,花时间去乔治亚理工学院或斯坦福大学学习 BIM 研究生课程。这样一来,在承担一个将耗资数千万美元并耗费您多年生命的项目之前,您将真正了解自己面临的挑战。
在我解决“如何”之前,有必要研究一下为什么你觉得你想这样做。
补充一下 Matthew 所说的,BIM 市场已经成熟,因为其中一家主要公司已经参与其中 30 年,并在建筑师的参与下发展起来。它在第 20 版上。
市场领导者由世界上最大和最赚钱的软件公司之一制作,拥有大量资源。
该行业还有两个主要参与者,如果包括 AllPlan,则三个,这在德国以外并不那么受欢迎。
SketchUp 有一个 BIM 插件,它可能是世界上最流行的 3D 软件,尤其适用于建筑师。
世界各地还有许多其他 BIM 应用程序,它们不像主要参与者那样受欢迎,但可以做一些很棒的事情。他们并不是特别成功,因为他们没有真正获得足够的市场牵引力,这很重要。他们现在还在继续,但并不兴旺,人们想知道他们能活多久。
BIM 软件可能是最复杂的。除了复杂的几何创建、编辑和操作之外,您还需要能够使其参数化并能够将数据附加到它以进行调度、制表和导出。您需要能够导入和导出多种格式,主要是 IFC 和 Trimble(另一家具有 BIM 经验的大公司)在最后两个版本中无法在 SketchUp 中正常工作。
是什么让你认为你可以做得更好?
您将需要一支由非常优秀、经验丰富的程序员组成的团队,他们不会便宜。您还需要建筑师和施工专家,因为 BIM 是基于对事物如何组合的理解。
您可能需要 3 年的风险投资资金,而要获得这些资金,您需要一份商业计划书,说明借钱给您的人如何、为什么以及何时将其取回。您需要证明为什么您的方法比其他人的方法更好,并且您需要跟踪记录来支持它。
这有点像组建一支才华横溢的业余足球(美国足球)球员团队,聘请一位优秀的教练,并希望赢得顶级全国锦标赛。实际上,即使您能够为此投入大量资金,也不会发生。
至于游戏引擎,即使在商业上使用免费的引擎也需要支付许可费,这将超出收回投资并为投资者和再投资带来利润的成本。它将处理 3d 方面,并且有利于处理 3D 中的大量信息,但您只会使用它可以做的一小部分。我怀疑您需要对引擎进行重大更改。
这只不过是一个“假设”情景。
其他答案已经很相关了。把他们的建议放在心上。这些人知道他们在说什么。
现在,假设您仍然想这样做,并且您拥有开始这一旅程的人员和知识:除了您需要的所有领域知识之外,还有一些很好的技术指导:
第一:平台和编程语言
BIM的3D建模软件主要是桌面的东西。您可能想要坚持使用 Windows 或跨平台。这确实会影响您的选择。
仅限 Windows > .NET 不是一个糟糕的选择。不是最终的 C++ 功能,但可能开发速度更快且更易于管理。大多数 CAD 和 BIM 系统都是 C++(或者甚至只是 C 用于重型部件)。如果预算有限,只需从 Visual Studio Community Edition 开始。
麦克也行? (请评估此选项 - 可能相关,也可能不相关)。使用 mono 框架并遵循微软将开放更多的 .NET 框架和收购 Xamarin 的做法,这可能仍然是 OSX 和 Linux 支持的一个选项。 Xamarin 入门是免费的,但您可能会遇到一些限制,并且可能需要获得商业许可。
苹果开发者环境是免费的。
要签署应用程序或安装程序或提交到 App Store,您需要付费的开发者帐户。
带有 Qt 或 WxWidgets 等框架的 C++ 可能是非常好的选择,因为它们已经为您解决了广泛的跨平台问题,并且它们可以通过开源许可证获得。
使用现有的游戏引擎,例如 Unity,可能是一种选择。好东西:交互式、图形、跨平台、脚本、视觉效果甚至(基本)GUI 都在那里,还有网络、声音(你需要吗?)和动画。
但其余的一切,你必须自己提供。
---
但是,即使找到了引擎和跨平台支持,您仍然需要自己提供建模和 BIM 内核。
根据您的喜好,您可能会使用基于多边形/网格的(类似于 SketchUp),或者您可能想一直使用完整的 CAD - NURBS - BRep。在所有情况下,建模内核都非常重要,并且会再次影响您的选择。
商业 CAD 内核,例如 ACIS、Parasolid、Solids++ 是有价格的(许可或版税计划),并不一定适用于每个平台。您需要 Android 和 iOS 支持吗?还是坚持使用 Windows,可能还有 Linux 或 OSX?
OpenCASCADE 是一个很好的开源替代方案,但可能非常繁重。
即便如此,这仍然是主要的数学几何部分。非常关键,但也不是 CAD 或 BIM 系统。

---
至于BIM部分:你可以去IFC尽可能近的地方,因为那时数据模型已经为你解决了。在这种情况下,使用 IFC Developer 框架是有意义的。
以下是一些开源库:
IfcOpenShell (C++ + OpenCASCADE + 一些包装器)
IfcJavaToolbox(或今天所谓的任何东西)(Java)
XBIM(.NET + 大量依赖项,例如 OpenCASCADE)
GeometryGym IFC .NET 库(有或没有 Rhino3DM 依赖项)
来自 CSTB 的 IFC-SDK(没有依赖项的 C++)
或商业工具包之一:
IfcEngine.dll(价格低廉,C++,非常有效——如果你在 Windows 上可以使用 DLL——C++ 库也是跨平台的 OSX 和 Linux)
EDM(我猜是 C++,ArchiCAD 和 Revit 正在使用它)
...
---
我是否忘记了您仍然需要添加所有自己的应用程序逻辑、界面、功能、图形?
这需要时间。
对于基本的 BIM 查看器,上述工具包中提供了开源示例。
使用这些作为起点。您可能会在几周/几个月内获得可用的东西
对于一个完整的 BIM 系统,假设几年...
祝你好运。
---
附言作为替代方案,从一些非常基本的东西开始:例如PythonOCC = OpenCASCADE 的 Python 包装器。开源,可以直接使用。使用它来原型化您需要支持的功能。稍后,您可能会在完整的应用程序中一路走下去。
首先,¿3D建模还是BIM? BIM软件是3D建模软件;但是3D建模软件不是BIM软件。我会坚持使用 BIM。
正如上一篇文章所述,这是一项巨大的努力。这将需要几位也知道如何开发软件(例如 Revit 应用程序)的 BIM 专家、熟练的开发人员、建筑专业人士、大量资金/资金、有很多插头的办公室、在主要 BIM 软件公司工作过的人,比如十年的时间、运气等等。
这只是为了尝试,要成功(例如在某些领域击败 Autodesk),这是不太可能的。
无论如何,这将是一项美丽的任务,即使需要十年时间,我也会接受一家公司的工作,而无需考虑一秒钟。
因此,根据您的背景,首先:
如果您是软件开发人员:开始学习建筑行业,然后使用 BIM 软件,然后在 BIM 软件开发公司找到工作……。
如果您是建筑师:学习基本编程,学习为 BIM 软件创建应用程序,然后在 BIM 软件开发公司找到一份工作……。
如果你不是这些东西......好吧..我不明白这种对如此具体的努力突然产生的兴趣。