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