บทความก่อนหน้า หาพื้นที่จากผิวที่เลือก
จากตัวอย่างที่แล้ว เราหาพื้นที่ของ face เป็น ตารางนิ้วจากคุณสมบัติของ face.area
ในตัวอย่างนี้เราจะแปลงพื้นที่จาก ตารางนิ้ว เป็น ตารางเมตร ด้วยค่าคงที่ 1.m ของ Sketchup Ruby
ซึ่งมีค่าเท่ากับ 39.3700787401575
ดาวน์โหลดไฟล์ตัวอย่าง
1.ไฟล์ Sketchupไฟล์ area1.skp
Save ไว้ในโฟลเดอร์ C:\myruby
2.ไฟล์ Ruby
ไฟล์ area1m.rb
Save ไว้ในโฟลเดอร์ C:\myruby
โปรแกรมเริ่มใต้เส้น #ตัวอักษรสีเขียว คือ คอมเมนท์
##กำหนดให้ตัวแปร model เป็น Sketchup active model
model = Sketchup.active_model
##กำหนดให้ตัวแปร selection เป็น object ทั้งหมดที่ถูกเลือกบนหน้าจอ
##ถ้าไม่มีวัตถุถูกเลือก selection จะมีค่าเป็น nil
selection = model.selection
##กำหนดให้ตัวแปร entity เป็น วัตถุชิ้นแรกที่ถูกเลือกใน selection
## selection[0] = วัตถุชิ้นแรก selection[1] = วัตถุชิ้นที่สอง
entity = selection[0]
##ตรวจสอบว่า entity เป็นผิว (Face) หรือไม่
if entity.class == Sketchup::Face ##ถ้าentity เป็นผิว ( Face) ทำงานจนกว่าจะพบคำว่า end
##พิมพ์ข้อความด้านล่าง
puts "Face area in sq.inch is"
##พิมพ์ค่าพื้นที่ของ entity จะมีหน่วยเป็น ตารางนิ้ว
puts entity.area
##พิมพ์คำว่า Value of 1.m is เป็นค่าแปลงหน่วยจาก เมตรเป็นนิ้ว ของ Sketchup Ruby
puts "Value of 1.m is"
##พิมพ์ค่า 1.m
puts 1.m
##แปลงค่าพื้นที่ของ entity เก็บไว้ในตัวแปรชื่อ area_m จะมีหน่วยเป็น ตารางเมตร
area_m = entity.area / (1.m * 1.m)
##พิมพ์ค่าพื้นที่ของ entity จะมีหน่วยเป็น ตารางเมตร
puts "Face area in sq.m. is"
puts area_m
end ##จบคำสั่ง if entity.class == Sketchup::Face
ทดสอบกับโปรแกรม Sketchup
1. สร้างสี่เหลี่ยม ขนาด 1x2 ตร.ม. หรือ เปิดไฟล์ area1.skp ที่ดาวน์โหลดมาจากด้านบน2. คลิกที่ผิว
3. เปิด Ruby Console พิมพ์
load 'c:\\myruby\\area1m.rb'
แล้วกดปุ่ม Enter บนคีย์บอร์ด
ดูผลลัพธ์ใน Ruby Console
จะเห็นว่ามีพื้นที่ค่า 2 ตารางเมตร เพิ่มขึ้นมา
สรุป
หน่วยความยาวใน Sketchup Ruby เป็น นิ้ว
หน่วยพื้นที่ใน Sketchup Ruby เป็น ตารางนิ้ว
ดังนั้นต้องแปลงค่าหน่วยให้เป็น เมตร หรือ ตารางเมตร ก่อน ด้วยค่า 1.m หรือ 39.3700787401575
สำหรับปริมาณงานที่ต้องการ
บทความต่อไป
การหาชื่อวัสดุของผิวที่เลือก
Keyword:ภาษา Ruby Sketchup plugin, อบรม Sketchup