0

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をもう少し調べてみると、Pageupdateメソッドが見つかりました。ただし、試してみると同じ結果が得られました。(いずれにせよ、ユーザーの現在の見方に基づいていると思うので、ここでは関連性があるとは思いません。)

> pages[0].update(2)
true
> pages[0].style.name
[Design Style]

ここで露骨なものが欠けていますか、それともAPIが壊れていますか?

(SketchUp 8.0を実行しています)

4

1 に答える 1

1

これは機能するはずです:

styles.selected_style = styles["MyStyle"]
pages[0].update(2)

APIドキュメントは常に正しいとは限りません。情報が不足している場合もあれば、混乱している場合もありますが、明らかに間違っている場合もあります。

Page.use_style=ページ(現在SketchUpではシーンと呼ばれています)にスタイルを保存するかどうかを設定します。シーンツールウィンドウでページ(シーン)を選択すると、カメラ、非表示のジオメトリ、レイヤー、断面などを保存できる一連のチェックボックスが表示されます。これは、設定したプロパティです。 Page.use_style=

たとえば、ページ(シーン)を選択して参照します。[シーン]ウィンドウを開いたままにして、次のコマンドを入力します。

page.use_style = false
UI.refresh_inspectors

[スタイルとフォグ]チェックボックスがオフになっていることに注意してください。UI.refresh_inspectorsまた、このプロパティを設定するときにUIを更新するには、を呼び出す必要があることに注意してください。

于 2013-03-18T20:49:27.747 に答える