首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BCF文件创建

BCF文件创建
EN

Stack Overflow用户
提问于 2017-02-14 15:30:09
回答 1查看 1.4K关注 0票数 1

我想使用Xbim创建一个BIM协作文件。由于缺乏编程经验,我在实现xbimBCF时遇到了困难。我想知道是否有什么示例可以帮助我实现xbimBCF?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-21 14:51:48

最好的开始就是看看像这样的测试。BFC是一个非常简单的模式。您可以找到关于官方buildingSMART网站的文档、示例和其他信息。

完整的工作示例:

代码语言:javascript
复制
using System;
using System.Collections.Generic;
using System.IO;
using Xbim.BCF;
using Xbim.BCF.XMLNodes;

namespace CreateBCF
{
    class Program
    {
        static void Main()
        {

            var bcf = new BCF {
                Project = new ProjectXMLFile {
                    Project = new BCFProject {
                        Name = "Sample Project",
                        ProjectId = "0HE7wY7irAE9b6u8RhVcUT"
                    }
                },
                Version = new VersionXMLFile("1.0"),
                Topics = new List<Topic> {
                    new Topic {
                        Markup = new MarkupXMLFile {
                            Header = new BCFHeader {
                                Files = new List<BCFFile> {
                                    new BCFFile {
                                        Date = DateTime.Now,
                                        Filename = "Sample.ifc",
                                        IfcProject = "0HE7wY7irAE9b6u8RhVcUT",
                                        IfcSpatialStructureElement = "3sYjbGNsP7hQb8RP1A$gnO"
                                    }
                                }
                            },
                            Comments = new List<BCFComment> {
                                new BCFComment(
                                    Guid.NewGuid(), 
                                    Guid.NewGuid(), 
                                    "open", 
                                    DateTime.Now, 
                                    "Blaseius Aichel", 
                                    "This needs to be replaced completely!") {
                                    Topic = new AttrIDNode(new Guid("9B981279-4B63-46A0-ABF0-432E27B5ADC0"))
                                }
                            },
                            Topic = new BCFTopic(new Guid("9B981279-4B63-46A0-ABF0-432E27B5ADC0"), "Sample Topic"),
                            Viewpoints = new List<BCFViewpoint> {
                                new BCFViewpoint(Guid.NewGuid()) { Snapshot = "snapshot01.png", Viewpoint = "Base Viewpoint"}
                            }
                        },
                        Snapshots = new List<KeyValuePair<string, byte[]>> {
                            new KeyValuePair<string, byte[]>( "snapshot01.png", File.ReadAllBytes("snapshot01.png"))
                        },
                        Visualization = new VisualizationXMLFile {

                        }
                    }
                }
            };

            using (var output = File.Create("sample.bcf"))
            {
                var data = bcf.Serialize();
                data.CopyTo(output);
                output.Close();
            }
        }
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42230059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档