|
1:你的理解在Rhino视窗中显示出来的物体都是具有Guid的。用rhinocommon创建出来的geometry都是在rhino的空间中,没在rhino的视窗中,得加上guid才能在视窗中显示。(打个比方就是rhinocommon创建好的物体就像生成好的产品还没加条形码(条形码也就像Guid),加了条形码才能出厂上架)2:理解了第一点,你的问题就可以解决了,你要输出的是point3d类型,所以可以用Rhino.Geometry.Point3d()直接创建,也可以用rs.coerce3dpoint()把guid的物体转化成point3d。
看下面的案例,
- #coding=utf-8
- import rhinoscriptsyntax as rs
- import scriptcontext as sc
- import Rhino.Geometry as rg
- #用rhinocommon创建一个点(还没加guid)
- pt1 = rg.Point3d(0,0,0)
- print (type(pt1))
- print (pt1)
- #给pt1加上guid,显示在rhino视窗中
- pt1_guid = sc.doc.Objects.AddPoint(pt1)
- print pt1_guid
- print type(pt1_guid)
- #刷新一下rhino的视窗
- sc.doc.Views.Redraw()
- #用rs创建rhino视窗中的点,直接就是guid(因为开发者在定义这个函数时候加了生成guid)
- pt2_guid = rs.AddPoint(10,10,10)
- print (pt2_guid)
- print type(pt2_guid )
- #把guid转换成point3d
- pt2 = rs.coerce3dpoint(pt2_guid)
- print (type(pt2))
- print (pt2)
复制代码
|
-
-
guid.py
684 Bytes, 下载次数: 1, 下载积分: 照度 -1 lux
售价: 1 lux照度 [记录]
|