在Revit中,如何编程创建新类型(如窗户或墙)

 

在我们的ADN中,有许多人都问这个问题。这里与大家分享下。

Revit的对象基本上都是基于类型的,把具有相同属性放在类型中保存,不熟悉类型这个概念的请看看帮助,我就不再多啰嗦了 :)。在Revit中创建对象用Autodesk.Revit.Creation.Document 和 Autodesk.Revit.Creation.Application类中的New***()方法来创建对象。比如创建墙用Autodesk.Revit.Creation.Document.NewWall() 方法。可是我们确无法从Creation命名空间中的Document类中找到方法来创建墙类型。那能用编程方式创建新类型吗?

 

Revit是没有提供方法来直接创建一个类型。因为类型的属性和参数很多,是吧? 如果有一个方法来创建,那参数列表得十分长才能清楚定义出这个类型。所以Revit API不直接创建一个新类型,而是从一个已有类型中复制一个类型,所有的属性和参数都从原类型中获得,然后你根据需要修改一些属性、参数的值,实现想要的类型。

 

Revit所有的类型类都从ElementType类派生。ElementType类提供了Duplicate() 方法来复制类型。调用此函数,在当前模型文件中添加一个指定名称的类型,就会创建指定名称的类型。从ElementType派生的类都实现了Duplicate() 方法,所以所有的类型都可以用Duplicate()来创建,然后修改类型的属性、参数即可。

 

所以可以从WallType类型的Duplicate()方法创建一个墙类型,从FamilySymbol.Duplicate() 方法创建一个窗户类型。

 

请看下面代码示例创建一个标注样式类型:

 

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值