October 22, 2009

RhinoScript | Function to reparameterize

몇일전 스크립트 작업을 하던중 RhinoScript에 reparametrize 기능이 없어 Rhino.command를 이용했었는데, 아무래도 function을 만들어 두면 많이 사용 될것 같아서. . .

아래 function은 입력된 커브나 서피스를 0-1 로 reparameterize 하게된다.

Function ReparameterizeCurve(strObject)
       
    Dim intDegree, arrKnots, arrNKnots(),arrPoints, arrWeights, arrDomain,k
   
        intDegree = Rhino.CurveDegree(strObject)
        arrKnots = Rhino.CurveKnots(strObject)
        arrPoints = Rhino.CurvePoints(strObject)
        arrWeights = Rhino.CurveWeights(strObject)
        arrDomain = Rhino.CurveDomain(strObject)
       
    k=Ubound(arrKnots)
   
    ReDim arrNKnots(k)
    For i=0 To k
        arrNKnots(i)= (arrKnots(i)-arrDomain(0))/(arrDomain(1)-arrDomain(0))
    Next
   
    ReparameterizeCurve = Rhino.AddNurbsCurve (arrPoints, arrNKnots, intDegree , arrWeights)
           
End Function


Function ReparameterizeSrf (strObject)
       
    Dim arrDegree, arrKnots, arrNKnotsV(),arrNKnotsU(),arrPoints, arrWeights, arrDomainU,arrDomainV, k, arrPointCount,L
        arrPointCount = Rhino.SurfacePointCount(strObject)
        arrDegree = Rhino.surfaceDegree(strObject)
        arrKnots = Rhino.SurfaceKnots(strObject)
        arrPoints = Rhino.SurfacePoints(strObject)
        arrWeights = Rhino.SurfaceWeights(strObject)
        arrDomainU = Rhino.SurfaceDomain(strObject,0)
        arrDomainV = Rhino.SurfaceDomain(strObject,1)
       
        k=Ubound(arrKnots(0))
        L=Ubound(arrKnots(1))
   
    ReDim arrNKnotsU(k)
    For i=0 To k
        arrNKnotsU(i)= (arrKnots(0)(i)-arrDomainU(0))/(arrDomainU(1)-arrDomainU(0))
    Next
   
   
    ReDim arrNKnotsV(L)
    For i=0 To L
        arrNKnotsV(i)= (arrKnots(1)(i)-arrDomainV(0))/(arrDomainV(1)-arrDomainV(0))
    Next

    ReparameterizeSrf = Rhino.AddNurbsSurface (arrPointCount, arrPoints, arrNKnotsU, arrNKnotsV, arrDegree , arrWeights)
           
End Function

October 19, 2009

Rhino's user meeting - 2009. 10. 24

안녕하세요, 요즘 날씨가 너무 좋아 일하기가 싫은 날들이 계속입니다.

10월 정모가 오는 24일 홍익대학교에서 개최됩니다.
이번 정모는 심지용 학생의 도움으로 홍익대에서 개최하게 됩니다.
넓고 쾌적한 장소를 제공받았으니 보다 알찬 모임이 되었으면 하는 바램입니다.

그럼 정모 장소를 위해 힘써준 홍익대학교 심지용학생에 감사드리며, 정모에서 모두 뵙겠습니다.

2009 10월 라이노스 정모

모임 1차
일시 : 10월 24일 토요일 오후 2시
장소 : 홍익대학교 홍문관 R동 312호
        
# 내용

New tools
   - New commands in V5
   - Dynamic display from Asuni labs

Modeling
   - Shelling 및 Boss, Rib 모델링

Modeling challenge
   - 모델링 챌린지의 모델링 방법 토론
    

Rendering
   - VrayForRhino의 Network Rendering 설정 및 사용
   - 라이노 모델링 HyperShot으로 넘기기

Grasshopper, Script
   - Q&A

Q&A
     - 질의 응답 및 자유토론


모임 2차
일시 : 오후 5시부터
장소 : 1차 모임장소에서 다른 곳으로 이동합니다.

Greetings
     - 회원소개 및 인사

Let's talk talk talk
     - 이야기하며 서로 사궈요!
     - 이야기하며 많은 정보를 나눠요!
     - 이야기하며 웃고 즐겨요!


# 연락처
최정남 : 010-2205-3771 | 윤상훈 : 010-3286-5575

# 참가 인원수에 따라 조기 마감될 수 있으니 서둘러 신청하세요. (신청 선착순 마감)
# 정모 2차 회비는  일반 20,000원 | 학생 15,000원 입니다.
# 정모 2차로 바로 참석하시는 분들도 환영입니다. 위 연락처로 연락주세요.

참가 신청! click


정모장소 약도 - 홍익대학교

# 교통편 안내
http://home.hongik.ac.kr/i/info/transinfo.php

October 1, 2009

Grasshopper | image sampler



Image sampler나 graph 컴포넌트를 사용할때 x,y도메인의 범위가 0-1이 기본으로 설정되어있는데, 이 범위를 바꿔서 사용하게 되면 그 범위를 입력값에 따라 달라지게 하는 것이 힘들다. 이러한 경우 입력전에 리스트이 최대값으로 나눠주고 출력이후에 다시 곱해주면 된다. 아래 예제는 이미지 샘플러를 이용한 예이다.




definition file : image_sampler.ghx

September 22, 2009

Earth with pipes - new +plastic name card image







라이노 스크립트를 이용해 구면에 대지영역만 표시하고 높이 이미지의 밝기 값에 따라 각 점의 높이를 나타내어 커브 파이프를 이용하여 렌더링해서 완성하였다. 많은 오브젝트 갯수 때문에 수차례 다운되어 꽤 시간이 소요되었다.+plastic의 새로운 로고로 새로 제작하는 명함을 위한 이미지이다.

September 17, 2009

Rhino's user meeting - 2009. 9. 26

9월 정모가 오는 26일 국민대학교에서 개최됩니다.
이번 정모는 국민대학교 건축학과의 도움으로 국민대에서 개최하게 되었습니다.
넓고 쾌적한 장소를 제공받았으니 보다 알찬 모임이 되었으면 하는 바램입니다.
2학기 개강도 하였으니 학생 회원들의 많은 참여도 기대해 봅니다.

여름이라 더워서 그런지 라이노스가 한참 조용했었는데 다들 자유게시판에 가을 맞아 요즘 어떻게 지내시는지 소식 전해주세요.

그럼 장소 제공해주신 국민대학교 건축학과에 감사드리며, 정모에서 모두 뵙겠습니다.

2009 9월 라이노스 정모

모임 1차
일시 : 9월 26일 토요일 오후 2시
장소 : 국민대학교 복지관 지하 130호 / 강의실 변경가능(확정되면 수정하겠습니다.)
        
# 내용

3D Modeling with Rhino
   - Solid modeling
   - Transform
   - Surface from curves
   - Surface editing

Modeling challenge
   - 모델링 챌린지의 모델링 방법 토론
    

2D Drawing
   - Layout, Block
   - pdf printing
   - Commands for diagram drawing

Grasshopper, Script
   - what is it for ?
   - Q&A

Q&A
     - 질의 응답 및 자유토론


모임 2차
일시 : 오후 5시부터
장소 : 1차 모임장소에서 다른 곳으로 이동합니다.

Greetings
     - 회원소개 및 인사

Let's talk talk talk
     - 이야기하며 서로 사궈요!
     - 이야기하며 많은 정보를 나눠요!
     - 이야기하며 웃고 즐겨요!


# 연락처
최정남 : 010-2205-3771 | 윤상훈 : 010-3286-5575

# 참가 인원수에 따라 조기 마감될 수 있으니 서둘러 신청하세요. (신청 선착순 마감)
# 정모 2차 회비는  일반 20,000원 | 학생 15,000원 입니다.
# 정모 2차로 바로 참석하시는 분들도 환영입니다. 위 연락처로 연락주세요.

참가 신청! click


정모장소 약도 - 국민대학교

# 교통편 안내
http://www.kookmin.ac.kr/site/about/guide/map/trans.htm

# 캠퍼스 안내
http://www.kookmin.ac.kr/FUNC/cybertour/cybertour.html

September 3, 2009

Architecture | Scale dummy



건축가가 아닌 입장에서 나에게 건축물은 아직 그 크기를 가늠하기가 쉽지가 않다. 그래서 초기에 스케일을 모델링으로 가늠해보는 것이 중요하게 느껴진다. Grasshopper를 이용하여 그려진 평면을 원하는 높이와 층으로 만들어서 사용해보니 크기를 빠르게 짐작할수 있게 도와준다. 물론 박스로 그 크기를 가늠해보는 것도 좋은 방법일 것이다.



새로 참여할 쇼핑몰 설계의 디자인을 위해 그 스케일을 확인해보고자 간단하게 렌더링해 보았다. 짧은시간(10~20분 정도)면 렌더링으로 그 크기를 가늠할 수 있어 디자인 초기에 많이 활용될 수 있을 것 같다.

RhinoScript | Critical draft angle



대지의 경사도에 따라 개발 제한이 있다는 사실을 이 프로젝트 시작과 더불어 알게 되었다. 개발 가능 영역의 확인을 위해 규제 제한 각도이상의 기울기를 갖는 영역을 RhinoTerrain 에서 만들어진 메쉬의 Normal Vector를 이용하여 구하였다. 물론 라이노의 DraftAnlge 커맨드로도 충분히 확인이 가능하였지만 임계각의 정확한 경계를 구분하기 위해 RhinoScript를 이용하였다. 그런데 폴리곤 메쉬의 밀도에 따라 그 영역이 정확히 가려지지 않는다는 생각이다. 물론 그 폴리곤 메쉬의 밀도가 높을 수록 정확하다고 할수 있다.

그래서 실제 등고선 라인을 나누어 그 점과 다음 레벨의 등고선의 각도를 이용할수 있도록 스크립트를 수정하였다. 법적인규제가 모두 등고라인을 기준으로 하기에 더 근접한 영역을 얻을 수 있었다. 아래 그림은 등고라인 1m 간격으로 나누어 이를 준으로 제한 각도 이상을 표시한 것이다.

September 1, 2009

Architecture | Gunsan CC golf-hotel



최근 참여한 건축 디자인 프로젝트의 디자인 중간 결과물이다. 국내 최대규모의 군산CC의 숙박시설로 그림은 배면/진입로에서 보이는 부분이다. 시공비의 제한으로 많은 디자인 시도에 제한이 많았던 프로젝트였다. 배면에서는 5가지의 precast 콘크리트 블럭을 이용하여 Gunsan CC 글씨를 표현하였다. 디자인과정에서는 그려진 Gunsan CC 글씨의 커브와의 거리 관계에 따라 5가지 블럭들이 배치할수 있도록 Grasshopper를 이용하였다.



ps.얼마전 노트북 분실로 인하여 데이터들도 함께 분실되어 블로그를 거의 업데이트할수 없었다.

August 11, 2009

Rhino's user meeting - 2009. 8. 22

월 모임을 8월1일에 진행하게 되다보니 벌써 8월모임이 다가왔습니다.
이번달 모임은 8월 22일 대학로에서 개최되니 일정확인하시고 신청해주세요.


2009 8월 라이노스 정모

모임 1차
일시 : 8월 22일 토요일 오후 2시
장소 : 대학로 TIFS http://www.tifs.co.kr/_TIFS/Location.asp - 아래 약도 참조
        
# 내용

Rhino as a Design Tool Vs. Rhino as a Design Agent
     - 발표 : 김지호 | http://crtl-i.com/blog/
                Y Design / co-founder / 2008
                MAD in Beijin / 2007

New commands in V5
     - 새로 추가된 커맨드 설명
     - 진행 : 최정남

New in GH 0.6.0019
     - GH 새버젼에 추가된 컴포넌트 소개
     - 진행 : 윤상훈

RhinoScript
     - Rhino.command (Macro ) 및 기본 스크립트를 이용한 단순 반복의 처리
     - 진행 : 윤상훈

Q&A
     - 질의 응답 및 자유토론


모임 2차
일시 : 오후 5시부터
장소 : 1차 모임장소에서 다른 곳으로 이동합니다.

Greetings
     - 회원소개 및 인사

Let's talk talk talk
     - 이야기하며 서로 사궈요!
     - 이야기하며 많은 정보를 나눠요!
     - 이야기하며 웃고 즐겨요!


# 연락처
최정남 : 010-2205-3771 | 윤상훈 : 010-3286-5575

# 참가 인원수에 따라 조기 마감될 수 있으니 서둘러 신청하세요. (신청 선착순 마감)
# 정모 2차 회비는  일반 20,000원 | 학생 15,000원 입니다.
# 정모 2차로 바로 참석하시는 분들도 환영입니다. 위 연락처로 연락주세요.

참가 신청! click


정모장소 약도 - 대학로 TIFS

New CI for +plastic, Rhinos

+plastic




Rhinos