问题标签 [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.
axis - 如何找到 AxisPlacement 的 IFC 转换..?
我正在尝试将 Ifc 文件转换为 Step 文件格式。对于步骤文件,我需要 ifc 转换。
从 IfcClosedShell,我得到了面部点,但我需要从 IfcAxisPlacement3D 转换这些点(笛卡尔点,参考方向,轴方向。)
将面点转移到原始位置的矩阵。
java - 用于在 Java 中读取 IFC 文件的开源 API
有人可以向我推荐一个用于读取 IFC 文件的开源 API (SDK) 吗?我需要访问文件内容。
c# - 将不带空格的字符串中的每个字符更改为小写,除了第一个字母
我有字符串,我从如下文档中读取这些字符串:
我的目标是创建一个名为相同的类的新实体。因此我需要这个字符串来匹配类名。但是,类名(我无法更改)如下所示:
有什么方法可以更改该输入字符串,使其与大小写的类名匹配?
不幸的是,.ToTitle 不适用于我的目的,因为我的输入字符串中没有空格。但是,我确实有一个文本文件,其中包含所有可能的类名(~800)。所以我可能会写一个方法,检查匹配名称的文本文件并相应地更改我的输入字符串。恐怕这将花费很长时间并且效率很低。编辑:文本文件每行包含一个类名。
任何人都有一个可能更优雅和更快的想法?
c# - 在 .Net 中创建 Civil 3D 对齐会引发“对齐 ID 无效”错误
我正在为 Civil 3D 开发一个 IFC(工业基础类)导入/导出插件,我将在本月晚些时候作为开源发布)。导出功能已经完全正常。但是,我仍然不太了解如何使用 .NET 在 Civil 3D 中创建对象。我的加载项是用 C# 编写的。
我尝试了以下方法,这是 Autodesk 的官方示例:
但是,每当我尝试运行我的代码时,都会收到以下错误消息:“无效的对齐 ID”。. 我的代码如下所示:
我还尝试用null或ObjectID.Null替换为 Alignment 提供站点的“”,两者都不起作用,并且用ObjectID.Null替换它甚至会阻止我编译。
任何人都知道该错误来自哪里?
model - 如何根据每层导出高层的IFC文件
我在 Revit 中有一个 100 层的高层建筑的 3D 模型。我想根据每一层分开这个文件。我的意思是,我希望这个 3D 模型的每个级别都有 100 个 Revit 文件(或 IFC 文件)。什么是最好的解决方案?谢谢。
c# - Geometry Gym C# - 如何使用新组件修改现有 IFC 文件?
我的要求是使用GeometryGym读取现有的 IFC 文件并向其中添加新对象。所以我写了一个C#代码如下,
这适用于IFC4 版本。但不适用于IFC2x3 版本。可能是什么问题 ?
autodesk-forge - Autodesk Forge:查找 IFC 材料名称
我正在使用伪造查看器并想显示材料列表。目前我正在使用渲染代理材质(renderProxy.material.tag)的“标签”字段查找材质名称。这适用于大多数格式,但我注意到它是 IFC 导入的空字符串。我还尝试在从 viewer.model.getProperties(dbId, ...) 返回的属性中查找材料名称,但这也显示了一个空字符串。还有其他地方我应该看看吗?
ifc - 如何将 IFC 文件转换为室内 GML?
我有带有 LOD2 的 IFC 格式的 3D 建筑模型。
我正在尝试使用 FME 桌面将该模型转换为室内 GML 格式,它导出的是空 XML。
请如果有模板与我分享以及想法或建议也......
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?
编辑:对于任何有同样问题的人,这是我现在的解决方案:
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?