rhino8的选取过虑器怎么能像rhino7那样用 巨集控制打开与关闭??
-_SelectionFilter
_ShowDialog
enter
在rhino8中不起作用?
我们可以通过 Rhino 8 的容器来实现你要的功能:
Noecho -_Containers _Show Z-SelectionFilter _Toggle _EnterEnd
Containers 前面要加上连字符(中划线) ‘-’ ,Z-SelectionFilter 是你上一步创建的容器名称。
补充,Rhino 8 中 选取过滤器 和 物件锁点 这两组工具 类型为面板。
更多有关 Rhino 8 UI 相关的介绍请查阅 Rhino 8 更新介绍 | 界面布局 UI ,欢迎补充。
感谢 ansen老师
我还有一个疑问:
这样操作是可以实现选取过虑器巨集控制打开与关闭,但在rhino7里 用一个巨集 可以实现在选取过虑器
关闭即停用过虑器,打开选取过虑器即启前一次过虑器的设置。
在rhino8中上述巨集只能控制打开与关闭,能不能实现 关闭即停用过虑器;打开即启前一次过虑器的设置?
谢谢
附图rhino7的jif效果
运行指令:-_SelectionFilter
里面有对应的选项,和之前的巨集缝合到一起,这个相信你自己能研究出来。
-_SelectionFilter _J=_no _d _Toggle _enterend
-_Containers _Show 0z-SelectionFilter _Toggle _enterend
老师好
这是我试了好久了,但感觉不对,达不到rhino7的那种操作,谢谢
_d _Toggle
这句是错的,选项值是 Yes 或者 No,而不是 Toggle. 我个人写 Macro 会把全称写出来,这样可读性比较好,如果你经常要编写 Macro,建议切换到英文版界面,找选项值会比较直观。
正确的写法应该是:
NoEcho '-_SelectionFilter _DisableFilter=_Yes _Enter '-_Containers _Show Z-SelectionFilter _Toggle _EnterEnd
但是这个方法治标不治本,因为无论是否显示过滤器容器,选择过滤器的状态要么是激活,要么是停用。
所以需要借助脚本来完成,请复制到 Rhino 按钮编辑器中执行测试。
NoEcho -_RunPythonScript (
#coding:utf-8
import rhinoscriptsyntax as rs
import Rhino
Rhino.ApplicationSettings.SelectionFilterSettings.Enabled = not(Rhino.ApplicationSettings.SelectionFilterSettings.Enabled)
if Rhino.ApplicationSettings.SelectionFilterSettings.Enabled:
rs.Command("NoEcho '-_Containers _Show Z-SelectionFilter _Show _Enter")#如果激活过滤器,则显示"Z-SelectionFilter"容器面板
else:
rs.Command("NoEcho '-_Containers _Show Z-SelectionFilter _Hide _Enter")#如果激活过滤器,则隐藏"Z-SelectionFilter"容器面板
)
依然有缺陷(主要是我没有也不想去仔细深究这个问题):
总之不是很完美的解决方案。
就我个人而言不会纠结这些细枝末节的问题,就是鼠标点击一下的动作而已, Rhino 8 和之前版本操作上有很多细节差异,应该拥抱变化才能节约时间。
这个帖子到此为止吧,不要跟贴啦,当然如果有用户想到很好的方案欢迎补充呀~
另外温馨提示下,你发的贴子可读性挺差的,你要想让别人理解你的问题你应该编辑仔细点,说清楚你的问题,别人理解起来不会很费劲,这节省的是你自己的时间。