NCF参数化建筑论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 35907|回复: 1
打印 上一主题 下一主题

[心得体会] rhinocommon里面不同的曲线类之间怎么转化

[复制链接]
跳转到指定楼层
1m
发表于 2020-10-26 18:17:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
比如我要用c#写一个explode curve的电池,但是curve、polycurve、polyline、polylineCurve都是不同的类,curve类下面好像没有explode方法,只有polycurve下面有个explode的方法。哪位大神能解释一下这几个类的关系,它们之间是怎么转化的。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享
推荐
发表于 2020-10-28 20:11:53 | 只看该作者
一、首先看继承关系,PolyCurve和PolylineCurve继承自Curve,Polyline就是一个List<Point>。
二、我的理解,PolyCurve是多个Curve首尾相接形成的一个对象,PolylineCurve是折线(类似CAD中的多段线);
三、explode方法是将一个线条炸开,调用的前提是“这个对象能被炸开”,比如PolyCurve是多个Curve组成的,所以可以炸开,PolylineCurve是多段线(炸开的含义就是创建线段,很容易自己实现explode方法),Polyline可以用ToPolylineCurve()此函数转换为PolylineCurve。
但是请注意,NurbsCurve就没有explode的概念了,因为Rhino不知道要炸开成什么样子,只能自己实现算法(比如折线化,然后炸开为线段)。

小黑屋|手机版|NCF参数化建筑论坛 ( 浙ICP备2020044100号-2 )    辽公网安备21021102000973号

GMT+8, 2024-4-24 00:39 , Processed in 0.274548 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表