问题标签 [ifc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
346 浏览

axis - 如何找到 AxisPlacement 的 IFC 转换..?

我正在尝试将 Ifc 文件转换为 Step 文件格式。对于步骤文件,我需要 ifc 转换。

从 IfcClosedShell,我得到了面部点,但我需要从 IfcAxisPlacement3D 转换这些点(笛卡尔点,参考方向,轴方向。

将面点转移到原始位置的矩阵。

0 投票
1 回答
1831 浏览

java - 用于在 Java 中读取 IFC 文件的开源 API

有人可以向我推荐一个用于读取 IFC 文件的开源 API (SDK) 吗?我需要访问文件内容。

0 投票
1 回答
106 浏览

c# - 将不带空格的字符串中的每个字符更改为小写,除了第一个字母

我有字符串,我从如下文档中读取这些字符串:

我的目标是创建一个名为相同的类的新实体。因此我需要这个字符串来匹配类名。但是,类名(我无法更改)如下所示:

有什么方法可以更改该输入字符串,使其与大小写的类名匹配?

不幸的是,.ToTitle 不适用于我的目的,因为我的输入字符串中没有空格。但是,我确实有一个文本文件,其中包含所有可能的类名(~800)。所以我可能会写一个方法,检查匹配名称的文本文件并相应地更改我的输入字符串。恐怕这将花费很长时间并且效率很低。编辑:文本文件每行包含一个类名。

任何人都有一个可能更优雅和更快的想法?

0 投票
2 回答
960 浏览

c# - 在 .Net 中创建 Civil 3D 对齐会引发“对齐 ID 无效”错误

我正在为 Civil 3D 开发一个 IFC(工业基础类)导入/导出插件,我将在本月晚些时候作为开源发布)。导出功能已经完全正常。但是,我仍然不太了解如何使用 .NET 在 Civil 3D 中创建对象。我的加载项是用 C# 编写的。

我尝试了以下方法,这是 Autodesk 的官方示例:

来源:https ://knowledge.autodesk.com/support/autocad-civil-3d/learn-explore/caas/CloudHelp/cloudhelp/2017/ENU/Civil3D-DevGuide/files/GUID-F620DF41-7DF3-450F-8C2A- A92DEB1F9E9E-htm.html

但是,每当我尝试运行我的代码时,都会收到以下错误消息:“无效的对齐 ID”。. 我的代码如下所示:

我还尝试用nullObjectID.Null替换为 Alignment 提供站点的“”,两者都不起作用,并且用ObjectID.Null替换它甚至会阻止我编译。

任何人都知道该错误来自哪里?

0 投票
1 回答
81 浏览

model - 如何根据每层导出高层的IFC文件

我在 Revit 中有一个 100 层的高层建筑的 3D 模型。我想根据每一层分开这个文件。我的意思是,我希望这个 3D 模型的每个级别都有 100 个 Revit 文件(或 IFC 文件)。什么是最好的解决方案?谢谢。

0 投票
1 回答
554 浏览

c# - Geometry Gym C# - 如何使用新组件修改现有 IFC 文件?

我的要求是使用GeometryGym读取现有的 IFC 文件并向其中添加新对象。所以我写了一个C#代码如下,

这适用于IFC4 版本。但不适用于IFC2x3 版本。可能是什么问题 ?

0 投票
0 回答
219 浏览

autodesk-forge - Autodesk Forge:查找 IFC 材料名称

我正在使用伪造查看器并想显示材料列表。目前我正在使用渲染代理材质(renderProxy.material.tag)的“标签”字段查找材质名称。这适用于大多数格式,但我注意到它是 IFC 导入的空字符串。我还尝试在从 viewer.model.getProperties(dbId, ...) 返回的属性中查找材料名称,但这也显示了一个空字符串。还有其他地方我应该看看吗?

0 投票
1 回答
230 浏览

ifc - 如何将 IFC 文件转换为室内 GML?

我有带有 LOD2 的 IFC 格式的 3D 建筑模型。

我正在尝试使用 FME 桌面将该模型转换为室内 GML 格式,它导出的是空 XML。

请如果有模板与我分享以及想法或建议也......

0 投票
1 回答
1164 浏览

ruby - 如何使用 Ruby 中的自定义字符集将 UUID 转换为字符串?

我想根据这里的规范创建一个有效的 IFC GUID (IfcGloballyUniqueId): http ://www.buildingsmart-tech.org/ifc/IFC2x3/TC1/html/ifcutilityresource/lexical/ifcgloballyuniqueid.htm

它基本上是一个映射到一组 22 个字符的 UUID 或 GUID(128 位),以限制文本文件中的存储空间。

我目前有这个解决方法,但这只是一个近似值:

似乎最好使用 ruby​​ SecureRandom 来生成 128 位 UUID,就像在这个例子中一样(https://ruby-doc.org/stdlib-2.3.0/libdoc/securerandom/rdoc/SecureRandom.html):

这个 UUID 需要按照这个格式映射成一个长度为 22 个字符的字符串:

我不完全明白这一点。32字符长的十六进制数是否应该转换为128字符长的二进制数,然后分为22组6位(除了获得剩余2位的一组?),每个都可以转换为十进制数从 0 到 64?那么哪个又可以被转换表中的相应字符替换?

我希望有人可以验证我是否在正确的轨道上。

如果我是,在 Ruby 中是否有比使用所有这些单独的转换更快的计算方法来将 128 位数字转换为 22 组 0-64?


编辑:对于任何有同样问题的人,这是我现在的解决方案:

0 投票
1 回答
575 浏览

ruby - ruby base64 通过以 2 位字符开头来编码 128 位数字,以防止在末尾填充

这个问题是我之前的问题的后续:如何使用 Ruby 中的自定义字符集将 UUID 转换为字符串? 但我会尝试将其表述为一个单独的具体问题。

我确实有一个 Ruby 128 位 UUID 作为十六进制值:

如果我正确获得了 IFC 规范(http://www.buildingsmart-tech.org/ifc/IFC2x3/TC1/html/ifcutilityresource/lexical/ifcgloballyuniqueid.htm),我想对它进行 Base64 编码,而不是在最后,我希望输出以 2 位字符(4 个选项)开始,而不是 6 位(64 个选项需要)。

这样我想我可以得到一个 22 个字符的字符串(1 个 2 位,21 个 6 位,总共 128 位)。

是否可以以这种方式调整 Ruby base64?