layer调用父页面方法_Ruby for SketchUp之图层【Layer】
我們學習了群組、組件及組件定義,今天來看看圖層【Layer】,在Sketchup2020版本中已經更名為“標記”,如圖
那么圖層在我們建模過程中能帶來哪些便利呢?
- 可以快速的隱藏同一圖層內所有東西,而不需要逐一選擇并右鍵點擊隱藏
- 在電腦卡頓的時候,選擇隱藏部分模型,比如,大量的家具模型導入會導致sketchup運行卡頓,這時你只需要關掉家具圖層,就可以順暢的修改其他位置了。
- 導出圖稿的時候,可以分層按需求方便快捷的逐一導出。
下面我們手動演示一下如何將模型放入圖層中,這里采用最新版SketchUp2020版本演示
圖層集合及圖層【Layers&Layer】
圖層跟組件定義一樣,他們都有一個集合用來管理模型對象中的所有圖層對像。我們先來了解一下圖層集合Layers。
Layers圖層集合使你可以查看和管理模型中的所有圖層。您可以從模型中獲得指向Layers對象的指針。
如:
model = Sketchup.active_model layers = model.layers在Layers中也有很多的查詢和管理圖層的方法如:
- 根據索引或名稱檢索圖層
調用方法:
model = Sketchup.active_model layers = model.layers new_layer = layers.add "test layer" layer_by_number = layers[1] layer_by_name = layers["test layer"]- 添加新圖層
調用方法:
layers = Sketchup.active_model.layers layer = layers.add("Test Layer")- 移除圖層,也可以移除圖層中的模型
調用方法:
# 通過圖層對象刪除圖層. layer = Sketchup.active_model.layers.add("MyLayer") Sketchup.active_model.layers.remove(layer)# 通過圖層名稱刪除圖層. Sketchup.active_model.layers.add("MyLayer") Sketchup.active_model.layers.remove("MyLayer")# 通過圖層索引刪除圖層. Sketchup.active_model.layers.remove(1)# 刪除圖層及其圖層中的模型. edge = Sketchup.active_model.entities.add_line([0, 0, 0], [9, 9, 9]) edge.layer = Sketchup.active_model.layers.add("MyLayer") Sketchup.active_model.layers.remove("MyLayer", true)參數:
layer => 索引、名稱或圖層對象
remove_geometry => 布爾值 如果為true,刪除圖層時,相應的模型也會被刪除
以上就是圖層集合中常常用到的方法 ,還有就是觀察員方法 這個在后面會講到
Layer
Layer類包含修改和提取層信息的方法。
默認情況下,SketchUp模型具有一層,即第0層(零),這是基礎層。您無法刪除或重命名第0層。與某些其他CAD軟件包不同,SketchUp中與不同層關聯的實體仍然彼此相交。(如果您希望實體的集合不相交,請將它們放在“組”中。)
圖層通常用于組織模型并控制相關組和組件的可見性。例如,您可以將所有墻壁和屋頂實體設為不同的組,將圖層與這些組關聯,然后隱藏這些圖層,以便僅在模型中顯示平面圖。
圖層創建方法:
可以通過調用Layers.add方法創建新圖層。
model = Sketchup.active_model layers = model.layers new_layer = layers.add "test layer"- 圖層排序
<=>方法用于根據兩個圖層的名稱進行比較。如果要構建圖層名稱列表,則可以使用它進行排序。
調用方法:
model = Sketchup.active_model layers = model.layers new_layer = layers.add "test layer" layer1 = layers[0] layer2 = layers[1] status = layer1 <=> layer2返回值:
如果layer1小于layer2,則為-1。如果layer2小于layer1,則為1。如果layer1和layer2相等,則為0。
- 判斷圖層是否為同一個
調用方法:
model = Sketchup.active_model layers = model.layers layer1 = layers.add "test layer 1" layer2 = layers.add "test layer 2" status = layer1 == layer2返回值:
如果layer1和layer2相等,則為true。如果layer1和layer2不相等,則返回false。
- 設置圖層是否可見
調用方法:
model = Sketchup.active_model layers = model.layers new_layer = layers.add "test layer"# 隱藏圖層. new_layer.visible = false # 確定該方法是否隱藏 UI.messagebox(new_layer.visible?)效果:
圖層控制示例
這里我們新建一個圖層來控制圖層中的實體模型
model = Sketchup.active_model ent = model.selection.first # 選中一個組或組件 layers = model.layers new_layer = layers.add "test layer" # 新建一個圖層ent.layer = new_layer效果:
就這樣把群組或組件加到了圖層中,可以通過su圖層來控制群組或組件的顯示或隱藏了。
當然也是可以通過ruby代碼控制的,感興趣的小伙伴下去試試
總結
以上是生活随笔為你收集整理的layer调用父页面方法_Ruby for SketchUp之图层【Layer】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑设置可以读取u盘怎么弄 电脑如何设置
- 下一篇: 如何修改电脑启动密码忘了怎么办 电脑启动