Table of Content
SketchUp Plugin 개발하기 with VSCode
SketchUp 설치
아래 내용은 SketchUp Pro 2020 을 기준으로 설명합니다.
VSCode 설치
최신버전을 설치합니다.
Ruby 설치
SketchUp 설치 후 Ruby Console
을 실행한 후,
"#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"
를 실행해 주면 현재 스케치업이 실행중인 루비 버전을 알 수 있습니다.
최선 버전을 설치해 줍니다.(여기)
VSCode 플러그인 설치
Ruby for Visual Studio Code
를 설치합니다.
Hello, World
VSCode 에서 아래 폴더를 열어줍니다.
C:\Users\사용자계정\AppData\Roaming\SketchUp\SketchUp 버전\SketchUp\Plugins
아래 파일을 생성합니다.
my_devtool.rb
require "sketchup.rb"
require "extensions.rb"
my_devtool_loader = SketchupExtension.new "My Devtool Loader", "my_devtool/main.rb"
my_devtool_loader.copyright= "Copyright 2023 skyer9"
my_devtool_loader.creator= "skyer9"
my_devtool_loader.version = "1.0"
my_devtool_loader.description = "My Devtool"
Sketchup.register_extension my_devtool_loader, true
my_devtool/main.rb
require "sketchup.rb"
module My_devtool
PLUGIN_ROOT ||= "C:/Users/oem/AppData/Roaming/SketchUp/SketchUp 2020/SketchUp/Plugins/"
def self.reload
load (File.join(PLUGIN_ROOT, "my_devtool.rb"))
load (File.join(PLUGIN_ROOT, "my_devtool/main.rb"))
end
def self.hello
puts "Hello, world!"
end
end
unless file_loaded?(__FILE__)
mymenu = UI.menu("Plugins").add_submenu("My Devtool")
mymenu.add_item("Reload plugins") {My_devtool::reload}
mymenu.add_item("Hello, World!") {My_devtool::hello}
file_loaded(__FILE__)
end
SketchUp 을 재실행합니다.
메뉴가 추가된 것을 확인할 수 있고, Ruby Console 을 실행후 메뉴를 실행하면 결과를 확인할 수 있습니다.
Hello, world! 문자열을 변경해 가면서 Reload plugins 를 해보면 문자열이 변경되는 것을 확인할 수 있습니다.