多次执行时会默认显示上一次拾取的Rhino物件,如何在执行一次之后清除选取缓存?不能在GH代码中全部隐藏或直接删除拾取物件,因为要预览。
能否给出测试文件,方便测试你说的这个问题。
老师您好,被拾取物件不能删除,因为我要重复用到,拾取电池已经关闭预览了,执行插件时会显示上一次拾取物件,但实际上在此执行插件时又还是要重新选取,好像又没被缓存下来,有点搞不懂了,有什么办法不显示这个缓存么?或者是执行一次后就清除这个缓存。
编译rhp后是这个情况,GH Player执行没有这个情况是正常的。
一个 GH 的 solve 就是一次解算,会按照连线的顺序从头到尾算一次,打包成 rhp 以后,只是借助了 GH Player 来完成了一次解算,输入口的任何变动都会让 GH 再重新算一次,这里没有所谓的缓存,就是保存在 input 端口的数据,你想要删除的所谓“缓存”和你要重复使用的数据本来就是一个东西,不可能说又删除又使用。
好的,谢谢老师的指导,谢谢了。
一年前我也有此困惑,看了下答案并不理想。
这几天刚刚解决了这个问题,特回来分享思路如下,但答案还得自己找哈。。
打包成插件后,初次启用没有问题,如果连续使用,上一次的结果是在内存里的,会对二次启用形成干扰;除非关闭文件,重新打开,则又正常。 但这样的插件用起来极其不方便(显示类:尺寸数据,颜色,结束后还会停留;显示类电池不能隐藏,否则看不到。 如果输入过新数据,比如默认0,输入1,再次打开默认处就成了1 )
我的思路是:
增加一个结束步骤,做个判断,
判断的意思:结束了,把上面要显示/触发的部分断开。
但要注意,这个结束步骤同样也会存在内存里,对下一次使用形成干扰。 所以这个结束步骤最好能 delete input after solve。
目前只有get geometry有 delete after。。选项, 其他都没有,做结束特别不方便。
我也是绕了一大圈子,终于可以连续使用,每次启用时,上一次的显示都会消失。 以及我做了一个触发式的算法(类似button触发),必须用到结束步骤,来替换上一次输入的true,才能连续使用插件,否则输了一次true,再一次启用从头到尾持续自动触发,像病毒一样~ (除非用一次,关闭文件,打开文件一次)
借此提议:将delete input after solve选项应该扩展到其他get。。里面。 就能很好的解决gh打包插件连续使用的一些不便。
希望官方反馈下。