NCF参数化建筑论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 10990|回复: 4
打印 上一主题 下一主题

[在线求助] 3.0:大侠帮看看这2段代码

[复制链接]
跳转到指定楼层
1m
发表于 2011-1-2 15:12:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 licml 于 2011-1-2 16:44 编辑

Dim strObject, arrPoint, dblParam,arrPt
strObject = Rhino.GetObject("Select a curve")
If Rhino.IsCurve(strObject) Then
  arrPoint = Rhino.GetPointOnCurve(strObject, "Pick a test point")
  If IsArray(arrPoint) Then
    dblParam = Rhino.CurveClosestPoint(strObject, arrPoint)
    arrPt=Rhino.CurveEvaluate(strObject,dblParam)
    Rhino.AddPoint (arrPt)
    '哪错了?为啥老报:array required,arrPt是array啊
    Rhino.Print "Curve parameter: " & CStr(dblParam)
  End If
End If


----第二段代码---------------------------------------------------

Dim strSrf
Dim arrPt1,arrPt2,arrContour,arrPoints
strSrf=Rhino.GetObject("select a srf:")
arrPt1=Rhino.GetPoint("Select first point")
arrPt2=Rhino.GetPoint("select second point")
arrContour=Rhino.SurfaceContourPoints (strSrf,arrPt1,arrPt2)
If IsArray(arrContour) Then
  For Each arrPoints In arrContour
    '为啥arrPoints是in arrContour,arrPoints没有赋值啊
    rhino.AddCurve(arrPoints)
    rhino.addpoints(arrPoints)
  Next
End If
----------------------------------------
arrContour本身不就是点吗?why不能直接rhino.addpoints(arrContour)?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享
2m
发表于 2011-1-2 17:38:43 | 只看该作者
Option Explicit
'Script written by <insert name>
'Script copyrighted by <insert company name>
'Script version 2011年1月2日 17:34:35

Call Main()
Sub Main()
        Dim strObject, arrPoint, dblParam,arrPt
        strObject = Rhino.GetObject("Select a curve")
        If Rhino.IsCurve(strObject) Then
                arrPoint = Rhino.GetPointOnCurve(strObject, "Pick a test point")
                If IsArray(arrPoint) Then
                        dblParam = Rhino.CurveClosestPoint(strObject, arrPoint)
                        arrPt=Rhino.CurveEvaluate(strObject,dblParam,1)
                       
                        'Rhino.CurveEvaluate ( strObject, dblParameter, intDerivative)

                        'Parameters
                        'strObject
                        'Required.  String.  The object's identifier.

                        'dblParameter
                        'Required.  Number.  The evaluation parameter.

                        '        intDerivative
                        'Required.  Number.  The number of derivatives to evaluate.


                       
                        call Rhino.AddPoint(arrPt(0))
                        '哪错了?为啥老报:array required,arrPt是array啊
                        Rhino.Print "Curve parameter: " & CStr(dblParam)
                End If
        End If


少了参数
3m
发表于 2011-1-2 17:39:13 | 只看该作者
多看帮助文件
4m
发表于 2011-1-2 17:49:44 | 只看该作者
'为啥arrPoints是in arrContour,arrPoints没有赋值啊
arrPoints是什么没关系吧,这种for each in循环就是这样用的,只是提供了一个物理地址来存储变量
5m
 楼主| 发表于 2011-1-2 18:14:50 | 只看该作者
嗯,明白了,多谢

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

GMT+8, 2024-5-6 15:59 , Processed in 0.058248 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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