Python --- Rhinoscript里面如何Reparameterize一条曲线

[复制链接]
跳转到指定楼层
468110 小圣 发表于 2015-11-19 11:45:40 楼主
gh对于一条曲线和曲面常见的操作是直接右键将其Reparameterize.

用来便捷的在曲线和曲面上找点。
最近在学Rhinoscript,没有发现能直接把曲线Reparameterize的函数。
只能用比较笨的方法,要调用两个函数CurveParameter和EvaluateCurve

请问rhino中有单个函数可以实现gh中一个右键就搞定的事。
下面是我的笨办法,要两个函数:
#coding = UTF8
import rhinoscriptsyntax as rs
crv = rs.GetObject("slect a curve") #选一条曲线
if rs.IsCurve(crv):
    for T in rs.frange(0,1,0.1):
        parameter = rs.CurveParameter(crv,T)
        PointAtT = rs.EvaluateCurve(crv,parameter)
        rs.AddPoint(PointAtT)
else:
    print("It`s not a curve")

a1.JPG (44.69 KB, 下载次数: 39)

a1.JPG

转换曲线参数曲线区间.rar

325 Bytes, 下载次数: 61

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享
关于大陆地区Rhino原厂培训中心
筑梦NARUTO 发表于 2015-11-19 14:35:15
推荐
小圣 发表于 2015-11-19 13:46
被水影挡住了,重发一遍图

http://bbs.rhino3d.asia/thread-24185-1-5.html看这个链接最下面,讲解了geo对象与guid的区别和转换方法。
  1. #coding=utf-8
  2. import rhinoscriptsyntax as rs
  3. from Rhino.Geometry import Interval

  4. curve = rs.GetObject("选择一条曲线",rs.filter.curve)

  5. if curve:
  6.     geo_curve = rs.coercecurve(curve)
  7.     domain = geo_curve.Domain
  8.     print domain
  9.    
  10.     geo_curve.Domain = Interval(0,1)
  11.    
  12.     re_curve = geo_curve
  13.    
  14.     re_domain = re_curve.Domain
  15.     print re_domain
复制代码


筑梦NARUTO 发表于 2015-11-19 14:39:28
推荐
小圣 发表于 2015-11-19 13:44
python中访问曲线的Domain属性报错,告诉我该对象没有一个属性叫Domain的,这啥情况!!!?!!

它告诉你的是guid物体没有domain属性,其实本来就没有。,,,domain属性是curve类的,需要转换下。
筑梦NARUTO 发表于 2015-11-19 12:33:33
2
这个功能很简单实现的。直接修改curve类的domain属性就可以了。具体查看文件

1.png (86.94 KB, 下载次数: 30)

1.png

12.zip

7.43 KB, 下载次数: 55

 楼主| 小圣 发表于 2015-11-19 12:40:15
3
谢谢,果然简洁有力,
这种 “对象+圆点+属性”的编程方式,我记得是VB中常用的,
python中访问对象属性,也是用这种方式吗?
我读的python教程,里面从来没有这种方式,当然,那些教程和犀牛无关,不调用犀牛的库
这样说的话,犀牛中要去记住每一样物件有哪些属性吗?记忆量好像需要很大
筑梦NARUTO 发表于 2015-11-19 12:43:48
4
小圣 发表于 2015-11-19 12:40
谢谢,果然简洁有力,
这种 “对象+圆点+属性”的编程方式,我记得是VB中常用的,
python中访问对象属性, ...

可以查帮助手册啊(rhinocommon SDK)
 楼主| 小圣 发表于 2015-11-19 13:17:07
5
找了很久没找到,rhinocommon SDK在哪里打开?
筑梦NARUTO 发表于 2015-11-19 13:32:29
6
小圣 发表于 2015-11-19 13:17
找了很久没找到,rhinocommon SDK在哪里打开?

我发你吧
 楼主| 小圣 发表于 2015-11-19 13:44:54
7
python中访问曲线的Domain属性报错,告诉我该对象没有一个属性叫Domain的,这啥情况!!!?!!

a2.JPG (63.18 KB, 下载次数: 46)

a2.JPG
 楼主| 小圣 发表于 2015-11-19 13:46:50
8
被水影挡住了,重发一遍图

a2.JPG (74.97 KB, 下载次数: 42)

a2.JPG
您需要登录后才可以回帖 登录 | 注册成为会员

本版积分规则