微信公众号:老顽童与小东邪
关注可了解更多的教程及编程技巧。问题或建议,请加好友留言;
如果你觉得对你有帮助,欢迎赞赏
Entities对象及Entity类
Entities对象
SketchUp中的每个几何对象都代表着一个Entitiy类或者它的子类,包括点,线,面,图片,文字,组件和群组。在设计中管理和修改Entity对象,我们需要接入主要设计的Entities容器,主要是对Entity对象进行增加、移动、选择、缩放及删除操作。
其操作实例如下:
model = Sketchup.active_model
entities = model.acive_entities
# 添加点
pt1 = Geom::Point3d.new(100,200,300)
point= entities.add_cpoint pt1
# 添加线
line = entities.add_line [100,0,0],[200,0,0]
# 删除线
entities.erase_entities line
还有很多的方法,在后期编程中我们都能用到。
Entity类
Entity类是在SketchUp中所有可绘制图形的超类。下面显示了Entity的所有子类:
Entity是一个顶级类,它下面的每一个子类都继承了它的方法。其中很多方法提供了Entity的基本信息,如下:
entityID - 返回Entity的唯一标识符
typename - Entity的几何类型 (线, 面等)
valid?/deleted? - Entity是否还可以访问
model - 返回设计的Model对象
这里我们来看一下如何调用这些方法:
1、首先在entities容器中添加一条线
2、获取Entity的唯一标识符
3、获取Entity的几何类型(点、线、面等)
在entity类中还有很多方法,需要我们去熟悉,去运用到我们的开发中。
实现方盒子功能
思路:要想实现一个方盒子,首先需要一个面,然后将个面推拉起来。由于面是由点跟线构成的,所以我们需要一组点。具体实现如下:
1、获取当前活动模型的句柄
model = Sketchup.active_model
2、获取当前模型实体句柄
entities = model.active_entities
3、在模型中添加face
# 添加face的点组
points = [
Geom::Point3d.new(0, 0, 0),
Geom::Point3d.new(1.m, 0, 0),
Geom::Point3d.new(1.m, 1.m, 0),
Geom::Point3d.new(0, 1.m, 0)
]
# 利用add_face方法把点组构成face
face = entities.add_face(points)
4、把创建好的face推拉为box
# 利用pushpull方法完成推拉操作
face.pushpull(-1.m)
到这里我们就完成了一个box的创建。完整代码:
model = Sketchup.active_model
entities = model.active_entities
# 添加face的点组
points = [
Geom::Point3d.new(0, 0, 0),
Geom::Point3d.new(1.m, 0, 0),
Geom::Point3d.new(1.m, 1.m, 0),
Geom::Point3d.new(0, 1.m, 0)
]
# 利用add_face方法把点组构成face
face = entities.add_face(points)
# 利用pushpull方法完成推拉操作
face.pushpull(-1.m)
公众号
下面的是我的公众号二维码图片,欢迎关注。
如果你觉得对你有帮助,欢迎赞赏,有你的支持,小东邪动力十足!
下期预告
讲解API中部分类方法
引用
参考|一米网校
微信公众号:老顽童与小东邪
欢迎关注我,一起学习,一起进步!