我已经开始为 Sketchup 开发一个插件,我正在寻求一些帮助。目前,该插件允许人们选择一个文件夹,然后打开文件夹中的每个 DXF 或 DWG 文件并将其另存为单独的 .skp 文件。这是因为我需要将 .skp 文件导入另一个不采用 DXF 或 DWG 文件的 3D 程序。
脚本还有很多内容,但这里是导入和保存的“主力”部分:
model.import filename, false
outputname = File.basename(filename) + ".skp"
model.save outputname
model.entities.clear!
现在,列出的代码包含在 for 循环中。这完美地工作,除了每个模型都太大了。我需要提示用户输入“比例因子”并使用它来缩小模型。
现在,我在代码的“工作”部分之前完成了以下操作:
scalePromptResult = UI.messagebox "Woudl you like to adjust the scale for ALL models being converted?", MB_YESNO
scaleFactor = 0
if scalePromptResult == 6
prompts = ["Please enter the scale factor you want to use"]
defaults = [0]
inputArray = UI.inputbox prompts, defaults, "Scale Factor"
scaleFactor = inputArray[0]
end
这会提示用户输入比例因子。这就是我所知道的。我是否正确地调用了这一切。我更熟悉Objective C 和.Net。我还需要做些什么来将给定的值转换为正确的数值。
现在,如果我有正确的,那么也许有人可以告诉我为什么这在我的代码中不起作用:
If scaleFactor > 0 then
transform = Geom::Transformation.new([scaleFactor, scaleFactor, scaleFactor])
model.entities.transform_entities(transform, model.entities)
end
谢谢!