我想使用SketchUp Ruby APIStyle
更改场景(以编程方式称为 a Page
)。
首先,我只是通过SketchUp 中的 Ruby 控制台进行测试。为了清楚起见,我已经预先添加了我运行的所有代码>
。
假设我从所有开始Styles
:
> styles = Sketchup.active_model.styles
#<Sketchup::Styles:0xad9cd08>
Style
我在 的“池”中添加了一个新的Styles
,并检查是否可以引用它
> styles.add_style("MyStyle.style", false)
true
> styles["MyStyle"]
#<Sketchup::Style:0xad6f45c>
当我尝试将 应用Style
到 a Page
(在 SketchUp GUI 中,aPage
称为场景)时,使用use_style=
:
> pages = Sketchup.active_model.pages
#<Sketchup::Pages:0xad9cccc>
> pages[0].use_style?
true
> pages[0].style
#<Sketchup::Style:0xad7fdac>
> pages[0].style.name
[Design Style]
> styles["MyStyle"].name
MyStyle
> pages[0].use_style = styles["MyStyle"]
#<Sketchup::Style:0xad6f45c>
根据 API 文档,use_style=
应该总是 return nil
,所以我觉得这里有些不对劲。无论如何,这是我pages[0].style
在运行上面的代码后得到的:
> pages[0].style
#<Sketchup::Style:0xad7fdac>
> pages[0].style.name
[Design Style]
在 API 中查看了更多信息后,我找到了Page
'update
方法。然而,尝试它产生了相同的结果。(无论如何,我觉得它在这里无关紧要,因为我认为它是基于用户当前的看法。)
> pages[0].update(2)
true
> pages[0].style.name
[Design Style]
我在这里错过了什么公然的东西,还是 API 刚刚坏了?
(我正在运行 SketchUp 8.0)