本帖最后由 DanielJin 于 2014-8-17 11:56 编辑
首先,很开心的告诉大家,E拓参数化板块有自己的独立域名啦!以后大家可以输入csh.eeeetop.com即可访问参数化板块。
大家没有发现参数化板块的UI比主页要简洁一些了吗?UI会慢慢进行更加简洁化设计,有好的建议的朋友,
有喜欢学习参数化知识的朋友,欢迎加群312673316一起讨论。备注E拓即可。
原帖内容由微信公众账号【SecondEffectGroup】 【江河梦】小组发布,由【DanielJin】获得授权,进行重新整理和编辑后发布。转载请保留此行信息。欢迎大家下载由【Second Effect Group】出品的gh插件seg,其在幕墙行业,数据存储,曲线等分,数据优化等方面具有非常大的用途,并提供中文版支持。插件将不断更新,更新日志将会在本论坛同步推出。下载地址:http://www.food4rhino.com/project/segghcommon
感谢各位关注。新加入成员可以查看之前的帖子教程。由于用户基础不一,我们要由浅入深,先讲基础操作,再讲工程实例,再到深入GHA开发,以及各种复杂算法。期间可能会穿插着来讲,可以直接回复问题,我们会尽量去解答。 今天我们速度结束脚本计算器的界面,讲一些代码。 脚本计算器的右键菜单,这里只提下两个子菜单,剩下的其他菜单功能在基础操作中讲解。如下图:
Edit Source....打开代码编辑器。 Manage Assemblies....这个很有用,是对其他库的引用。所谓库,这里我再啰嗦两句,就是函数,类等的组件,有叫dll,有叫com组件,有叫api函数,其实差不多都是一个东西。有很多常用的功能,我们不可能每次都写,那么很多牛逼的人就把这些给我们封装好,我们只要知道怎么使用就行了,就好比,我们只需要学会如何开车就能达到方便旅行的效果,而非一定要学会造车。当然你要会造车那就更牛逼。其实netframe框架也是一个库,只是稍微大了点而已。简而言之,就是我们引用这些库,使用里面的函数,类等实现我们自己需要的功能。 点击后如下图:
点击Add就可以浏览引用库文件
如上图,我们可以引用dll,exe,Rhp,gha.实际上rhp,gha本质上也是dll文件,只不过是编译后改了后缀名而已。只要这些文件中有公开的接口,那么我们就可以在代码中使用。 细心的童鞋可能会问,我们如何移除引用文件。问的好,这个问题困扰了我很长时间,直到问了David才知道,选中所引用文件,按Delete键就可以了--! 让我们迫不及待的进入脚本编辑界面吧:
右上角这几个按钮是新版本增加的,很久以前的版本木有。
运行,这里面按F5是没用的,按Ctrl+S也非保存,保存必须点击下面的OK.
点击此按钮会插入如下代码: '''
''' This method will be called once every solution, before any calls to RunScript.
'''
Public Overrides Sub BeforeRunScript()
End Sub
'''
''' This method will be called once every solution, after any calls to RunScript.
'''
Public Overrides Sub AfterRunScript()
End Sub
看解释,如果想在RunScript这个过程的前后发生点什么事情,这里就是个好地方。 Overrides是遮盖,此过程应该是遮盖了原来基类中的BeforeRunscript和AfterRunscript.
点击这个令人发毛的眼睛,会插入如下代码: '''
''' Return a BoundingBox that contains all the geometry you are about to draw.
'''
Public Overrides ReadOnly Property ClippingBox() As BoundingBox
Get
Return BoundingBox.Empty
End Get
End Property
'Draw all meshes in this method.
Public Overrides Sub DrawViewportMeshes(ByVal args As IGH_PreviewArgs)
End Sub 'Draw all wires and points in this method.
Public Overrides Sub DrawViewportWires(ByVal args As IGH_PreviewArgs)
End Sub 第一个属性可以用来返回计算过程中,几何对象的BoundingBox。任何几何对象都有一个BoundingBox,那么就注定了,任何操作几何对象的计算器都离不开BoundingBox这个属性。 第二个是GH强大的显示,用了那么久GH或许你还不知道里面的显示均为Mesh显示。此方法遮盖了基类的显示,我们想改变脚本计算器对几何对象的显示,可以在此动手脚。如果想让原来的显示不改变,那么可以加一句 MyBase.DrawViewportMeshes(args) 第三个是GH强大的线头显示。GH里面所有的连线都是nurbs曲线。 实际上对于我们初级学习脚本,上述方法是不经常用的,等我们用到这个级别,就已经不再使用脚本而写GHA了。
这个,脚本字体调节,自己看着办吧。
这个比较有意思,也比较有用。选中此按钮,那么当你点击别的区域的时候,脚本编辑器就自动缩小成一个比较可爱的迷你编辑器来方便我们进行其他操作:
另外旁边的行号也很有用,帮助我们查找错误所在地方,一般错误都会提示错在哪一行的。
Ctrl+F,Find以及替换,这里面有很多选项,其中值得一提的是Use regular expressions,可以使用正则表达式哟。 那么此替换和查找就比较强大了。作为一个脚本开发者,如果你不知道正则表达式就有点太不专业了,必须恶补
|