zoukankan      html  css  js  c++  java
  • Revit二次开发之十八 Revit图形元素

    在模型轻量化或者其他应用中,需要获取Revit里面元素的图形信息,Revit的三维显示,也是多种图形描述元素组成,在Element元素之下,有一个重要的属性Geometry,其通过get_Geometry函数获取,将会返回一个GeometryElement对象,这个对象是一个图形集合,其可能包含下图中所有图形元素的一种,根据继承关系,可以知道Revit中图形元素扩展方式如下图:

    1. GeometryElement

    这个是比较核心的元素,Element通过get_Geometry函数,能够获取的元素就是这个元素,这个对象,本身是不包含图形的,包含图形是它的GetEnumerator枚举类型,其枚举类型是包含以上可能的所有元素,包括GeometryElement

    1. GeometryInstance

    主要是族元素获取其图形元素,Revit使用geometryinstances存储给定族的几何图形的单个副本,并在多个实例中重复使用该副本,并非所有族实例都包含geometryinstance。当Revit需要为给定实例制作族几何图形的唯一副本时(由于本地连接、交点和与实例放置相关的其他因素的影响),将不会遇到geometry instance;相反,将在层次的顶层找到实体几何图形。GeometryInstance提供通过GetSymbolGeometry()和GetInstanceGeometry()方法读取其几何图形的功能。这些方法返回另一个Autodesk.Revit.DB.GeometryElement。

    1. Curve图形

    各种线段在revit中应用比较多,比如模型分析线、标准线、机电里面的导线,很多都是以Line、Arc、NurbSpline和多边形的方式表达。

    1. Edge、solid、face等

    对于一些Solid来说,它是有2个核心元素组成Edge和face,而Edge主要是Curve组成,而对于所有的Face,则是由多个MESH组成。MESH是图形的最基础元素,组成了所有的空间三维对象。

    1. Polyline

    多边形元素,在REVIT一些房间等多边形元素,都是基于这个对象。

  • 相关阅读:
    当你输入一个网址的时候,实际会发生什么?
    HTTP响应报文与工作原理详解
    DNS系统的解析原理
    spark-streaming集成Kafka处理实时数据
    python分布式环境下的限流器
    使用spark与MySQL进行数据交互的方法
    Linux Redis集群搭建与集群客户端实现
    commons-pool与commons-pool2连接池(Hadoop连接池)
    Kazoo Python Zookeeper 选主
    SpringMVC拦截器Interceptor
  • 原文地址:https://www.cnblogs.com/minhost/p/12129502.html
Copyright © 2011-2022 走看看