NCF参数化建筑论坛

标题: 各位编程达人,请教pyhon编程问题 [打印本页]

作者: carcass    时间: 2012-12-24 19:21
标题: 各位编程达人,请教pyhon编程问题
如图,想用python写一个区分点在线内线外的电池,虽说没什么意义,这个功能gh本身就有相关电池。算是自己爱好吧
不知道可有高手可以在python里面用rhino common写出来?多谢指点了。还有坛子里有没有一直学习python跟rhino common的大神,自己摸索了好一阵子,没什么进步,求指点。

作者: carcass    时间: 2012-12-24 19:23
顺便庆祝下,自己高级会员了~~~
作者: maniux    时间: 2012-12-25 13:42
rs.PointInPlanarClosedCurve

common的話,好像有個border.IsPointInside,不確定。
一般一種能解決就沒必要用另外一種,除非有問題。rs本來就是python優勢的地方。
作者: carcass    时间: 2012-12-25 15:12
maniux 发表于 2012-12-25 13:42
rs.PointInPlanarClosedCurve

common的話,好像有個border.IsPointInside,不確定。

多谢,我想自己可以写电池,所以在学校python跟rhino common
作者: maniux    时间: 2012-12-25 17:49
carcass 发表于 2012-12-25 15:12
多谢,我想自己可以写电池,所以在学校python跟rhino common

雖然未來建築師需要versatile,但是私以為還是要區分設計師和開發者。
作者: carcass    时间: 2012-12-25 22:41
maniux 发表于 2012-12-25 17:49
雖然未來建築師需要versatile,但是私以為還是要區分設計師和開發者。

请问什么是versatile,对代码建模这一块确实不是很了解了,多指点
作者: carcass    时间: 2012-12-25 22:42
词汇量有限。。。。
作者: maniux    时间: 2012-12-26 00:47
carcass 发表于 2012-12-25 22:41
请问什么是versatile,对代码建模这一块确实不是很了解了,多指点

呃……這個詞是聊天時候一個國外的朋友提到的,我就直接用了……
作者: teiyou666    时间: 2013-4-9 19:31
自学了几天python。。楼主的问题其实用python很好解决的。
思路是利用核心函数rs.ispointonsurface来算出点是否在曲线生成的平面内,然后利用得到的布尔值对点集合进行分组。具体代码如下------
import rhinoscriptsyntax as rs
from math import*

pt=rs.GetObjects("points to test",1)
cur=rs.GetObject("curve",4)
plane=rs.AddPlanarSrf(cur)
b=[]
insidepoints=[]
outsidepoints=[]
for i in range(0,len(pt)):
    a=rs.IsPointOnSurface(plane,pt[i])
    b.append(a)

   
for i in range(0,len(pt)):
    if b[i]==True:
        insidepoints.append(pt[i])
        
    else:
        outsidepoints.append(pt[i])
rs.DeleteObject(plane)

把变量代换一下就能做成grasshopper的按钮了。
望采纳~~~{:08:}

作者: 月之眼    时间: 2014-8-1 22:10
teiyou666 发表于 2013-4-9 19:31
自学了几天python。。楼主的问题其实用python很好解决的。
思路是利用核心函数rs.ispointonsurface来算出点 ...

直接有函数判断

作者: 横穿马路    时间: 2016-7-8 10:30
谢谢分享,辛苦了。
作者: DONNA    时间: 2016-7-10 23:53
学了几天python。。楼主的问题 也是我的




欢迎光临 NCF参数化建筑论坛 (http://bbs.ncf-china.com/) Powered by Discuz! X3.2