SketchUp Make v17/Ruby > Group 이동 (상대 이동)

운영 환경
SketchUp Make v17.1.173
MacOS X El Capitan

2개의 Group의 정렬(예: 아래, 중앙에서의 정렬)을 하고 싶다.
김에 API/Ruby의 공부도.

그 전 단계로서 Group의 이동 코드를 조사했다.

참조 h tp : //s t t 추카치온. 코 m/후우루 ms/ゔぃ에 w와 피 c. php? f=323&t=40482

by sdmitch » Wed Oct 05, 2011 1:21 am

에 Geom::Transformation()의 사용법이 게재되어 있다.
tr=Geom::Transformation.new([10,0,0])#copy location
group_shell_copy.transform! tr

좌표를 직접 세트하는 것이 아니라, 일단 변수(예:tr)에 두는 것 같다.
Unity(C#)에서도 이런 구현이었다.
ぃ tp // m / 7, f9 / ms / f66b87d6c2778, 68c719

code



move161230.rb
require 'sketchup.rb'

def move_group()
    model = Sketchup.active_model
    my_selection = model.selection

    my_selection.each do |ent|
        if ent.is_a? Sketchup::Group
            tr=Geom::Transformation.new([100.mm,0,0]) ## move location
            ent.transform! tr
        end
    end
end

실행 절차



위의 스크립트를 Ruby 콘솔에서 읽습니다.
(스크립트 위치는 여기 참조)
> load "move161230.rb"
true

사전 준비: 그룹 생성


  • 직육면체 만들기
  • 평면 작성
  • 푸시 풀 도구

  • 직육면체 (그룹화되지 않은 것)를 트리플 클릭
  • 6면 선택

  • 오른쪽 클릭> "그룹 만들기"에서 그룹으로 둡니다.

  • 실행


  • 위에서 만든 그룹 선택
  • Ruby 콘솔에서 "move_group()"을 실행합니다.

  • 이제 선택한 Group이 X축 반대 방향 화면 왼쪽 방향으로 이동한다.

    이동 전


    이동 후


    비고



    move_group()을 여러 번 실행하면 점점 X축 부방향 화면 왼쪽 방향으로 이동해 간다.
    빨간색 실선으로 보이는 것은 사분면 (quadrant)에서는 X축 정의에 들어간다.
    즉 X축 정방향으로 이동하고 있다.

    좋은 웹페이지 즐겨찾기