私はSketchupとRubyの新機能ですが、私はjavaとC#で作業しましたが、これは初めてのrubyです。ruby sketchup scene serialization
今私は1つのjson(シーン階層、オブジェクト名、オブジェクトマテリアルとこれを単一のオブジェクトのために配置)ですべてのシーンをシリアライズする必要があります。どうすればいいですか?
私はunity3D(c#)でこれを問題なく実行しました。
私はこれを試してみました:
def main
avr_entities = Sketchup.active_model.entities # all objects
ambiens_dictionary = {}
ambiens_list = []
avr_entities.each do |root|
if root.is_a?(Sketchup::Group) || root.is_a?(Sketchup::ComponentInstance)
if root.name == ""
UI.messagebox("this is a group #{root.definition.name}")
if root.entities.count > 0
root.entities.each do |leaf|
if leaf.is_a?(Sketchup::Group) || leaf.is_a?(Sketchup::ComponentInstance)
UI.messagebox("this is a leaf #{leaf.definition.name}")
end
end
end
else
# UI.messagebox("this is a leaf #{root.name}")
end
end
end
end
' 'JSON' を必要としたことがあります。 some_var.to_json' – Kris
JSONにSketchUpエンティティ/モデルのシリアル化が組み込まれていないので、独自の方法を理解する必要があります。 'Sketchup :: Entity'の各サブクラスに対して、エクスポートするプロパティとその表現方法を決定する必要があります。あなたはそれをどのように使用するのかの要件によって決定されます。 – thomthom
hmm ..モデルのすべての子インスタンスに再帰的に掘り下げる方法についてのこの質問はありますか?私はあなたのコードがルートと最初のレベルをたどることに気が付いているからです。 – thomthom