日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

layer调用父页面方法_Ruby for SketchUp之图层【Layer】

發布時間:2025/3/8 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 layer调用父页面方法_Ruby for SketchUp之图层【Layer】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們學習了群組、組件及組件定義,今天來看看圖層【Layer】,在Sketchup2020版本中已經更名為“標記”,如圖

那么圖層在我們建模過程中能帶來哪些便利呢?

  • 可以快速的隱藏同一圖層內所有東西,而不需要逐一選擇并右鍵點擊隱藏
  • 在電腦卡頓的時候,選擇隱藏部分模型,比如,大量的家具模型導入會導致sketchup運行卡頓,這時你只需要關掉家具圖層,就可以順暢的修改其他位置了。
  • 導出圖稿的時候,可以分層按需求方便快捷的逐一導出。

下面我們手動演示一下如何將模型放入圖層中,這里采用最新版SketchUp2020版本演示

圖層集合及圖層【Layers&Layer】

圖層跟組件定義一樣,他們都有一個集合用來管理模型對象中的所有圖層對像。我們先來了解一下圖層集合Layers。

Layers圖層集合使你可以查看和管理模型中的所有圖層。您可以從模型中獲得指向Layers對象的指針。

如:

model = Sketchup.active_model layers = model.layers

在Layers中也有很多的查詢和管理圖層的方法如:

  • 根據索引或名稱檢索圖層
#[](index_or_name) ? Sketchup::Layer?

調用方法:

model = Sketchup.active_model layers = model.layers new_layer = layers.add "test layer" layer_by_number = layers[1] layer_by_name = layers["test layer"]
  • 添加新圖層
#add(layer_name) ? Object

調用方法:

layers = Sketchup.active_model.layers layer = layers.add("Test Layer")
  • 移除圖層,也可以移除圖層中的模型
#remove(layer, remove_geometry = false) ? Object

調用方法:

# 通過圖層對象刪除圖層. 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"
  • 圖層排序
#<=>(layer2) ? Object

<=>方法用于根據兩個圖層的名稱進行比較。如果要構建圖層名稱列表,則可以使用它進行排序。

調用方法:

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。

  • 判斷圖層是否為同一個
#==(layer2) ? Object

調用方法:

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。

  • 設置圖層是否可見
#visible=(is_visible) ? Object #visible? ? Boolean

調用方法:

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】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。