About Reference Classes

I modify the type of registration


But it still has no effect

I want to output the Referenced Brep at the input

This is the py source file
Test_group.py (4.7 KB)

注册输入和输出都是brep

改成一样的我也试了,得到的结果是一样的 :pensive:

发个GH文件吧,你的代码复制到python电池中无法运行

引用类型单独转换.3dm (36.8 KB)
引用类型测试.gh (5.1 KB)

已发,我不知道能不能帮助你测试这些功能

你的开发流程是什么?是pycharm直接写插件吗?
image

不好意思,我再发一份给你,这个是脚本文件
引用类型测试.gh (8.8 KB)

插件包我这边删除了 :no_mouth:

删除了插件包,那你自己都无法运行你的插件
刚发的脚本也不包含注册输入端。
不明白你也没再用什么第三方py插件例如numpy,为何会考虑用py开发GH插件而不是C#
这只是在给自己找麻烦

建议发中文区,有两位版主有python开发经验可以帮到你

一般都是再GhPython写好后,直接打包成可编译的代码,开发的流程是这样的,我不会在GhPython脚本文件上写注册的方法

这个部分我就不是太熟悉了,你可以继续在这里等别人回帖,也可以去中文论坛发帖。

我个人觉得这样的操作意义不大,不如用比较正的路线例如VS直接出gha

方向不同,python编译好的是ghpy文件,而c#一般是gha文件;但无论如何,还是感谢你的回复

理论上说你这么现场编译的效果应该和gha一样,gha能实现的ghpy也能实现
只不过现实中事与愿违。。。
用ghpy的人相对少很多,你能获取的各类资源和帮助也远不如C#/VS/GHA流程

I’ve not tried using .Add, but I’ve been able to dynamically add Params by calling:

Params.Output.RegisterOutputParam(p)
Params.OnParametersChanged()

I think you really should do that in the middle of:

ParamsSyncObj = Params.EmitSyncObject()

# Params.RegisterOutputParams as above

Params.Sync(ParamsSyncObj)
Params.RepairParamAssociations()

But I couldn’t tell you what that does exactly. If you’re adding Output Params from RunScript, I found it was necessary to exit the call from Runscript with None retvals to avoid an error pop up:

return (None,) * len(Params.Output)

and let the user trigger a new update to the component.

1 Like