Skrip membuat face + pushpull - Ruby SketchUp Plugin

Skrip membuat face + pushpull - Ruby SketchUp Plugin
Q : Om, itu bikin plugin pake apa?
A : Plugin/extension SketchUp adalah text/skrip/koding yang bisa dibuat oleh text editor seperti notepad atau dengan yg lebih canggih seperti Visual Code, Notepad++, dll. Kalo sy pake Atom editor. Lalu skript tersebut di simpan dengan format *.rb.

Skrip Plugin juga bisa di buat langsung di SketchUp dengan menggunakan Plugin Editor/Debuger seperti Ruby Console+ atau Plugin Ruby Code Editor.

Untuk dapat membuat skrip perlu dasar pengetahuan mengenai pemograman bahasa Ruby. Karena semua Plugin SketchUp ditulis dengan bahasa Ruby ini.
Sebagai gambaran awal bagaimana skrip plugin bekerja silahkan ikuti langkah ini:
1. Dowload & Install Plugin "Ruby Console+" dari Warehouse Extension.
2. Jalankan ruby console+ lalu paste skrip dibawah ini ke editornya.
3. Jalankan skrip dengan mengklik ikon Play. Mantap. Anda telah bisa membuat plugin sederhana sendiri...hehehe

Skrip:
# ------------------------------------------------
@mod = Sketchup.active_model
@ent = @mod.active_entities

def buat_faceXY (x,y,pj,lb,pp)
   pts=[]
   pts[0] = [x, y, 0]
   pts[1] = [x+pj, y, 0]
   pts[2] = [x+pj, y+lb, 0]
   pts[3] = [x, y+lb, 0]
   face = @ent.add_face pts
   face.reverse!
   if (pp > 0)
      face.pushpull pp
  end
end


buat_faceXY 0,0,50,100,40
buat_faceXY 80,0,70,80,25
# ------------------------------------------------


Keterangan Skript:
@mod = Variable global untuk mendeklarikan model SU
@ent = Variable global untuk setiap objek/entity dalam model SU

def buat_faceXY (x, y, pj, lb, pp) => method/fungsi untuk membuat face pada bidang XY
x, y  = > sumbu koordinat x & y
pj => panjang face
lb => lebar face
pp => nilai pushpull

pts[] => array dinamik untuk menyimpan koordinat x,y & z
add_face => method untuk menggambar sebuah face dengan titik2 koordinat dari array pts
reverse! => methode untuk membalikan face agar dapat di pushpull ke atas
pushpull => method/perintah untuk meng-pushpull face jika nilai pp > 0

Note: 
Skrip ini selalu menggambar pada koordinat default z = 0, karena pada array z selalu sy kasih nilai 0.

Challenge:
Silahkan kembangkan agar posisi sumbu z selalu dinamik,  bisa di titik z manapun.

Selamat mencoba :) 

#pluginsuka2
#rubyscript
Skrip membuat face + pushpull - Ruby SketchUp Plugin Skrip membuat face + pushpull - Ruby SketchUp Plugin Reviewed by NCEP Studio on September 14, 2018 Rating: 5

Tidak ada komentar:

Diberdayakan oleh Blogger.