Python --- 分享个脚本

[复制链接]
跳转到指定楼层
21924 kietsuc 发表于 2015-7-9 03:49:25 楼主
各位大神好:
       发个按照最短距离给曲线编号的小脚本,由于写代码我都是自学的,所以难免会有很多常识性的错误,希望各位大神不要笑我哦,请多多指教



#coding=utf-8
import rhinoscriptsyntax as rs

def panduan(curve, lines,i):
    if len(lines) == 0:
        return
    else:
        ds = rs.CurveClosestObject(curve, lines)
        poi = rs.CurveStartPoint(ds[0])
        rs.AddTextDot(i,poi)
        lines.remove(ds[0])
        panduan(curve,lines,i+1)

if( __name__ == "__main__" ):
    poi = rs.GetPoint("拾取一个点")
    rs.AddPoint(poi)
    lines = rs.GetObjects("选取要编号的曲线",rs.filter.curve)
    curve = rs.AddCircle(poi,0.01)
    panduan(curve,lines,0)
    rs.DeleteObject(curve)


U8$7UU25GH74%8QESD`P`Q3.png (23.47 KB, 下载次数: 17)

U8$7UU25GH74%8QESD`P`Q3.png

(YN7$R(`B{]3_@483`{~VY7.png (23.18 KB, 下载次数: 37)

(YN7$R(`B{]3_@483`{~VY7.png

评分

参与人数 2坛币 +2 收起 理由
Jorin + 1 赞一个!
筑梦NARUTO + 1 感谢分享

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享
关于大陆地区Rhino原厂培训中心
Jorin 发表于 2015-7-9 19:37:42
2
不错的递归
 楼主| kietsuc 发表于 2015-7-10 12:10:25
3
Jorin 发表于 2015-7-9 19:37
不错的递归

拔了好多头发才想出来的,jorin大神
Jorin 发表于 2015-7-16 15:33:05
4
kietsuc 发表于 2015-7-10 12:10
拔了好多头发才想出来的,jorin大神

不需要画个圆然后删掉的,有个函数是 rs.PointClosestObject,可以删掉好几行。
 楼主| kietsuc 发表于 2015-7-17 01:12:40
5
Jorin 发表于 2015-7-16 15:33
不需要画个圆然后删掉的,有个函数是 rs.PointClosestObject,可以删掉好几行。

对哦,换个函数至少能删掉三行
您需要登录后才可以回帖 登录 | 注册成为会员

本版积分规则