NCF参数化建筑论坛

标题: 【求助】刚刚开始学习GHPython,一事研究良久不得解,跪求高人指点。 [打印本页]

作者: jlmaoju    时间: 2016-3-13 06:20
标题: 【求助】刚刚开始学习GHPython,一事研究良久不得解,跪求高人指点。
是Guid 和 Curve之间转换的问题,我去查了很多资料也大概对这俩东西有啥区别稍微有了点概念,但是还是有点点困惑。比如遇到下面这个问题:[attach]44077[/attach]
一开始导入GHPython的曲线的入口选的是如图所示那个(我一直理解为这个方式进来直接就是当作GUID用来的,不知对否)

但是过程中切开曲线需要将其从GUID转换为Curve,目前只找到这样的转换方式,但在这里却报错了,希望有前辈能不吝指点。

多谢多谢!![attach]44076[/attach]






作者: 月之眼    时间: 2016-3-13 08:39
默认的就是guid,你那里出错是因为转换出错了。返回的是一个null,所以显示没有PointAt()方法
作者: 月之眼    时间: 2016-3-13 08:44
还有你写代码逻辑有点混乱(你参数都带入函数了,咋还使用了全局变量)。还有不要用中文啊、、、、
作者: jlmaoju    时间: 2016-3-13 08:51
月之眼 发表于 2016-3-13 08:39
默认的就是guid,你那里出错是因为转换出错了。返回的是一个null,所以显示没有PointAt()方法

哦哦。。。不好意思不好意思,我太小白,刚刚开始,这个算是自己瞎摸索出来的,见笑啦。。。请问我这个怎么转换才能正确的把这个guid转换成curve呢?
作者: 月之眼    时间: 2016-3-13 09:09
jlmaoju 发表于 2016-3-13 08:51
哦哦。。。不好意思不好意思,我太小白,刚刚开始,这个算是自己瞎摸索出来的,见笑啦。。。请问我这个怎 ...

转换函数就是你写的那个,或者sc.doc.Objects.Find()
作者: jlmaoju    时间: 2016-3-13 09:11
月之眼 发表于 2016-3-13 08:39
默认的就是guid,你那里出错是因为转换出错了。返回的是一个null,所以显示没有PointAt()方法

因为如果直接用输入进去的那个来切的话,是这样报错:

Runtime error (TypeErrorException): Parameter must be a Guid or string representing a Guid
Traceback:
  line 495, in coerceguid, "C:\Users\Belmondo\AppData\Roaming\McNeel\Rhinoceros\5.0\Plug-ins\IronPython (814d908a-e25c-493d-97e9-ee3861957f49)\settings\lib\rhinoscript\utility.py"
  line 2439, in SplitCurve, "C:\Users\Belmondo\AppData\Roaming\McNeel\Rhinoceros\5.0\Plug-ins\IronPython (814d908a-e25c-493d-97e9-ee3861957f49)\settings\lib\rhinoscript\curve.py"
作者: 月之眼    时间: 2016-3-13 09:17
jlmaoju 发表于 2016-3-13 09:11
因为如果直接用输入进去的那个来切的话,是这样报错:

Runtime error (TypeErrorException): Paramete ...

转换方法这两个都行

作者: 月之眼    时间: 2016-3-13 09:18
jlmaoju 发表于 2016-3-13 09:11
因为如果直接用输入进去的那个来切的话,是这样报错:

Runtime error (TypeErrorException): Paramete ...

Parameter must be a Guid or string representing a Guid,这句话就说了,参数必须是guid或者string
作者: jlmaoju    时间: 2016-3-13 10:17
月之眼 发表于 2016-3-13 09:18
Parameter must be a Guid or string representing a Guid,这句话就说了,参数必须是guid或者string

哎呀妈呀!太感谢了,竟然提供了例子!  我拿回去好好学习一下~(其实我查了好多帖子都是看你的回复学到很多东西。。。没想到一来问问题就得到了你的回答~ 膜拜一下~)


作者: 月之眼    时间: 2016-3-13 10:29
jlmaoju 发表于 2016-3-13 10:17
哎呀妈呀!太感谢了,竟然提供了例子!  我拿回去好好学习一下~(其实我查了好多帖子都是看你的回复学到很 ...

相互学习而已
作者: jlmaoju    时间: 2016-3-13 10:58
月之眼 发表于 2016-3-13 10:29
相互学习而已

终于搞懂为什么我那个转换会出错了! 因为rs.SplitCurve ( curve_id, parameter, delete_input=True)
最后是有个删除初始曲线的参数,我没设置默认是True,所以我先切了再转换的时候其实原来那个曲线变量已经是空值了。

多谢多谢!!终于搞懂了!




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