SketchUp Ruby APIを使用してStyle、シーン(プログラムでと呼ばれる)のを変更したい。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を使用して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= 常に返されるはず 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を実行しています)