NCF参数化建筑论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 9355|回复: 15
打印 上一主题 下一主题

[个人作品] 小试--开洞代码

[复制链接]
跳转到指定楼层
1m
发表于 2011-1-3 18:09:23 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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支持

评分

参与人数 2强度 +4 照度 +32 收起 理由
weiwei + 1 + 2 很棒的教學
musofan + 3 + 30 感谢分享

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享
2m
 楼主| 发表于 2011-1-3 22:09:15 | 显示全部楼层
是的,布尔运算

小黑屋|手机版|NCF参数化建筑论坛 ( 浙ICP备2020044100号-2 )    辽公网安备21021102000973号

GMT+8, 2024-5-23 13:44 , Processed in 0.211327 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表