ruby - 如何使用 ruby 在 SketchUp 中更改组件的 LenX/Y/Z 属性?
问题描述
我正在尝试在 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)
解决方案
首先 $dc_observers.get_latest_class 应该在最后。
其次,您将 dcs 设置为 $dc_observers.get_latest_class 的结果
第三,你应该影响定义的价值
请在下面找到应该工作的代码
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 定义公式和其他
推荐阅读
- google-cloud-build - 修补 CloudBuild 触发器
- javascript - 在JavaScript中的对象函数中删除对象的引用本身
- json - 通过控制器传递 json
- vba - 过去 12 个月的总成本 MS Access VBA
- html - 为什么 Chrome 会认为我的表单是信用卡表单?
- swiftui - 在 SwiftUI 中正确组合 TabView 与 PageTabViewStyle、NavigationView 和 ScrollView
- json - Flutter http 获取json数据
- java - 没有注册的 Eureka 客户端实例。(JAVA11,Maven)
- java - Drools:如何在非表达式中实现和( && )条件?
- python - 在 py-rewrite 中创建城市字典命令?