用int也不行啊。。或字符也不行
他需要的类型还是这个"Alignment",给了int以后你需要将其做一个强制转换。
enum列表只是告诉你int和他这几个Alignment的对应原则。
int a;
a=2;
那么(Rhino.DocObjects.TextHorizontalAlignment)a这个表达式对应的就是右对齐
如你所见,你选择的是困难模式,有大量知识点是缺漏的。
所有我认为需要提点你的地方,我都会尽量解答详细。能给链接的我会直接给链接。
Rhinocommon并不是一本写的很好的程序文档。
但如果涉及到if语句都不会写的情况,这类属于搜索引擎都可以轻易搜到信息。
这不属于抄近路,也不属于“现阶段就是这样”能够解释得通的。
针对这两类问题我会以不同的方式回答你,也希望你理解。
理解,感谢老师的耐心
已经回答你了
首先你自己已经成功bake出来了,只是少了个按钮
其次月神帮你重新整理了架构
如上图,这个部分就是主程序了
再然后我告诉你了if的写法,这是最基础的python语法
同时又介绍了if应该加在bake语句的上面
我连bake的语句都告诉你了
此时你应该做的是整理两句话
if b=true:
Rhino.RhinoDoc.ActiveDoc.Objects.AddText(你的参数)
然后百度一下,得知python的if语句格式是:
其实编译器会自动给你的if下一行加空格
把这两句话加入到你的runscript最后即可。
我不是很理解以上几个非常简单的拼凑过程,为什么会怎么都弄不出来。
之前我也是这样试过的
写上面?
查阅rhinocommon。不要偷懒只看内部的提示。
https://developer.rhino3d.com/api/RhinoCommon/html/Overload_Rhino_DocObjects_Tables_ObjectTable_AddText.htm
有那么多函数可以选择,搞不清Attribute那个的话,你选不带attribute的就可以
一般情况下不会将bake写到显示模块中,而是会写在主程序。
不过慢慢来,在GH环境写代码比起普通环境难度本来就要大。
多谢了,没有两位老师指点,我还真没辙 。现在觉得代码还挺有意思的。
建议你先学习一下python基础,你写到for循环里了,肯定会bake几份啊。
我的话我会单独定义一个函数来bake,像这样。
还有一个问题就是写过sc.doc = r.RhinoDoc.ActiveDoc,必须要写sc.doc = ghdoc,不然会一直在rhinodoc中操作,也就一直在bake了。
显示文字8.gh (16.3 KB)
比如随便写个添加圆。写了sc.doc = r.RhinoDoc.ActiveDoc就全bake到犀牛里了。
然后把sc.doc = r.RhinoDoc.ActiveDoc删掉,这个时候还没有把doc换回ghdoc,就还是一直在bake。
写个sc.doc = ghdoc,把doc换成ghdoc就不会bake到犀牛里了。