日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

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

發(fā)布時(shí)間:2025/3/8 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 layer调用父页面方法_Ruby for SketchUp之图层【Layer】 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我們學(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ù)索引或名稱檢索圖層
#[](index_or_name) ? Sketchup::Layer?

調(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"]
  • 添加新圖層
#add(layer_name) ? Object

調(diào)用方法:

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

調(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"
  • 圖層排序
#<=>(layer2) ? Object

<=>方法用于根據(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è)
#==(layer2) ? Object

調(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è)置圖層是否可見
#visible=(is_visible) ? Object #visible? ? Boolean

調(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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。