Вот некоторые Google SketchUp Ruby API фрагменты. Это очень просто, используя метод Edge#find_faces
, который заставит SketchUp попытаться найти возможные грани для данного ребра. https://developers.google.com/sketchup/docs/ourdoc/edge#find_faces
Поиск лиц для текущего выбора:
# Find faces for selected edges:
model = Sketchup.active_model
model.start_operation( 'Find Faces in Selection', true )
for entity in model.selection.to_a
next unless entity.is_a?( Sketchup::Edge )
entity.find_faces
end
model.commit_operation
Поиск лиц для текущего контекста:
# Find faces for current context:
model = Sketchup.active_model
model.start_operation( 'Find Faces in Current Context', true )
for entity in model.active_entities.to_a
next unless entity.is_a?( Sketchup::Edge )
entity.find_faces
end
model.commit_operation
Найти грани для всех ребер в модели:
# Find faces for all edges in model:
model = Sketchup.active_model
model.start_operation( 'Find Faces in Whole Model', true )
for entity in model.entities.to_a
next unless entity.is_a?( Sketchup::Edge )
entity.find_faces
end
for definition in model.definitions
next if definition.image?
for entity in definition.entities.to_a
next unless entity.is_a?( Sketchup::Edge )
entity.find_faces
end
end
model.commit_operation
Если вам нужно обработать пакет файла DWG для этого, вы также можете автоматизировать это, используя Model#import
для импорта файлов DWG. https://developers.google.com/sketchup/docs/ourdoc/model#import
Это предполагает, что ребра ограничивают копланарные поверхности. Вы получите твердое тело только в том случае, если импортируемая вами сетка может представлять его.