SketchUp Make v17/Ruby > 여러 그룹 정렬 > X 방향
SketchUp Make v17.1.173
MacOS X El Capitan
관련 ぃ tp // m / 7, f9 / ms / f5921cf65b5f88d9311
NIC direct로 프레임 주문할 예정인 laundry rack의 디자인.
프레임의 폭을 변경했을 때의 정렬이 번거롭다.
API/Ruby의 공부 김에에 실장해 보았다.
code
align161230.rb
require 'sketchup.rb'
def align_group_to_worldOrigin()
model = Sketchup.active_model
my_selection = model.selection
my_selection.each do |ent|
if ent.is_a? Sketchup::Group
tr = ent.transformation
org = tr.origin # :Point3d
pnt = Geom::Point3d.new(-org[0], -org[1], -org[2])
mve = Geom::Transformation.new(pnt)
ent.transform! mve
end
end
end
def align_groups_center_xdirection()
model = Sketchup.active_model
my_selection = model.selection
firstGroup = true
center0 = 0.0 # set 0.0 for placeholder of double type (not good coding)
my_selection.each do |ent|
if !(ent.is_a? Sketchup::Group) then
continue
end
# calculate x center of group[0]
tr = ent.transformation
org = tr.origin # :Point3d
cnt = org[0] + ent.bounds.width / 2.0 # center in x direction
if firstGroup then
# store x center of group[0]
firstGroup = false
center0 = cnt
else
# move groups according to saved info
xshift = center0 - org[0] - ent.bounds.width / 2.0
pnt = Geom::Point3d.new(xshift, 0, 0)
mve = Geom::Transformation.new(pnt)
ent.transform! mve
end
end
end
align_groups_center_xdirection()을 사용한다.
실행 절차
정렬 전
정렬 후
좌표 계산 정보
group[1..]의 이동에 대해서는 다음과 같다.
위의 1,2를 맞춘 것이 이하.
xshift = center0 - org[0] - ent.bounds.width / 2.0
평가판 1
왼쪽 구조물의 X축을 맞출 수 있었다.
Reference
이 문제에 관하여(SketchUp Make v17/Ruby > 여러 그룹 정렬 > X 방향), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/7of9/items/7400ebcbbfa10cacefaa텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)