NCF参数化建筑论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 249159|回复: 290

[个人作品] 用GhPython电池制作自己的插件(福利哦~~)

  [复制链接]
发表于 2015-7-11 11:40:19 | 显示全部楼层 |阅读模式
本帖最后由 月之眼 于 2015-7-13 16:05 编辑

今天介绍下如何用GhPython电池制作自己的插件案例用偏移曲面成实体,用vs写自己的gha插件过两天介绍。



插件的完成效果:
QQ图片20150710172601.png

QQ图片20150710173012.png



制作过程
一:先写代码
先说说为啥不用rs.OffsetSurface(),因为rs.OffsetSurface()函数有个小小的bug,rs.OffsetSurface()函数不能偏移修建过的曲面(如图),所以我们不用rs.OffsetSurface()函数。

QQ图片20150710174006.jpg


查阅rhinocommonSDK帮助手册,在brep类下有个CreateFromOffsetFace方法。利用这个方法就可以偏移曲面成实体了。
QQ图片20150710154240.png

源码:(代码就不讲了,如果看不懂的可以回复)
  1. def off(srf,dis,ofler,bothSides,createSolid):
  2.     if (not srf) :return
  3.     face = [i.Faces[0] for i in srf]
  4.     brep = [srf[0].CreateFromOffsetFace(i,dis,ofler,bothSides,createSolid) for i in face]
  5.     return brep

  6. brep=off(srfs,dis,ofler,bothSides,createSolid)
复制代码

QQ图片20150710165724.jpg


在写代码的时候可以右键输入一些默认参数(如图)。
QQ图片20150710165441.png


二:加入插件的信息
  1. #********************************************************************************************#
  2. #********* 偏移曲面多重曲面 **********************************************************#
  3. #********* 作者:月之眼 ****************************************************************#
  4. #********* 联系:naruto@n-dda.cn 编写时间:2015年7月 ***********************************************#
  5. """

  6. 偏移曲面多重曲面(与犀牛的曲面类似)

  7.     Input:
  8.         srfs: 需要偏移的曲面或者多重曲面
  9.         dis: 偏移的距离,默认的偏移距离为5
  10.         ofler: 偏移的公差
  11.         bothSides:是否向两边偏移
  12.         createSolid:是否偏移为实体
  13.     Output:
  14.         out:查看错误原因
  15.         brep:偏移成功的brep

  16. """


  17. ghenv.Component.Name = "Solid brep offset"
  18. ghenv.Component.NickName = "Sob"
  19. ghenv.Component.Category = "n-dda"
  20. ghenv.Component.SubCategory = "brep"
  21. ghenv.Component.Message = "偏移曲面多重曲面成实体"
  22. try: ghenv.Component.AdditionalHelpFromDocStrings = "1"
  23. except: pass
复制代码

QQ图片20150710171919.jpg


1:最上面随意加入一些作者的信息。
2:中间加入插件的作用,input的参数和output的参数,这个就是在help里显示的内容。写好了之后每个参数端都会有对应的提示,和正式的gh电池就差不多了
3:最下面加入一些电池在创建cluster的一些信息,比如电池的名字,简称,在那个名字下等等

三:打包创建图标
最后把写好的电池打包创建成cluster就可以。这样就完成自己的插件创建。

QQ图片20150710172029.png


QQ图片20150710172409.png



最后的效果:


源文件下载:
游客,如果您要查看本帖隐藏内容请回复




评分

参与人数 5强度 +8 照度 +38 收起 理由
奇奇狗 + 1 感谢分享!
eggplant8008 + 2 SO GOOD!
miniorange + 2 + 3 <font><font>很有啟發!</font.
skywoolf + 3 + 30 感谢分享!
wuhawuhababy + 2 + 3 感谢分享!

查看全部评分

发表于 2015-7-11 13:08:01 | 显示全部楼层
坐沙发 来学习学习
发表于 2015-7-11 13:14:00 | 显示全部楼层
学习学习!共同进步~~
发表于 2015-7-11 14:15:21 | 显示全部楼层
哇咔咔好东西

点评

好久没有看见sdk了  详情 回复 发表于 2015-7-11 14:34
 楼主| 发表于 2015-7-11 14:34:39 | 显示全部楼层
发表于 2015-7-11 17:16:00 | 显示全部楼层
月之眼 发表于 2015-7-11 14:34
好久没有看见sdk了

刚下岗 准备干票大的 你们已经起飞啦
发表于 2015-7-11 23:46:08 | 显示全部楼层
学习了!!!!!!!!!!
发表于 2015-7-12 01:31:10 | 显示全部楼层
不错不错,学习了,正在向这个方向靠
发表于 2015-7-12 08:53:02 | 显示全部楼层
月神的东西 过来学习啦
发表于 2015-7-12 11:39:55 | 显示全部楼层
学习学习1111
发表于 2015-7-12 12:38:03 | 显示全部楼层
啊啊,老乡啊,你要是把这个早些日子发出来我也就不用浪费那么多时间了

点评

前几天没时间嘛。。。前天刚刚写的。。。。你可以早点问我啊。。。。这个我很早前就会了。。只是没有时间写。。。。要不你写一篇开发gha插件的流程?我微信公告号帮你推一下?  详情 回复 发表于 2015-7-12 13:24
 楼主| 发表于 2015-7-12 13:24:31 | 显示全部楼层
左手◆23年 发表于 2015-7-12 12:38
啊啊,老乡啊,你要是把这个早些日子发出来我也就不用浪费那么多时间了

前几天没时间嘛。。。前天刚刚写的。。。。你可以早点问我啊。。。。这个我很早前就会了。。只是没有时间写。。。。要不你写一篇开发gha插件的流程?我微信公告号帮你推一下?
发表于 2015-7-12 14:55:17 | 显示全部楼层
码起来 投完标好好好看看o(*≧▽≦)ツ
发表于 2015-7-12 15:53:17 | 显示全部楼层
回复才能看到~~~~~~~~
发表于 2015-7-13 09:12:09 | 显示全部楼层
学习一下!
发表于 2015-7-13 10:30:21 | 显示全部楼层
顶一个。谢谢分享
发表于 2015-7-13 14:28:04 | 显示全部楼层
很好很强大
发表于 2015-7-13 15:44:09 | 显示全部楼层
感谢分享,很有启发的东西
发表于 2015-7-13 15:51:38 | 显示全部楼层
好好学习天天向上
发表于 2015-7-13 16:01:26 | 显示全部楼层
3q for sharing

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

GMT+8, 2024-4-27 19:58 , Processed in 0.117878 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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