惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Jina AI
Jina AI
云风的 BLOG
云风的 BLOG
人人都是产品经理
人人都是产品经理
T
The Blog of Author Tim Ferriss
阮一峰的网络日志
阮一峰的网络日志
罗磊的独立博客
J
Java Code Geeks
博客园 - 聂微东
B
Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
WordPress大学
WordPress大学
腾讯CDC
L
LangChain Blog
Apple Machine Learning Research
Apple Machine Learning Research
Microsoft Azure Blog
Microsoft Azure Blog
D
DataBreaches.Net
The GitHub Blog
The GitHub Blog
美团技术团队
博客园 - Franky
Google DeepMind News
Google DeepMind News
V
V2EX
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
月光博客
月光博客
The Cloudflare Blog

博客园 - Albert_MIN

在 ASP.NET Core 中创建中间件的五种方式 在 ASP.NET Core MVC 中,接收数据的几种方式 Content-Type 对应不同的前端数据结构与构造方式 Revit二次开发 钢筋生成API(二) Revit二次开发 钢筋生成API(一) revit二次开发 钢筋布置方式 revit二次开发之 钢筋功能详细分析 revit 二次开发之收集器、过滤器和选择器 Revit Server的注意要配置说明 WCF文件配置服务 WCF服务的各种绑定 Revit二次开发之 对象的隐藏与显示 Revit二次开发之 GeometryObject分析 Revit二次开发之 Material 分析 Revit二次开发之 PolymeshTopology Revit 二次开发之 图纸的导出 JavaScript 困惑之 ArrayBuffer JS 困惑之this的指向 Revit二次开发之 族的创建 Revit二次开发 钢筋生成 Revit二次开发之 尺寸标线(二) Revit二次开发之 尺寸标线
Revit开发之 IExportContext接口详细
Albert_MIN · 2023-07-05 · via 博客园 - Albert_MIN

如果要将Revit模型输出为特定的格式,则需要利用revit的数据导出接口,在revit的二次开发中,给我们提供IExportContext接口。当前接口可用户模型轻量化导出、自定义格式导出等。

编号 函数名称函数功能
1 Finish

在导出过程的最后,处理完所有的实体后调用此防范

2 IsCanceled

每个元素的开头,都会检测此方法,如果中止则中止导出

3 OnElementBegin

此方法标记要导出的元素的开始。

4 OnElementEnd

此方法标记要导出的元素的结束。

5 OnFaceBegin

此方法标记要导出的面的开始。

6 OnFaceEnd

此方法标记要导出的当前面的结束。

7 OnInstanceBegin

此方法标记要导出的族实例的开始。

8 OnInstanceEnd

此方法标记要导出的族实例的结束。

9 OnLight

此方法标记已启用渲染的灯光的导出开始。

10 OnLinkBegin

此方法标记要导出的链接实例的开始。

11 OnLinkEnd

此方法标记要导出的链接实例的结束。

12 OnMaterial

这种方法标志着材料的变化。

13 OnPolymesh

当输出三维面的镶嵌多边形网格时,会调用此方法。

14 OnRPC

此方法标记RPC对象导出的开始。

15 OnViewBegin

此方法标记要导出的三维视图的开始。

16 OnViewEnd

此方法标记要导出的三维视图的结束。

17 Start

 该方法在导出过程的一开始就被调用,仍然在发送模型的第一个实体之前。

需要理解以上导出的过程,需理解几个概念:

1、视图导出,代表要导出的当前视图对象信息,其包含两个导出顺序

RenderNodeAction OnViewBegin(ViewNode viewNode)

传入的是当前开始视图导出操作,ViewNode 包含当前的视图的一些基本信息和配置

void OnViewEnd(ElementId elementId)

传入视图的id,可以读取视图的一些基本信息

2、导出Element

RenderNodeAction OnElementBegin(ElementId elementId)

包含当前需要导出的元素和元素id

void OnElementEnd(ElementId elementId)

完成导出

这个方法是上面导出element的时候,如何是族实例对象则,会执行当前函数

RenderNodeAction OnInstanceBegin(InstanceNode instanceNode)

OnInstanceEnd(InstanceNode instanceNode_0)

无链接模型的情况:

有链接模型的情况:

在执行完主体模型后,则执行链接模型部分,流程如下所示:

 OnRPC:这个方法只在使用渲染管道IPhotoRenderContext时发挥作用,一般导出数据不用管

OnLight:这个似乎是导出灯光信息,一般也用不到,除非要导出revit中原生灯光信息。