Rhino(犀牛)中国技术支持与推广中心

标题: 请教关于移动后物件ID的问题 [打印本页]

作者: kietsuc    时间: 2015-5-26 09:59
标题: 请教关于移动后物件ID的问题
各位大神好:
       昨晚无意间遇到问题,百思不得其解,请大神指点迷津。
       如图:
       我画一个点,向下复制一个,然后阵列,得到两排点。
       使用脚本:
       #coding=utf-8import rhinoscriptsyntax as rs
point = rs.GetObjects("选取第1组点")
point2 = rs.GetObjects("选取第2组点")
for i in range(len(point)):
    line = rs.AddLine(point[i], point2[i])

连接两排点。

第一次连接没问题,但是有点短,于是我后退,下拉下面的那排点重新连接,连接顺序就倒了过来。

我想请教有没有什么办法能解决这种情况?


3.png (50.92 KB, 下载次数: 42)

3.png

2.jpg (155.71 KB, 下载次数: 32)

2.jpg

1.png (49.46 KB, 下载次数: 39)

1.png

作者: 筑梦NARUTO    时间: 2015-5-26 11:08
你这个不是距离的问题,我估计是你选择的时候一排点事从左选到右,另一组是从右选到左,所以列表反了。。。方法一:遇到这样的情况你把一组列表反过来就行。。。。方法二:你可以选择的时候是从同一边往另一边选择。。。方法三:自己写个最短距离判断,,只有最短距离的点才画line,
作者: kietsuc    时间: 2015-5-29 11:12
筑梦NARUTO 发表于 2015-5-26 11:08
你这个不是距离的问题,我估计是你选择的时候一排点事从左选到右,另一组是从右选到左,所以列表反了。。。 ...

谢谢,谢谢大神
作者: 筑梦NARUTO    时间: 2015-5-29 16:54
kietsuc 发表于 2015-5-29 11:12
谢谢,谢谢大神

问题解决了吧。你以后选择的时候注意选着方向要一样,和rhino是一样的。。。
作者: kietsuc    时间: 2015-5-31 10:14
筑梦NARUTO 发表于 2015-5-29 16:54
问题解决了吧。你以后选择的时候注意选着方向要一样,和rhino是一样的。。。

是的大神,已经解决了
作者: kietsuc    时间: 2015-5-31 10:44
筑梦NARUTO 发表于 2015-5-29 16:54
问题解决了吧。你以后选择的时候注意选着方向要一样,和rhino是一样的。。。

通过判定最小距离画线也勉强解决了,谢谢大神的指点。
#coding=utf-8
import rhinoscriptsyntax as rs

def zhuixioajuli(x, y):
    c = rs.Distance(x, y)
    return min(c)

point0 = rs.GetObjects("选取第一组点")
point1 = rs.GetObjects("选取第二组点")
for h in range(len(point0)):
    for i in range(len(point1)):
        a = rs.Distance(point0[h], point1)
        b = []
        b.append(a)
        if b[0] == zhuixioajuli(point0[h], point1):
            rs.AddLine(point0[h], point1)
   
if __name__ =="__main__":
    zhuixioajuli(point0[h], point1)


代码能力很差,写得比较烂,大神不要笑我哦。
作者: G.Y.    时间: 2015-6-8 10:55
拼音也要加强啊。。。
作者: kietsuc    时间: 2015-6-8 23:43
G.Y. 发表于 2015-6-8 10:55
拼音也要加强啊。。。

哈哈。。。。好的。。。。谢谢你




欢迎光临 Rhino(犀牛)中国技术支持与推广中心 (http://bbs.rhino3d.asia/) Powered by Discuz! X3.2