Rhino(犀牛)中国技术支持与推广中心

标题: 【GhPython】分开一个列表中的数字和字符串 [打印本页]

作者: 筑梦NARUTO    时间: 2015-8-16 22:03
标题: 【GhPython】分开一个列表中的数字和字符串
本帖最后由 Jorin 于 2016-3-22 15:32 编辑

在rhinopython中分开一个列表中的数字和字符串是非常的简单,直接判断下就行了。这里不多说了,直接上代码。
  1. #coding=utf-8
  2. from types import StringType
  3. a = [1,2.3,"h","j",3.0,"j"]
  4. b=[];c=[]
  5. for i in a:
  6.     if (type(i) == StringType):
  7.         b.append(i)
  8.     else:
  9.         c.append(i)

  10. print b
  11. print c
复制代码


然而在ghpython中输入的时候都会被默认转换成字符串,这样分开就比较麻烦。这里提供了一种gh的方法和ghpython的方法。gh主要利用强行转换类型办到的,然而在gh中字符串“e”会被当成自然常数e,所以需要再做个判断。


在ghpython中主要利用的错误处理机制来实现的,也就是try..except...else结构办到的,详细请查看代码。

  1. a=[];b=[]
  2. for i in x:
  3.     try:
  4.         float(i)
  5.     except ValueError:
  6.         a.append(i)
  7.     else:
  8.         if i.find(".") != 1:
  9.             b.append(int(i))
  10.         else:
  11.             b.append(float(i))
复制代码


源文件下载链接:http://pan.baidu.com/s/1i3pixNn 密码:prfs[/hide]

作者: arch_yr    时间: 2015-8-16 23:04
大神万岁!  我有一个问题想问一下哈,如果我要在GHpython中调用Rhino中的命令,比如说Flow,Bend等等,该怎么办呢?
作者: 筑梦NARUTO    时间: 2015-8-16 23:09
arch_yr 发表于 2015-8-16 23:04
大神万岁!  我有一个问题想问一下哈,如果我要在GHpython中调用Rhino中的命令,比如说Flow,Bend等等,该怎 ...

rs.Command()这个函数就可以调用了,我以前有个小案例,链接在这里:http://bbs.rhino3d.asia/thread-24991-1-1.html
作者: arch_yr    时间: 2015-8-16 23:26
arch_yr 发表于 2015-8-16 23:04
大神万岁!  我有一个问题想问一下哈,如果我要在GHpython中调用Rhino中的命令,比如说Flow,Bend等等,该怎 ...

多谢多谢,再贪心的问一个问题啊。 那怎么在GHpython中调用Galapagos Evolutionary Solver这个运算器呢?

2345截图20150816232846.jpg (4.63 KB, 下载次数: 141)

2345截图20150816232846.jpg

作者: 筑梦NARUTO    时间: 2015-8-16 23:37
本帖最后由 筑梦NARUTO 于 2015-8-16 23:49 编辑
arch_yr 发表于 2015-8-16 23:26
多谢多谢,再贪心的问一个问题啊。 那怎么在GHpython中调用Galapagos Evolutionary Solver这个运算器呢?

ghpython也提供了调用gh电池的方法啊,不过没有必要。能gh就gh,没必要用代码。用代码调用gh电池总给我多此一举的感觉了。而且现在有些gh的电池也不支持调用或者调用了也会出错,不建议用。

还有你想用GHpython实现的功能是有插件的,没必要写,下载链接:http://www.food4rhino.com/project/jackalope?ufh

关于插件的介绍:Jackalope is a Grasshopper component that implements the standard Rhino space morph operations: Bend, Flow, Maelstrom, Splop, Splorph, Stretch, Taper, and Twist.
作者: arch_yr    时间: 2015-8-16 23:55
本帖最后由 arch_yr 于 2015-8-16 23:58 编辑

谢啦谢啦,插件我已经装上鸟~   弱弱的问一下: 如果我想在GH(或者GHpython中)用Galapagos挨个对一连串相似对象的同一个参数进行优化,有没有可以实现的办法啊?  要不就得一个一个手动连接Galapagos了,累死了
作者: 筑梦NARUTO    时间: 2015-8-16 23:56
arch_yr 发表于 2015-8-16 23:55
谢啦谢啦,插件我已经装上鸟~   弱弱的问一下: 如果我想在GH(或者GHpython中)用Galapagos对一连串相似对 ...

不清楚,没有试过这个电池支持调用不,如果支持,你里面也要实现参数化啊,没有直接用方便,你为啥一定要调用这个电池呢?
作者: arch_yr    时间: 2015-8-17 00:02
没事,就是好奇问一问嘛,工作了白天比较忙。 闲下来就容易胡思乱想嘿嘿  多谢大神啦,大神晚安~
作者: 筑梦NARUTO    时间: 2015-8-17 00:09
arch_yr 发表于 2015-8-17 00:02
没事,就是好奇问一问嘛,工作了白天比较忙。 闲下来就容易胡思乱想嘿嘿  多谢大神啦,大神晚安~

真不建议用ghpython调用电池做东西,会遇到很多小bug,或者调用了不起作用的情况。你可以调用Flip Matrix 这个电池试试,貌似就不能用。能直接写就直接写。实在没有办法了再调用电池或者犀牛的命令。
作者: arch_yr    时间: 2015-8-17 00:17
对对,大神说的是。 我就是惰性大,老是想偷懒。。。
作者: A525346    时间: 2015-9-22 10:12
學習學習!!
作者: xueyuan    时间: 2015-12-10 11:31
学习学习 谢谢分享
作者: zrg031882    时间: 2015-12-31 16:26
学习一下,谢谢分享
作者: FOREVER.M    时间: 2016-2-24 13:04
月神牛逼,顶起顶起
作者: A525346    时间: 2016-3-27 10:52
终于找到了!!!
作者: Machiapple    时间: 2016-5-19 04:27
谢谢分享,学习!学习!
作者: Machiapple    时间: 2016-5-19 04:29
本帖最后由 Machiapple 于 2016-5-19 04:31 编辑

支持一个
作者: yong+tse    时间: 2016-5-20 17:47
学习中~~~~~~~~~~~
作者: tim_chaos10    时间: 2016-7-19 20:01
谢谢分享
作者: UAS-tribe    时间: 2017-1-21 22:39
基础的代码学习了
作者: 追求一梦111    时间: 2017-5-25 14:03
z神   学习学习 了
作者: 追求一梦111    时间: 2017-5-25 15:19
很好的基础学习学习




欢迎光临 Rhino(犀牛)中国技术支持与推广中心 (http://bbs.rhino3d.asia/) Powered by Discuz! X3.2