如何使用 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定义公式等
我想在 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定义公式等