Hello大家好!我是九哥~
最近有小伙伴咨询,如何在添加参数以后,用户只能看不能编辑?
这块吧,说起来难,实际上呢也可能不难,为啥呢,因为添加共享参数的节点很多,我们只需要找一个合适的,改改代码就成,这样就很简单了。
首先,我们常见的添加共享参数的节点,长的都差不多:
可以看到,他们共有的,一般是参数名称、参数组、参数类型、参数分组方式、实例or类型、族类别等等,其中也会有一些不一样的输入端,这是为什么呢?
这里,用到的第一个API知识是ExternalDefinitionCreationOptions,一个用于创建新的共享参数的定义选项,包括名称、类型、可见性、GUID和是否可修改等,如下图:
其中UserModifiable属性,就是用来标识参数是否可以在UI中编辑的。
可以看到,这个是可get可set的属性,我们直接设置即可。
基于此呢,我们可以自己写一个函数,或者改改别人的节点,如下:
修改后,我们就可以创建一个共享参数试下,可以看到,这个参数被灰置了,用户在Revit中是不能直接编辑的。如果想要修改参数值,需要通过Dynamo或者编程的方式来修改。
创建共享参数的节点,逻辑比较复杂,我这里就不详细讲了,小伙伴们可以自己尝试下,这里我就附上完整截图和修改后的代码,供小伙伴们测试。
完整代码如下:
最后呢,我们可以再用Dynamo设置下参数值试试,效果如下:
好了,今天的分享就到这里了,小伙伴们快去尝试吧~
领取专属 10元无门槛券
私享最新 技术干货