NCF参数化建筑论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 28662|回复: 28
打印 上一主题 下一主题

[个人作品] 曲线网架

[复制链接]
跳转到指定楼层
m
发表于 2011-1-9 13:36:51 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 licml 于 2011-1-10 11:54 编辑

之前看到这里有个代码是直线段网架,一直想做个贴着曲面的网架,今天终于做出来了。但是中间有个地方需要改进(见蓝色部分),还望高人指点
Option Explicit
'Script written by <insert name>
'Script copyrighted by <insert company name>
'Script version 2011年1月7日 22:50:05

Call Main()
Sub Main()

Dim strSrf,UDomain,VDomain,dU,dV,m,n,i,j
m=rhino.GetReal("input u segment",10)
n=rhino.GetReal("input v segment",10)
strSrf=rhino.GetObject("select a surface:")
UDomain=rhino.SurfaceDomain(strSrf,0)
VDomain=rhino.SurfaceDomain(strSrf,1)
dU=(UDomain(1)-UDomain(0))/m
dV=(VDomain(1)-VDomain(0))/n

Dim Pt,strCur,strStar,arrPlane,strPara,Cir
Dim puv():ReDim puv(m,n)
Dim p():ReDim p((m+1)*(n+1)-1)
For i = 0 To m
    For j = 0 To n
        puv(i,j)=array(dU*i,dV*j)
        p(i*(m+1)+j)=Rhino.EvaluateSurface (strSrf, puv(i,j))
        p(j)=p(i*(m+1)+j)
    Next
    strCur=rhino.AddInterpCrvOnSrf (strSrf,array(p(0),p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9),p(10)))
                '这里,怎么把p写进一个array里面,记得之前看过有只增加数据,不覆盖原数据的办法,但找不到在哪看的了
    strStar=rhino.CurveStartPoint(strCur)
    strPara=rhino.CurveClosestPoint(strCur,strStar)
    arrPlane=rhino.CurvePerpFrame(strCur,strPara)
    Cir=rhino.AddCircle(arrPlane,0.2)
    rhino.addsweep1 strCur,Cir

Next

For j=0 To n
    For i=0 to m
        puv(i,j)=array(dU*i,dV*j)
        p(i*(m+1)+j)=Rhino.EvaluateSurface (strSrf, puv(i,j))
        p(i)=p(i*(m+1)+j)
    Next
    strCur=rhino.AddInterpCrvOnSrf (strSrf,array(p(0),p(1),p(2),p(3),p(4),p(5),p(6),p(7),p(8),p(9),p(10)))
    strStar=rhino.CurveStartPoint(strCur)
    strPara=rhino.CurveClosestPoint(strCur,strStar)
    arrPlane=rhino.CurvePerpFrame(strCur,strPara)
    Cir=rhino.AddCircle(arrPlane,0.2)
    rhino.addsweep1 strCur,Cir
Next
End Sub


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享
28m
发表于 2023-12-19 11:21:31 | 只看该作者
非常不错,学习了
27m
发表于 2023-11-12 20:01:36 | 只看该作者
图都看不了啊
26m
发表于 2013-1-1 11:17:27 | 只看该作者
脚本还不会用,你的程序咋使用啊?
25m
发表于 2012-11-23 04:45:32 | 只看该作者
好帖,值得学习!
24m
发表于 2012-10-23 13:16:46 | 只看该作者
看到了,呵呵.怎么说呢……
23m
发表于 2012-5-18 10:48:52 | 只看该作者
牛人、、、、、
22m
发表于 2012-5-12 08:47:34 | 只看该作者
学习。。。。。。。。。。。
21m
发表于 2012-5-11 01:25:18 | 只看该作者
学习了谢谢!
20m
发表于 2012-5-7 19:27:59 | 只看该作者
TAT图片还要lux才能看到啊
19m
发表于 2012-3-15 11:37:34 | 只看该作者
谢谢学习~~
18m
发表于 2012-3-13 14:03:42 | 只看该作者
向楼主学习,准备精细学习VB脚本,网架一般做双层的
17m
发表于 2012-3-10 18:30:35 | 只看该作者
sjfgsakjfhsakjhlfsdjfslkfjs
16m
发表于 2012-2-18 16:19:06 | 只看该作者
好好,不错
15m
发表于 2011-11-19 11:02:29 | 只看该作者
hao....................
14m
发表于 2011-11-7 14:34:58 | 只看该作者
谢谢了学习了。
13m
发表于 2011-11-5 22:02:58 | 只看该作者
学习了~~~~~~~
12m
发表于 2011-7-29 12:24:13 | 只看该作者
谢谢,不过图片真的水了点。。。
11m
发表于 2011-7-19 21:55:05 | 只看该作者
想看看!!!
10m
发表于 2011-4-28 17:00:52 | 只看该作者
quite good!
9m
发表于 2011-1-28 04:52:54 | 只看该作者
不错不错 支持一下!

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

GMT+8, 2024-5-15 05:06 , Processed in 0.070285 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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