如何使用 ruby 在 sketchup 中更改组件的属性 LenX/Y/Z?

How to change attribute LenX/Y/Z of your component in sketchup using ruby?

我想在 Sketchup 中制作一个动态组件,我需要将值设置为 lenZ、lenX、lenY.. 但是当我设置它时,它并没有改变。 属性检查器显示更改,但组件没有更改。我尝试使用重绘,刷新视图..但它仍然不起作用..(我需要通过这种方式,我需要从 ruby 插件设置组件,然后我必须调整它根据他们的属性)。 (对不起我的英语..)

这是我正在使用的代码:

sk = Sketchup
model = sk.active_model
view = model.active_view
sel = model.selection
obj = sel.first
dcs = $dc_observers.get_latest_class

obj.set_attribute('dynamic_attributes','lenz',20)
dcs.redraw(obj)

This is a image of the component, but their size is the same.

首先 $dc_observers.get_latest_class 应该在最后。

其次,您将 dcs 设置为 $dc_observers.get_latest_class

的结果

trhird ,你应该影响定义的值

请在下面找到应该有效的代码

model = Sketchup.active_model
sel = model.selection
obj = sel.first
obj.definition.set_attribute "dynamic_attributes", "_lenz_formula", "360"
$dc_observers.get_latest_class.redraw_with_undo(obj)

编辑

对于 DC,它们是其他几个以“_”开头的隐藏属性

  • _lenz_error
  • _lenz_formula
  • _lenz_label

_lenz_formula定义公式等