第8页
第4排
我使用IFC编写器成功地编写了一个IFC文件。然而,我需要添加一些尚不受FME支持的元素(ifczone和ifcpresentationlayerassignment)。后者很容易做到,如果您从IFC文件中获取相关ID。
然而,对于第一个,我需要添加一个ifcglobaluniqueid。这不是常规的GUID,但是某种编码的UUID,参见文档在这里。
现在,FME已经写了那些ifcglobaluniqueid的,我不是一个开发人员。所以我希望有人能帮我传递一点python代码,或者safe可以创建一个类似ifcglobaluniqueidcreator的custum转换器?亚搏在线欢迎使用任何其他解决方案,当然也不欢迎!
在这种情况下,它是关于ifc2x3或更高。
顺祝商祺!拉尔斯
一个ifc全局ID只是一个被base64编码的uuid,修改如下:
-结尾没有填充字符。当base64编码时,uuid总是有两个填充字符,所以它们必须被移除
-base64编码对第62和63个字符使用非标准字符:“替换”/他说:“这是一个很好的选择。”
使用python很容易做到这一点:
import base64import uuiddef processfeature(feature):id=base64.b64encode(uuid.uuid4().bytes,b“$”)。解码(“utf-8”)[:-2]feature.setattribute(“global_id”,id)
?2019安全亚搏在线软件公司|法律