我有一个SketchUp模型,我是通过导入其他三个模型文件创建的。我想更新三个底层模型文件之一。如果我编辑模型并再次进行物理导入,我必须花时间再次对模型进行物理定位。有没有办法改变底层模型,更高级别的模型会自动更新?
答案 0 :(得分:1)
不确定这是编程问题还是用户问题,但如果是编程问题,那么您可以使用DefinitionList#load
加载新的SKP文件,然后使用ComponentInstance#definition=
替换要替换的定义的实例。
http://ruby.sketchup.com/Sketchup/DefinitionList.html#load-instance_method http://ruby.sketchup.com/Sketchup/ComponentInstance.html#definition=-instance_method
如果这是一个用户问题,那么我建议您在超级用户网站(https://superuser.com/)或SketchUp论坛中提问:https://forums.sketchup.com/
答案 1 :(得分:1)
您无需以编程方式进行此操作-您可以在Sketchup本身中进行此操作。
要更新组件(类似于Autocad中的XREF)
每当对aComponent.skp文件进行更改时,所需要做的就是进入workingFile.skp并在OUTLINER中而不是在Component窗口中找到加载的组件(我在这里做了一个叫weirdThing的内容)。 / p>
注意:如果右键单击“组件列表”中的名称,则此方法无效(请参见下图)。
答案 2 :(得分:0)
虽然SketchUp没有链接模型,您无法自动更改从一个模型到另一个模型(无论如何都没有插件),但有一种方法可以用不同的模型替换组件。您是否习惯使用Ruby控制台?如果是这样,请执行以下操作(请注意,这假设您的对象是组件!):
键入以下内容(您必须选择旧实例):
old = Sketchup.active_model.selection.first
然后按Enter键。
在Ruby控制台中键入以下内容(必须选择新实例):
new = Sketchup.active_model.selection.first
然后按Enter键。
现在,要用新组件替换旧组件,请在Ruby控制台中键入以下内容:
old.definition = new.definition
然后按Enter键。
应该用新的组件替换旧组件。您现在可以删除先前导入的对象。清除模型也许是一个好主意。 请注意,替换使用旧实例的坐标轴位置。只要这些是同一型号,只需进行一些编辑,您就不会遇到任何麻烦。