SEG出品Grasshopper插件讲解.docx
- 文档编号:26844541
- 上传时间:2023-06-23
- 格式:DOCX
- 页数:68
- 大小:3.32MB
SEG出品Grasshopper插件讲解.docx
《SEG出品Grasshopper插件讲解.docx》由会员分享,可在线阅读,更多相关《SEG出品Grasshopper插件讲解.docx(68页珍藏版)》请在冰豆网上搜索。
SEG出品Grasshopper插件讲解
【SEG出品】GH插件界面讲解之File
由于GH是全英文的(据说要语言本地化,但是工程量太浩大,不知道到何年何月了)。
对于很多英文不太好的童鞋,可能连软件工具栏中的很多功能都还不太清楚。
为了游刃有余的使用GH,我们就一起来了解下工具栏吧。
我争取不漏下任何一个细节。
首先标题栏双击是折叠以与展开,这个大家都知道了吧,应该--
如如下图,首先介绍File菜单栏里面的东西:
本帖隐藏的内容
1,NewDocumentCtrl+N创建新的GH文档
文档与文档之间可以互相copygh计算器,即便关闭犀牛和GH,Copy的计算器仍然能在新打开的GH文档中粘贴,只要在此期间,你不清空粘贴板,或者copy另外的东西。
因为计算器copy到粘贴板中都被序列化成xml的文本了,计算器中iternalise的数据也是一样的道理。
既然说到Copy,切记Ctrl+V粘贴到源位置,Ctrl+Shift+V为粘贴到当前视图中心,这点很有用。
2,OpenDocument...Ctrl+O打开一个已存在的GH文档
目前只能打开.gh和.ghx这两种格式。
前者是二进制存储,后者为xml存储。
3,RecentFiles最近文档,这也比拟有用,能直接打开最近使用的gh文档。
4,SaveDocumentCtrl+S保存文档。
切记要经常Ctrl+S,否如此连了一大堆出现个意外就闹心了。
5,SaveDocumentas...Ctrl+Shift+S另存为,可以指定路径与格式。
6,SaveBackupCtrl+Alt+S保存备份文档。
gh有一个专门保存备份的文件夹。
7,ExportQuickImage....Ctrl+Shift+Q gh自带的一个快速截图工具,如如下图
a,第一个按钮是裁剪区域
b,第二个是可以旋转裁剪区域
c,第三个是可以将犀牛文档中截图添加到此图中
d,第四个是在截图上添加GH的版本信息
e,清空所有格式
另外弹出此图框大小,跟目前gh窗口大小一致。
8,ExportHi-ResImage...导出目前gh窗口的高清大图,并且可以设置背景颜色,以与缩放比例。
9,DocumentProperties...文档属性,点开后界面如如下图
对此gh文档,你可以设置更改信息,以与文档描述。
而且还可以增加修订版本。
这样可以记录你每次更改的日期,便于文档管理。
10,CreatUserObject创建用户计算器,选中一个gh计算器或者一个cluster此菜单会启用。
点击如如下图
这样我们可以创建一个.ghuser为扩展名的文件包,此包可以直接使用,像正常的.gha一样可以在菜单里面显示。
如上图,可以设置名字,昵称,描述,设置Category即所在的栏目,Sub-Category子栏目,HideObject是隐藏到栏目里面,还是在Limittodropdown下拉栏目里面,在栏目里面的第几个格子PanelSection。
以与可以设置其图标。
这个菜单很强大,让用户可以封装自己的电池,应该好好研究研究。
11,RibbonLayout配置的罗宾界面,点进去如如下图,
Displayastext意思是将计算器栏目名称按图标显示还是按文字显示。
Createlayout创建视图,点进去如如下图
你可以完全改变GH的电池界面组合,配置自己的栏目组合。
如上图,你可以将不经常用的计算器拖到垃圾箱,或者将不用的栏目拖入垃圾箱,那么在你的配置中就不会显示这些计算器或者栏目了,这样可以让界面更简洁。
当然,你也可以新建一个栏目〔Tab),将常用的计算器放到里面。
而且你还可以拖动格栏目来改变他们的次序。
左边方框可以搜搜电池:
不用担心你会打乱以前的配置。
因为我们可以随时关掉自己的配置,而且可以开启多个配置。
如如下图〔导入配置后,Importlayouts)
配置的眼睛闭上就是显示默认配置,开启是显示我们自己的配置。
这样我们做不同的东西,可以开启不同的配置。
12.ShowInfolder 打开此文档所在文件夹并选中此文档
13,SpecialFolder这个很有用,点开如如下图
ponentsFolder是存放计算器.gha文件的地方,你在food4里面下载的.gha文件可以直接放到这里面。
ps有些不能用的,试试右键属性解锁。
SettingsFolder配置文件的文件夹
AutoSaveFolder是自动保存文件的文件夹,里面的gh文件以guid命名--滥用guid.
14.Preferences...这个太多了而且很重要,明天单独列出介绍。
15.Close关闭当前文档。
【SEG出品】GH插件讲解〔二〕之Preference
首先,感谢各位关注。
新参加的朋友可以查看之前我发布的主题进展由浅入深的学习。
教程前会增加分组的小标签,如【DanielJin原创】,【SEG出品】等,一个标签对应一系列教程。
由于用户根底不一,我们要由浅入深,先讲根底操作,再讲工程实例,再到深入GHA开发,以与各种复杂算法。
期间可能会穿插着来讲。
本篇为根底篇插件界面介绍的第二篇。
界面工具栏菜单File下的第14个子菜单preferences插件配置。
如如下图。
1,Author
点开界面如上,好比一个指纹,配置连线图作者的名字,公司,,地址,,以与。
本帖隐藏的内容
这些都是你创建该文档后的固有属性,有些童鞋会问,我在什么地方能查看这些信息。
如果你会脚本,如如下图:
2,
显示设置
既然是显示设置,肯定不会影响计算。
其实,你将鼠标放在上面就会有提示的。
a.勾选SpecialCaseintegers意思将0.999999....这种数字显示成1.0,切记只是显示哟,实质内容还是0.999999...如如下图用脚本测试:
b.勾选SpecialcasePi意思是将输入的2*pi显示成2*pi的形式而非6.28...的数字形式。
但本质上还是6.28...的数字如如下图测试:
由上面两个例子我们其实就可以知道panel板这个东西并非简单一个显示tostring的文本框。
C.D-Deciamals设置显示小数的位数,只显示那么多位,本质上还是原来的数字,比如6.284569我如果设置显示3位,那么我们只能看到6.284,但是这个数字还是6.284569如如下图:
6.284569e10就不行了,设置不起作用了--。
F.E-Upper按说这个是和上面的那个是相对的,但是经测试无效,怎么设都不会显示成科学计数法--,如果你测试成功可发我消息。
设置完注意重新计算才会使用新的配置。
看完上面的显示设置,你会发现,很多数值和你看到的是不一样的,不要让你的眼睛骗了你。
3,
字体设置
StrandardFont标准字体,没错就是计算器名称,参数名称等的字体。
设置成中文的一些字体貌似不好看,尽量都用默认的比拟好。
ScriptFont 脚本字体。
经测试并非脚本计算器里面的字体。
具体什么地方真不清楚。
ConsoleFont控制台字体,大概就是消息提示一类的字体吧,如如下图:
4,
用户接口如如下图
a,ContentFilter内容过滤这个功能可谓充分表现了gh插件的专业性。
可以叫做某某内容过滤吧。
None就是不过滤,想想GeorgeCarlin,百科一下这位是美国反正统人物的代表。
Total完全过滤,应该是处女级别的过滤吧。
在这种级别下,gh涉与的淫秽词语与图片都将被其他内容代替,比如这俩计算器的图标
就别列入某某图片,过滤后变成了
--
此过滤功能在版本0.8.0062参加的〔这样的功能太高大上了〕
Changesandfixessince0.8.0061:
●AddedContentFiltersectiontothePreferences(Interfacesection).
其生死缘由可以查看此:
.grasshopper3d./for...736&page=2#ments
b,ContextMenus
勾选ShowParametersubmenus的话的所有计算器的右键菜单里面都会出现参数菜单作为子菜单如如下图勾选与不勾选的区别:
不勾选
勾选
c,OverlayGraphics
勾选Displayobsolete会在旧版本的计算器上显示一个OLD的标记。
d,Ribbon菜单设置
勾掉Showponenttabs将隐藏掉所有计算器栏,充分发挥自己的快捷键能力把〔什么?
你不会用快捷键?
还是慢慢看根底内容吧〕
Showtabicons显示栏目图标,这个貌似还前面介绍的displayastext重复了。
Showiconseparators是否显示计算器栏目中的分隔条。
分隔条就是下面这东东
Showobscureponents显示隐藏的计算器,勾上这个,栏目里面的所有计算器都会显示出来,这样你都可以在其上面右键改快捷键了。
否如此的话,有些只能在下拉菜单中显示。
e,下面的快捷键在第二篇文章中有详细介绍,此处说几个常用的
Ctrl+E禁用或启用计算器
Ctrl+Q隐藏或显示计算器内几何对象
Ctrl+G编组,Ctrl+shift+G解除编组
双击空白区域,输入运算器命令即可直接调出电池。
中键调出罗盘控制菜单,罗盘里面大锁和查找比拟好用--
f,Tooltips 帮助提示
WiggleRadius信息提示的半径,意思是鼠标在以信息弹出点为圆心,以Radius为半径的圆内信息提示不消失,这个半径设置多大,看自己习惯吧。
【SEG出品】GH插件讲解〔三〕之Preference
下面开始教程。
首先,感谢各位关注。
新参加的朋友可以查看之前我发布的主题进展由浅入深的学习。
教程前会增加分组的小标签,如【DanielJin原创】,【SEG出品】等,一个标签对应一系列教程。
由于用户根底不一,我们要由浅入深,先讲根底操作,再讲工程实例,再到深入GHA开发,以与各种复杂算法。
期间可能会穿插着来讲,用户可以直接回复有关问题,我们一定会尽量去解答。
本篇为根底篇插件界面介绍的第三篇。
1,
调色板
主要是对不同状态下电池的边界颜色,填充颜色,文字颜色做修改。
具体有非选中状态〔Normal〕和选中状态〔Selected〕之分。
下面又有禁用电池〔DisabledCapsule〕,错误电池(ErrorCapsule),隐藏显示电池,隐藏的是电池内部的几何对象(HiddenCapsule),标准电池〔StandardCapsule〕警告电池,含警告信息的〔WarningCapsule〕
除了上面的禁用电池,任何类型的电池甚至错误电池都可以使用,只要输出内容有意义,不要因为红彤彤就有心理障碍。
2,
视口配置
DefaultTemplateMaterials默认模板的着色配置。
如果你没有设置模板文件,那么每次新建的gh文件都会以这个颜色来渲染你选中和没选中的GH几何对象在犀牛文档里面的显示。
如果设置了模板文件,如此显示按照模板文件的DocumentMaterials来显示颜色
本文档你还可以自己设置与模板着色不一样的渲染颜色,即设置DocumentMaterials
注意点到球上面右键设置颜色。
PreviewDisplay预设显示〔其实这些在Display菜单中也可以设置〕
DisplayGumballs是否显示操作轴。
所谓操作轴一般是针对点而言的,如果勾选了那么对于点的显示如下:
但是引用物件不会显示操作轴,也就是ReferencedPoint不会显示操作轴如如下图:
有同学可能会问为啥,这个跟引用物件在gh里面存储的机制有关,这个机制跟单纯的储存几何对象肯定不一样,我估计大概都是存储的Guid〔这东西是世界上最不值钱的,不知道是啥可以去百科下〕。
那么操作轴有什么好处呢?
在gh中好处很明显,就是你可以拖动操作轴对点进展移动〔貌似不能输入具体的移动距离,而且也只能朝世界坐标的X,Y,Z方向拖动〕。
我们知道gh中的物件在犀牛中是不存在的,而这个东西可以在犀牛中拖动不存在的点来改变gh中的数据,已经很了不起了。
剩下的就是对gh显示颜色渲染质量的设定
这里需要注意的是,如果选用低质量的渲染有可能看到的点,线会偏离真实位置,所以你电脑配置不错的还是选择高质量渲染比拟好,要不可能会出现很多点乱跑的情况。
3,
各种小部件,如如下图
A,Align对齐小部件,如果勾选的话选中多个电池如此会显示对齐选项如如下图:
也就是顶端对齐,居中对齐,间距相等阵列等,自己点点试试吧,学习gh一定要勤动手。
B,Copass罗盘
Showpasswidget是否显示罗盘部件
Drawobjectbubbles是否在罗盘边缘显示电池气泡
Onlydrawselectedobjects只显示选中电池的气泡
如如下图:
此罗盘终究有何意义?
本人虽然用gh也好多年了,但是真的还没有用过这个罗盘。
我想大概就是一个位置定位吧,如果你连线图中电池太多,可以指示你电池在面板里面的分布情况,以便你能快速找到电池。
C,Marov建议电池菜单
勾选ShowMarkovwidget会在gh某个角落显示一个长条菜单显示建议电池,也就是说gh在推测你下一个将用什么电池,给你一个建议。
Dockingcorner是设置这个长条所在的角落位置
Suggestions设置显示建议电池的个数,最多设置10个。
如如下图:
而且你还可以拖住箭头所指的黑色边界左右拖动来调节Suggestions的个数。
D,Messages消息
GH的SDK里面有错误消息,警告消息和空白消息。
我们一般看到的都是前两个
如果勾选了ShowMessageswidget,那么会在每一一个计算器的右上角显示一个消息,鼠标移到此处会弹出提示。
鼠标单击此处会弹出消息内容,鼠标点击消息内容可将消息复制到粘贴板。
E,Profiler分析器
这个是最有意义的一个部件。
本帖隐藏的内容
显示它,可以让你知道每个计算器的运行时间,以与所占总时间的比例。
如如下图:
这样,我们就可以知道哪些步骤比拟耗时间,来寻找更优化的方案。
Threshold是用来设置显示时间的最小值,小于这个值就不再显示时间,毕竟显示也是一种浪费资源的计算。
这个是以毫秒为单位的,gh里面电池的运算速度还是非常快的,因为所有的东西都是加载到内存的。
F,Zoomingwidgets缩放部件
这个也是跟性能有关的,如如下图:
Gh电池界面采用的是gdi+技术,很多显示在缩放的时候可以不显示的,只有当缩放到特别小的时候才显示,例如上图箭头所指的Profilermessage以与动态添加参数的+号按钮。
这样当缩放特别大的时候这些显示了也是没有什么意义的,就好比,你站的远了就看不清人的五官了,只知道那是个人就可以了,至于鼻子耳朵什么么必要看清楚。
这个值调到100%的话是全部都显示,最消耗内存的,调到1000%是最节省内存的。
而黑色三角所指示的是当前的缩放比例。
【SEG出品】GH插件讲解〔四〕之Preference
这是界面教程的最后一期。
下一期将会推出脚本电池讲解。
让我们快速完毕GH的界面,进入一些对高级用户有意思的话题。
继续上一节内容....
1,
文件点击后如下
AutoSave是否开启自动保存。
还是建议经常Ctrl+S
下面是激活自动保存的事件。
Ondocumentunloadevent 在文档卸载的时候〔应该指的是关闭吧〕
Onobjectaddedevent在添加电池的时候
Onobjectdeletedevent从gh文档删除电池的时候
Onobjectchangedevent在电池改变的时候〔应该指电池的输入改变的时候吧〕
Onwireevent在线头接入断开时
Ondatamappingevent在数据映射的时候〔这个真不清楚是什么东东〕
下面是自动保存的路径,点击show可以在文件浏览器中打开。
RecentFiles这里我们可以设置File菜单下,recentfiles子菜单中显示最近文档的个数。
Removemissingfiles点击会将最近文档列表中已经不存在的文档从最近文档列表中删除。
Removeallfiles将所有最近文档从列表中移除。
TemplateFiles这里可以设置自己的gh模板,设置后每次新建都会新建此模板。
2,
计算
上面可以设置GH里面GHA插件的加载方式。
默认系统会选择最适宜的方式来加载此插件。
用GH默认的加载方式来加载插件。
(终究是神马方式我真不清楚〕
插件将直接被加载。
插件将先被复制到内存中,优先加载。
后面这把锁
如果锁上如此,加载此插件的时候会提示,让你手动选择是否加载。
最后两个:
本帖隐藏的内容
勾选EnableSolver会将整个文档锁起,不进展任何计算〔显示除外〕,这个很有用,有些无法打开的文档比如里面有个死循环,打开即死怎么办?
我们要先新建一个文档,锁起〔中间也有把大锁性能一样〕然后再打开我们想要打开的文档更改其逻辑即可。
有的时候计算太慢,我们一般也是先锁起连线,按F5单次运行的。
Solverundo意思是Bake到犀牛文档中的几何物件的回退。
OK,今天就讲到这里,明天我们将穿插一些计算器的讲解。
【SEG出品】GH中级篇计算器讲解之脚本计算器〔一〕
感谢各位关注。
新参加成员可以查看我之前发布的帖子,在我发布的主题下【SEG出品】系列。
由于用户根底不一,我们要由浅入深,先讲根底操作,再讲工程实例,再到深入GHA开发,以与各种复杂算法。
期间可能会穿插着来讲,可以直接回复问题,我们会尽量去解答。
应大局部用户要求,我们今天将穿插一些深入点的东西。
就以脚本计算器为例讲一些计算器的应用。
GH中脚本计算器一共有三个如如下图:
说是脚本,但实际上并非我们理解的VBS,VBA这样的语言,而是完全面向对象的.net语言。
CSharp,VB.net以与IronPython。
其中C#是最为流行的,VB.net简单易学,使用VB6的同学可以转到这上面来,Python是非官方发布的一个插件,是开源的代码挂在GitHub上如下:
s:
//github./meel/ghpython感兴趣的同学可以在这上面和作者交流交流。
虽然说python这种语言运行速度比拟快,经过很多测试〔学习了前面的根底界面课程,我想你自己也能够进展测试了〕其速度还是比一般的电池速度慢的,我想这可能跟python在gh中的调用机制有关,而且这个计算器还有很多其他的bug,还不太完善,所以建议初学的同学不要使用此计算器〔虽然跟目前网络上的python热有悖〕。
本帖隐藏的内容
而实际上,这三种语言根本上都是依赖于.netFrame框架,源码可以相互转换的。
下面两个连接就是本人经常用的转换源码页面:
.developerfusion./tools/convert/csharp-to-vb/
所谓.netframe框架是微软开发一套类库,里面有各种类,方法,函数,你可以通过一些语言进展调用,VB和C#是官方支持的两种语言,但是其他支持的语言也不下于百种。
目前最新的netframe框架是netframe4.5,用户最多的是netframe3.5,犀牛5使用的是netframe4.0,当然最新的gh也是。
这个其实一般用户没必要担心,因为安装犀牛5的时候,会自动给你装上的,或者提示你去下载安装的。
啰啰嗦嗦一大堆,有些童鞋可能急了,不要急,如果你想用代码写东西,就必须先了解一些根底东西才可以,要不然就是半瓶子醋,也摸不着头绪。
这是一个很纠结的问题吗?
客观来讲,C#用户量比拟大,网上代码铺天盖地,但VB6用户量在国内要更多,转到VB.net上的潜在量更大。
有人嘲笑VB.net是玩具,有人说微软之所以不放弃VB.net是因为盖茨喜欢Qbasic....更中肯的说法就是,都是语言,都是工具而已。
VB.net的同学不要因为别人怎么说就觉得拿不出门,实际上GH官方的很多电池都是使用VB.net写的。
两种语言从编译到运行都一样,从语言自身来说各有千秋。
所以就别拿这些说事了,功能实现了就好。
本人使,请使用其他语言的朋友多多包涵,勿喷。
我们讲脚本,主要讲VB.net以与python,请C#同学们多用上述网页转换一下--
很久以前,曾经GH有两个VB计算器,两个C#计算器。
但是随着Rhino_DotNet.dll的没落,以与犀牛官方说在犀牛6中要完全移除Rhino_DotNet.dll,最终那两个调用Rhino_DotNet.dll的计算器被贴上了OLD,并退出了gh的Tab,隐居后台。
所以现在我们看到的VB,C#计算器使用的是Rhinomon.dll里面的类库,当然也可以用Rhino_DotNet.dll,后面讲gha开放会讲解如何用。
好了,我们开始说电池。
所谓脚本电池就是你可以在这里〔双击电池打开代码编辑器〕写代码,利用输入输出端完成你所要的功能。
一,点击上图中加减号,我们可以增加或移除输入,输出端。
整个脚本计算器的运算实际上只是一个名为Script_Instance的类,此类继承自GH_ScriptInstance。
这个类中有一个最重要的过程如下:
PrivateSubRunScript(ByValxAsObject,ByValyAsObject,ByRefAAsObject)
EndSub
此过程的参数即电池的参数,byval的都是传值参数均为输入端参数,byref是传址参数或者叫引用参数均为输出端类型。
传值与传址的区别自己可以查一下,任何一本编程的根底篇应该都有,这里表现的并不是很明显。
当你动态的添加或者移除参数,里面代码也动态的跟着改变。
参数的名字与类型,以与数量只能通过电池界面设定。
二,参数类型
可以说了,是类型支撑了gh魔术般的功能。
我们用gh如果不去深入的去了解其中的数据类型也只能做门外汉了。
电池的参数有各种类型〔我们将在后面讲到〕,脚本电池的参数的类型更丰富可以自定义,如如下图:
我们姑且叫箭头所指的图标为自定义类型。
见到此种图标我们就应该能知道此种类型我们可以自己在右键菜单里面去定义,设定〔FX,以与Expression计算器除外里面的类型为本电池所支持的类型〕。
上图菜单的下面四个字菜单是设置类型的地方,貌似很多人用了很久脚本都不清楚自己在用什么类型,一切都默认为Object--:
第一个Item为默认的意思此数据类型只是一个单一的数据
第二个List意思将此数据设置为一个列表,每次运算传输到计算器内部的是一个列表。
第三个Tree,这个恐怕是gh的核心类型了,这个太强大了,不了解这个就你无法触与GH的真谛。
它是一种分叉式的类型,不仅记录了存储了多个列表,而且记录了每个列表的形成路径,暂时就样说一下吧,后面会深入讲解。
每次运算传输的计算器内部的是N个列表。
我们写脚本之前一定要弄清楚,自己传输到过程中的参量到底是单一数据
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SEG 出品 Grasshopper 插件 讲解
![提示](https://static.bdocx.com/images/bang_tan.gif)