Sketchup中的实体(Solid Manifold)
这是近期学习中,对实体(Solid Manifold)理解的一个记录。
一、什么是实体(Solid Manifold)?
在SketchUp中,实体是任何具有有限封闭体积的3D模型(组件或组)。
详细定义的话,包括:
- 必须是组件或群组
- 不能有破面
- 不能有多余的线
- 不能有其余的隐藏物体
- 每条线(edge)都只连接两个面(两个立方体,如果有任何一条边相切的话,尽管这两个立方体各自是一个实体,但合起来却不是)
如果做3D打印的话,模型中的零件必须都是实体才可以。
顺便说一下,有些中文的技术文章,在翻译“entity”这个词时,也翻译成“实体”,是不准确的。
- Entity,包含了所有的几何对象,在官方翻译中,译为“图元”。详细理解可以见《Ruby for SketchUp之Entities对象》
- Solid Manifold,也可以简称为manifold,或solid。其层级可以说是Entity下的孙子类了,翻译为“实体”
二、实体的判断及操作
判断一个Entity是否实体,最简单的方法是选中,然后看其“图元信息”中,是否有体积的数值。如果有,它就是实体。
实体的布尔操作工具,可以参考视频:SketchUp基础入门-工具篇 1-40-实体工具
三、实体相关的Ruby API
因为实体只可能是ComponentInstance或Group,所以只在这两个类下找即可,主要的有:
- #manifold? ⇒ Boolean 判断是否为实体
- #volume ⇒ Float 求体积
- #outer_shell、#union、#intersect等 布尔操作,与图形界面上的实体工具相对应。