Sketchup 程序自動化(四)Transformation
Sketchup 程序自動化(五)圖層、Group、Component
最近看完了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的語法和常見操作。