最近看完了Google上能找到的、比较系统的一本关于Sketchup自动化的书籍,作者是一名来自台湾的开发者(李正冬),内容比较基础,也比较实用,首先感谢这位开发者的无私奉献。
然后,本人也在学习的过程对内容进行了归纳与总结,不管是设计师还是程序员,我尽可能的简洁通俗,希望能够帮助到各位读者尽快掌握到该技术。
在此之前需要读者对Ruby的基本语法、面向对象思想、Sketchup的基本操作有一定了解。
引入
常规套路:
# 模型容器类,理解为一个大容器。
model = Sketchup.active_model
# 实体对象类,是一个数组,存了许多实体对象,实体指的是面对象、线对象等等。
# 如果我们需要将绘制出的线显示出来,需要调用 ent 对应的方法。
ent = model.entities
画线:
# 用数组来表示点矩阵,也可以用Geom::Point3d
point1 = [5,0,0]
point2 = [1.5625,-4.75,0]
point3 = [-4.0625,-2.9375,0]
point4 = [-4.0625,-2.9375,0]
point5 = [1.5625,-4.758,0]
# 添加绘制一条直线
line = ent.add_line point1,point2
# 向实体对象数组中添加一个曲线。
curve = ent.add_curve point1,point2,point3,point4,point5
画其他形状:
# 画圆形
# 方向 代表坐标轴,指的是实体所处于那一个面
# [1,0,0] YZ 面
# [0,1,0] XZ 面
# [0,0,1] XY 面
# 中心点、方向、半径、断数(默认是 24,指的是形成这个面所需要的线段数量)
circle = ent.add_circle [0,0,0],[1,1,0],10,100
# 画多边形
nogn = ent.add_ngon [0,0,5],[0,0,1],3,4
# 画圆弧
# 遵循右手原则
# 中心点、轴、方向、半径、弧度范围、断数
arc = ent.add_arc [0,0,0],[1,0,0],[0,1,0],9,0,90.degrees,100
运行结果:
可能读者看到这里还是会有一些疑惑,但不用担心,后续文章会对整体的API结构进行说明,也会穿插一些Ruby的语法和常见操作。