Revit二次开发-不同Revit版本下椭圆的处理

笔者近期在处理Revit项目升级的时候,出现了一个小问题:

不同Revit版本下椭圆的构造函数处理机制还不一样。具体说明如下:

 

 

在Revit2016版本中,Ellipse.Create的静态构造函数可以创建一个椭圆对象。

 

但是在高版本中,Ellipse.Create创建生成的可不是椭圆对象了,而是它的基类类型Curve

 

如果您使用【Ellipse trans = crv_ellipse as Ellipse;】这样的转换的话,很不幸有可能会得到的trans是个空值。

原因:

如果椭圆的长轴和短轴相等的场合下,那么此时trans是个Arc类型。那么Arc类型和Ellipse是兄弟关系,您说它能转换成功吗?(下图是它们的API类型说明)

 

 

扩展:

如果开始角度是0和终了角度是360度,那么Ellipse.CreateCurve会生成啥东东呢?

请各位看官自行验证~-~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值