我正在尝试从文件导入三角形网格(例如,.3ds,.dae)。但是,似乎忽略了一些面(三角形)。如果我在导入之前将模型缩放10倍,那么三角形就是圆滑的。有没有办法强制草图加载所有面,甚至是小面?
以下是以常规比例加载闭合网格(无边界)的示例。 SketchUp忽略了一些三角形,创建了孔和悬垂边缘:
此外,我导入后立即将光标设置为“移动模式”,因此将对象放置在我的光标随机出现的任何位置。有没有办法在没有鼠标交互的情况下将模型精确导入当前坐标系?
答案 0 :(得分:0)
是的,Sketchup不能正确导入非常小的边/面是一个已知问题。您可以使用此ruby脚本自动执行升级模型的导入过程:
model = Sketchup.active_model
# Import your dwg file, true if you want the summary screen
model.import 'C:\path\to\example.dwg', false
# Reset the selected tool
model.select_tool(nil)
# Get all imported faces
faces = model.entities.grep(Sketchup::Face)
# Create a new ComponentDefinition
definition = model.definitions.add "dwg"
# Add the points of every face to the definition
faces.each{|f| definition.entities.add_face f.vertices}
# Remove all entities
model.entities.clear!
# Create a new DefinitionInstance that is scaled by 0.5
transformation = Geom::Transformation.new(0.5)
instance = model.entities.add_instance definition, transformation
# Explode the component to work with the model
instance.explode
这会将组件添加到原点,并负责缩放导入的模型。如果您的模型是skp
文件,您甚至可以将其直接加载到ComponentDefinition
,但这对dwg
文件不起作用。