NCF参数化建筑论坛

标题: 小试--开洞代码 [打印本页]

作者: 1235813    时间: 2011-1-3 18:09
标题: 小试--开洞代码
本帖最后由 1235813 于 2011-1-3 18:16 编辑

Option Explicit

Call Main()
Sub Main()

dim srfs
dim p()
srfs=rhino.GetObjects("planar surfaces",8,true,true)
dim j
call rhino.EnableRedraw(false)
for j=0 to ubound(srfs)
  
dim srf
  srf=srfs(j)
'dim p
'p=rhino.surfacepoints(srf)

  dim c
  dim c1
  c=rhino.duplicatesurfaceborder(srf)
  c1=rhino.explodecurves(c)
  
  dim i,n
  n=ubound(c1)
  redim p(n)
  for i=0 to ubound(c1)
   p(i)=rhino.CurveStartPoint(c1(i))
  Next
  
  
  dim pointscount
  pointscount=ubound(p)+1
  redim preserve p(pointscount)
  p(pointscount)=p(0)


  'call rhino.addpoints(p)
  'dim i,j
  'j=0
  'for each i in p
  'call  rhino.addtext(j,i)
  'j=j+1
  'Next
  
  dim c2,srf2
  c2=rhino.AddCurve(p,3)
  srf2=rhino.AddPlanarSrf(c2)
  call rhino.BooleanDifference(srf,srf2)
     
  call rhino.DeleteObjects(c)
  call rhino.DeleteObjects(c1)
  call rhino.DeleteObject(c2)
  
next

call rhino.EnableRedraw(true)
End Sub

好像需要rhino5.0支持
[attach]13519[/attach]
作者: 没碗    时间: 2011-1-3 19:03
~中间也是布尔之后的开洞么? 挺不错的~
作者: 1235813    时间: 2011-1-3 22:09
是的,布尔运算
作者: TG123    时间: 2011-1-5 14:11
哇!这个好啊!谢谢楼主
作者: nelson241930    时间: 2011-1-28 04:58
相当不错 学习
作者: LAVAHA    时间: 2011-1-28 21:55
开得有点怪异。。。不过试试吧
作者: zetter    时间: 2011-3-24 07:50
谢谢楼主分享
作者: ddrddrblueworm    时间: 2011-3-31 14:37
我来学习,我来攒分。。。
作者: cuilei33    时间: 2011-12-9 21:58
谢谢。。。。。。
作者: howldyx    时间: 2011-12-14 18:17
谢谢楼主分享
作者: JiangLi.arch    时间: 2011-12-14 19:28
谢谢lz分享啦。哎为了照度跟权限,没办法了~
作者: houguanyu    时间: 2012-1-5 10:15
提示: 作者被禁止或删除 内容自动屏蔽
作者: 默契    时间: 2012-3-1 08:41
实验一下!然后回来支持你!
作者: uniqueorange    时间: 2012-3-6 14:32
不错啊~Rhino4好像也行吧
作者: pyh4pyh4    时间: 2012-3-7 15:35
看的头发晕
作者: daiiisy    时间: 2012-3-9 11:06
感谢分享~~~~~~




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