NCF参数化建筑论坛

标题: Polyline to Curve (Endpoints and midpoints as CP) [打印本页]

作者: njyqqq    时间: 2010-6-10 14:01
标题: Polyline to Curve (Endpoints and midpoints as CP)
Option Explicit
Sub Poly2CrvMid ()

  Dim arrCrvs,strCrv, arrPoints,arrPoint
  Dim K,i,arrNPt,hh,kk

  arrCrvs = Rhino.GetObjects("Select curves", 4)

  If IsNull(arrCrvs) Then Exit Sub

  ReDim arrCC(UBound(arrCrvs))

  hh=0
  For Each strCrv In arrCrvs
   If Rhino.IsPolyline(strCrv) Then
   arrPoints = Rhino.PolylineVertices(strCrv)

   If IsArray(arrPoints) Then
    k=UBound(arrPoints)
    kk=(k+1)*2-2

    ReDim arrNPt(kk)

    Dim nn : nn=0

    For i=1 To kk Step 2
    arrNPt(i) = Array((arrPoints(nn)(0)+arrPoints(nn+1)(0))/2, (arrPoints(nn)(1)+arrPoints(nn+1)(1))/2, (arrPoints(nn)(2)+arrPoints(nn+1)(2))/2 )

    nn=nn+1

   Next
   nn=0
   For i=0 To kk Step 2
    arrNPt(i) = arrPoints(nn)
    nn=nn+1
   Next

   arrCC(hh) = Rhino.AddCurve (arrNPt ,3)
   hh=hh+1


   End If
  End If
Next

Rhino.SelectObjects arrCC

End Sub

Poly2CrvMid

作者: njyqqq    时间: 2010-6-10 14:01

                               
登录/注册后可看大图

作者: 夜神    时间: 2010-6-10 14:16
赞!(补充字数)
作者: stratagem    时间: 2010-6-10 22:48
支持!!!!!!!!!!!!!!!!!!!!!!!!
作者: 小r学生    时间: 2010-6-10 23:48
支持支持·····虽然GH里面是一个电池的事···但是还是自己编出来比较有成就感~!
作者: miniorange    时间: 2010-6-11 00:25
够疯狂!!!!!!
作者: jasonbb88    时间: 2010-6-11 00:44
厉害   楼主你这个算法可以介绍一下吗?
作者: 没碗    时间: 2010-6-12 01:04
很实用~~
作者: wawa    时间: 2011-4-28 17:24
very good!
作者: 七策    时间: 2011-7-16 22:37
o~ ^-^~ 路过~ 留爪~
作者: 七策    时间: 2011-7-16 22:38
o~ ^-^~学学看看~顶了~
作者: wenchongyun    时间: 2011-9-7 17:56
将polyline上的编辑点加倍,再用所得点做控制点做高次曲线???
作者: Tony    时间: 2011-11-5 21:28
貌似在哪个网站上见过~~~~
作者: lbq0821    时间: 2011-11-16 09:49
这个很赞!!!
作者: up.side.down    时间: 2011-11-21 13:41
这个实用的哇
作者: www.qqqzq.com    时间: 2011-11-22 07:19
我是刚注册的新手 请各位大哥多关照




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