【发布时间】:2020-08-13 04:57:13
【问题描述】:
我正在尝试使用 Sketchup 中的内置 ModelObserver 类在用户保存当前模型时触发文件导出。出于某种原因,我的代码触发了无限循环 - 文本“onSaveModel”只输出一次,但 exportModel() 陷入了循环。
我的 Ruby 技能很低,但我也时常听说 SketchUp Ruby API 很糟糕。有人见过这个问题吗?
代码:
def protohypeEntry
Sketchup.active_model.add_observer(ProtohypeModelObserver.new)
end
class ProtohypeModelObserver < Sketchup::ModelObserver
def onSaveModel(model)
puts "onSaveModel" + model.to_s
exportModel()
end
end
def exportModel()
puts "exportModel()"
model = Sketchup.active_model
options_hash = { :triangulated_faces => true,
:doublesided_faces => true,
:edges => false,
:author_attribution => true,
:texture_maps => true,
:selectionset_only => false,
:preserve_instancing => true }
status = model.export 'C:\Users\Pelle\Test\test.dae', options_hash
end
protohypeEntry()
【问题讨论】:
-
什么 SketchUp 版本和平台?当我尝试您的 sn-p SketchUp 时,它会在没有 BugSplat 甚至系统消息的情况下崩溃。
-
我会尝试通过调试器运行它,看看会发生什么。虽然不知道为什么你看到一个循环,我看到一个崩溃。 :s 顺便说一句,如果您是 SketchUp Ruby API 和 SketchUp 扩展的新手,我建议您看看这篇文章:thomthom.net/thoughts/2012/01/…
-
@thomthom 最新版本 (15.13)。谢谢,我会看文章的!