NCF参数化建筑论坛

标题: 用GhPython电池制作自己的插件(福利哦~~) [打印本页]

作者: 月之眼    时间: 2015-7-11 11:40
标题: 用GhPython电池制作自己的插件(福利哦~~)
本帖最后由 月之眼 于 2015-7-13 16:05 编辑

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



插件的完成效果:
[attach]43488[/attach]

[attach]43489[/attach]



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

[attach]43490[/attach]


查阅rhinocommonSDK帮助手册,在brep类下有个CreateFromOffsetFace方法。利用这个方法就可以偏移曲面成实体了。
[attach]43491[/attach]

源码:(代码就不讲了,如果看不懂的可以回复)
  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)
复制代码

[attach]43492[/attach]


在写代码的时候可以右键输入一些默认参数(如图)。
[attach]43493[/attach]


二:加入插件的信息
  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
复制代码

[attach]43494[/attach]


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

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

[attach]43495[/attach]


[attach]43496[/attach]



最后的效果:
[attach]43488[/attach]


源文件下载:




作者: 子奇    时间: 2015-7-11 13:08
坐沙发 来学习学习
作者: lzjjjs    时间: 2015-7-11 13:14
学习学习!共同进步~~
作者: SDK    时间: 2015-7-11 14:15
哇咔咔好东西
作者: 月之眼    时间: 2015-7-11 14:34
SDK 发表于 2015-7-11 14:15
哇咔咔好东西

好久没有看见sdk了
作者: SDK    时间: 2015-7-11 17:16
月之眼 发表于 2015-7-11 14:34
好久没有看见sdk了

刚下岗 准备干票大的 你们已经起飞啦
作者: panic_assassin    时间: 2015-7-11 23:46
学习了!!!!!!!!!!
作者: 许兴华    时间: 2015-7-12 01:31
不错不错,学习了,正在向这个方向靠
作者: wuhawuhababy    时间: 2015-7-12 08:53
月神的东西 过来学习啦
作者: 1500385678    时间: 2015-7-12 11:39
学习学习1111
作者: 左手◆23年    时间: 2015-7-12 12:38
啊啊,老乡啊,你要是把这个早些日子发出来我也就不用浪费那么多时间了
作者: 月之眼    时间: 2015-7-12 13:24
左手◆23年 发表于 2015-7-12 12:38
啊啊,老乡啊,你要是把这个早些日子发出来我也就不用浪费那么多时间了

前几天没时间嘛。。。前天刚刚写的。。。。你可以早点问我啊。。。。这个我很早前就会了。。只是没有时间写。。。。要不你写一篇开发gha插件的流程?我微信公告号帮你推一下?
作者: cythywz    时间: 2015-7-12 14:55
码起来 投完标好好好看看o(*≧▽≦)ツ
作者: lzeaf    时间: 2015-7-12 15:53
回复才能看到~~~~~~~~
作者: 珈蓝听雨    时间: 2015-7-13 09:12
学习一下!
作者: 虚子    时间: 2015-7-13 10:30
顶一个。谢谢分享
作者: hs1039700408    时间: 2015-7-13 14:28
很好很强大
作者: 低空飞行    时间: 2015-7-13 15:44
感谢分享,很有启发的东西
作者: -S-G-    时间: 2015-7-13 15:51
好好学习天天向上

作者: newokara    时间: 2015-7-13 16:01
3q for sharing
作者: ogfjll    时间: 2015-7-14 11:25
很想了解下

作者: 曦曦恋课    时间: 2015-7-14 13:06
学习PYTHON,努力学习
作者: 左手◆23年    时间: 2015-7-14 14:40
月之眼 发表于 2015-7-12 13:24
前几天没时间嘛。。。前天刚刚写的。。。。你可以早点问我啊。。。。这个我很早前就会了。。只是没 ...

恩恩,我试试看吧,到底是弄成视频的好呢还是弄成图文表达的好呢?我看你们发的基本都是图文表述的吧
作者: 月之眼    时间: 2015-7-14 17:16
左手◆23年 发表于 2015-7-14 14:40
恩恩,我试试看吧,到底是弄成视频的好呢还是弄成图文表达的好呢?我看你们发的基本都是图文表述的吧

都行随便你,,你啥方便就啥吧
作者: 左手◆23年    时间: 2015-7-14 22:02
月之眼 发表于 2015-7-14 17:16
都行随便你,,你啥方便就啥吧

行吧,我准备一下,如果准备的差不多了提前告诉你
作者: 月之眼    时间: 2015-7-14 23:23
左手◆23年 发表于 2015-7-14 22:02
行吧,我准备一下,如果准备的差不多了提前告诉你

恩恩
作者: 一陣風    时间: 2015-7-16 14:18
正想学习,就看到这么好的福利
作者: just_do_it    时间: 2015-7-17 09:10
正感兴趣,先下下来
作者: 月之眼    时间: 2015-7-17 10:54
just_do_it 发表于 2015-7-17 09:10
正感兴趣,先下下来

欢迎欢迎
作者: linyingliang    时间: 2015-7-17 16:22
谢谢分享!
作者: miniorange    时间: 2015-7-18 20:30
感謝樓主分享

作者: 月之眼    时间: 2015-7-18 21:54
miniorange 发表于 2015-7-18 20:30
感謝樓主分享

欢迎一起学习交流
作者: 看天的牧童    时间: 2015-7-19 09:49
来学习学习
作者: eggplant8008    时间: 2015-7-20 12:33
顶起来看看!
作者: 七策    时间: 2015-7-21 11:57
感谢!卖萌留念路过的
作者: jackchca    时间: 2015-7-21 12:19
It's great.
作者: Ben_Lin    时间: 2015-7-21 15:02
看看这是怎么搞得东西。。。。。
作者: 莣記┈憂傷    时间: 2015-7-24 14:51
过来学习学习啦
作者: 这是谁家娃    时间: 2015-7-29 21:20
写代码的都是大神啊

作者: maidongwhy    时间: 2015-8-4 14:29
!!!!!!!!!!!!!!!!!!!!!!!!!!
作者: 陈汉子    时间: 2015-8-6 13:26
学习一下真的学习了
作者: 疏影    时间: 2015-8-16 16:04
学习一下,看看大神
作者: ptnaminami    时间: 2015-8-18 19:50
学习下制作过程


作者: lzeaf    时间: 2015-8-26 10:09
感谢分享~~~~~~~~~~~~~~
作者: sacrina    时间: 2015-9-15 23:58
很有趣,加油加油!!!!!!!!!!!!
作者: hanbinhou    时间: 2015-10-17 23:44
O(∩_∩)O谢谢分享~~~~~~~~~~~~~~·
作者: 刚好    时间: 2015-11-7 09:52
最近在写些热环境的小程序,可以尝试一下把他们变成电池,哈哈哈,多谢lz,有啥不懂的再向楼主请教
作者: yintheway    时间: 2015-11-24 16:24
挺实用的 可以编一些东西了
作者: 月之眼    时间: 2015-11-24 21:57
刚好 发表于 2015-11-7 09:52
最近在写些热环境的小程序,可以尝试一下把他们变成电池,哈哈哈,多谢lz,有啥不懂的再向楼主请教

欢迎交流         
作者: 柒⑩︶譕所蓶    时间: 2015-11-29 16:34
谢谢分享这么好的东西
作者: kyrayamato    时间: 2016-3-31 16:09
楼主强大,正在向各位大牛学习中
作者: You你俄⑨快樂    时间: 2016-5-16 18:15
很厉害的样子学习了努力学习中
作者: bowen005    时间: 2016-5-18 14:10
mark mark mark
作者: yun8726    时间: 2016-6-9 19:03
谢谢楼主分享  不错的东西
作者: 85975923    时间: 2016-6-28 14:32
谢谢楼主分享
作者: 横穿马路    时间: 2016-7-5 18:08
回复看看,谢谢分享
作者: DONNA    时间: 2016-7-8 10:23
关注一下,谢谢分享,继续加油
作者: JACK...    时间: 2016-8-10 13:30
小白,学习学习
作者: wizardlyl    时间: 2016-8-10 15:29
不会python的小弟只能膜拜了
作者: 543216789    时间: 2016-8-24 11:00
thank you for sharing~
作者: acode    时间: 2016-8-25 15:44
感谢分享~下下来学习学习
作者: ff182    时间: 2016-9-1 17:04
下下来感受一下,谢谢楼主
作者: @@@    时间: 2016-9-5 21:58
真的非常赞!!
作者: xielanmin    时间: 2016-9-22 19:13
我怎么没回复我大月的帖子呢,支持原创货。。。。
作者: tcxqq    时间: 2016-11-5 17:04
有电池吗 我要下来看看

作者: 月之眼    时间: 2016-11-6 14:27
tcxqq 发表于 2016-11-5 17:04
有电池吗 我要下来看看

自己弄个吧,这个不难的
作者: pray    时间: 2016-11-7 20:21

顶一个。谢谢分享
作者: sheep2086    时间: 2016-11-21 15:18
楼主厉害!我就是想看一下源文件。
作者: guohust    时间: 2016-11-29 15:36
这个给力,太牛了
作者: huahua575    时间: 2016-12-22 19:46
学习学习!共同进步~~   
作者: xurugen    时间: 2016-12-28 17:46
谢谢分享,学习进步中
作者: 刚好    时间: 2017-1-6 23:32
喜欢用Python写东西,一个字很顺
作者: 52幕墙设计    时间: 2017-1-10 00:46
很详细的教程
作者: xyz1322    时间: 2017-1-12 16:03
学习下谢谢lz分享
作者: yanchun_1963    时间: 2017-1-15 23:52
非常感谢,我想学习,求求你教教我。我求求你了。我是一个蓬蓬!
作者: kx107    时间: 2017-2-12 16:39
感谢分享,上午还在看题主写的大水牛GHpython入门教程哈哈
作者: chejunying    时间: 2017-3-9 15:16
很厉害,学习了~
作者: 阿强    时间: 2017-4-5 15:15
很好啊,学习啦
作者: 小立恨因谁?    时间: 2017-4-24 21:03
我需要ghpython安装包!我不会用
作者: 天津桥上    时间: 2017-4-25 21:44
感谢分享!
作者: radgrant    时间: 2017-5-2 09:26
打算学习PY   收下了
作者: z0z0z0    时间: 2017-5-8 22:02
非常感谢呀
作者: qq647091770    时间: 2017-5-9 22:17
很不错,谢谢分享啊
作者: 简单1314    时间: 2017-5-15 21:14
学习学习,目前还是代码小白
作者: 痛苦并快乐着    时间: 2017-6-4 10:42
求教,找的就是他,谢谢啦
作者: 刘孪娈    时间: 2017-6-5 17:07
学习学习!!!!!!!!!!!!
作者: 刘孪娈    时间: 2017-6-5 17:52
face = [i.Faces[0] for i in srf]   这一句是将surface 转成BrepFace吗,用什么命令转的呢?你是将所有的surface转成BrepFace,如果我就只转一个surface呢
作者: 月之眼    时间: 2017-6-6 21:51
刘孪娈 发表于 2017-6-5 17:52
face =  for i in srf]   这一句是将surface 转成BrepFace吗,用什么命令转的呢?你是将所有的surface转成B ...

只有一个你可以不这么写,不过写程序的让程序健壮有点麻。本来就设置的brep类型,你可以查看brep类的方法就知道如何转的了
作者: Albert-ZP    时间: 2017-6-26 14:40
好好学习天天向上
作者: pezyl    时间: 2017-8-11 10:23
感谢分享,学习中
作者: licml    时间: 2017-8-11 16:24
好东西,早就应该学了

作者: 落寞醉    时间: 2017-8-12 17:17
新手,来学习学习
作者: 渐隐    时间: 2017-8-13 14:51
非常感激!学习了~~
作者: lazee    时间: 2017-8-13 19:08
棒棒
















作者: 旋影灯心    时间: 2017-8-17 15:34
月神好厉害啊
作者: 尧兄    时间: 2017-8-20 02:32
GhPython 电池
作者: xizan    时间: 2017-8-29 14:02
给力!还是python效率高,看来要多学学!
作者: work2011    时间: 2017-9-9 15:50
真心向老师学习!!!!!!!!!!!!!!!!!!!
作者: mslneed    时间: 2017-9-15 21:19
参观学习一下
作者: 繸★影ツ    时间: 2017-9-17 17:15
感谢楼主。。。。。。。。。。




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