SketchUp Make v17/Ruby > 직육면체의 크기를 지정의 사이즈(mm) 작게 한다 > v0.1-v0.2
SketchUp Make v17.1.173
MacOS X El Capitan
직육면체를 줄이고 싶다.
「척도 툴」에서는 상대적인 값으로 확대 축소할 수 있지만, 구체적인 사이즈(mm)로 확대 축소하고 싶었다.
(이어서 Ruby의 공부도)
v0.1
faceAnalysis161229.rb
require 'sketchup.rb'
def face_analyze()
model = Sketchup.active_model
my_selection = model.selection
my_selection.each do |ent|
if ent.is_a? Sketchup::Face
print("face:",ent.normal,"\n")
end
end
end
def face_shrink(distance_mm)
model = Sketchup.active_model
my_selection = model.selection
my_selection.each do |ent|
if ent.is_a? Sketchup::Face
xvec = ent.normal()[0]
yvec = ent.normal()[1]
zvec = ent.normal()[2]
# 0.1: arbitrary (should be more than 0.0 and less than 1.0)
if xvec > 0.1 or yvec > 0.1 or zvec > 0.1 then
print("shrink\n")
ent.pushpull(-distance_mm)
end
end
end
end
위의 스크립트를 Ruby 콘솔에서 읽습니다.
(스크립트 위치는 여기 참조)
> load "faceAnalysis161229.rb"
true
실행 절차
이상으로 직육면체의 각 방향으로 5mm 작아진다.
사이즈 변경 전
사이즈 축소 후
아래에 놓고 있는 입방체를 Width, Depth, Height에 관해서 5mm씩 축소해 보았다.
face_shrink(-5)
그러면 5mm씩 확대할 수 있다.축소 사이즈가 실패했을 때는 Ctrl+z를 3회 실행하면 원래의 사이즈로 돌아온다.
푸시 풀 툴 3회라도 실행할 수 있지만, 시간을 단축할 수 있다.
x, y, z 각 방향으로 크기를 지정할 수있는 것이 편리하게 좋을지도 모른다.
v0.2
x, y, z 각 방향으로 크기를 지정할 수 있도록 했다.
faceShrink161229.rb
require 'sketchup.rb'
def face_shrink(dist_x_mm, dist_y_mm, dist_z_mm)
model = Sketchup.active_model
my_selection = model.selection
my_selection.each do |ent|
if ent.is_a? Sketchup::Face
xvec = ent.normal()[0]
yvec = ent.normal()[1]
zvec = ent.normal()[2]
# 0.1: arbitrary (should be more than 0.0 and less than 1.0)
if xvec > 0.1 then
ent.pushpull(-dist_x_mm)
end
if yvec > 0.1 then
ent.pushpull(-dist_y_mm)
end
if zvec > 0.1 then
ent.pushpull(-dist_z_mm)
end
end
end
end
Reference
이 문제에 관하여(SketchUp Make v17/Ruby > 직육면체의 크기를 지정의 사이즈(mm) 작게 한다 > v0.1-v0.2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/7of9/items/f00f519cf2ff549fa816텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)