본문 바로가기

반응형

분류 전체보기

(77)
Dynamo Python 노드에서 PyPI 패키지 사용하기 2022.05.13 - 내용추가 깜박하고 중요한 걸 설명에서 빼먹었네요. 밑의 예제에서 사용된 파이썬 노드들은 모두 Python Engine Version을 CPython 모드로 설정해야 합니다!... 그 이유는 1. IronPython이 Python 3.xx버전을 지원하지 않음. (따라서 python 2의 문법을 써야하는데, 3 배우기도 바쁜 시대에 좀 불합리하죠?) 2. 거의 대부분의 유용한 패키지들이 CPython 구현체를 기반으로 작성되어있음.(IronPython의 경우에는 호환되지 않는 경우가 대부분) 이기 때문입니다. 그리고 어차피 다이나모 버전이 올라감에 따라 IronPython 엔진은 deprecate 될 예정이니, 지금부터 아예 CPython 모드로만 작성하는 습관을 들이시길 권합니다....
다이나모 파이썬 노드에서 임의로 설치한 패키지 사용하기 다이나모를 쓰다 보면 캔버스 공간 효율화와, 코드 단순화를 목적으로 파이썬 노드를 쓰게 되는 경우가 왕왕 있습니다. 그런데 파이썬으로 모든 기능을 구현하려면 흔히 말하는 ‘바퀴를 새로 발명해야 하는’ 문제가 생기기 쉬운데, 그럴 때는 기존에 사용하던 패키지에 의존하고 싶어 집니다. 패키지를 소환해서 쓰는 것은 별 문제가 아니지만, 패키지를 참조하게 되는 경로는 사용자의 PC 환경에 따라 매번 달라지기 때문에 범용성을 확보하기가 어렵습니다. 그래서 오늘은 환경변수를 활용하여, 다이나모 파일을 실행하는 환경이 바뀌어도 자동으로 패키지가 설치된 경로를 인식하여 패키지 참조를 수행하는 코드를 보여드리려고 합니다. (Dynamo Revit 기준으로 설명하겠습니다.) 테스트용 archi-lab.net 패키지 설치하..
dynamo 응용! 코로나 바이러스 만들고 blender 로 표면 다듬기 지난 2년 동안 참 오랫동안 코로나 바이러스가 사람들을 고생시켰죠. 어떻게 생겨 먹은 놈인가 해서 이미지를 찾아봤습니다. 둥근 공 같이 생겼는데, 뾰족 뾰족 뭐가 표면에 많이 돋아나 있네요. 저 뾰족한 부분이 스파이크 단백질이라는 부위이고, 우리 몸의 세포들에 있는 수용체에 결합하는 역할을 한다고 합니다. 다이나모로 COVID19 모델링하기 저는 다이나모를 좋아합니다. 형상적, 비형상적을 막론하고, 데이터를 처리하는 코드를 빠르게 짜고 피드백할 수 있기 때문입니다. 그래서 다이나모를 이용해서 코로나 바이러스의 모습을 모델링해보면 어떨까 하는 생각을 했습니다. 저도 모르게 해버렸어요. 머릿속으로 일단 동그랗게 생긴 몸통부터 만들어야겠다는 생각을 한 뒤 다이나모를 켰습니다. 몸만들기 바이러스 몸체에서 가장 ..
revit 본격 창문 패밀리 만들어보기 (2) 지난번 포스팅에서 이어지는 글입니다. https://hnanmal.tistory.com/entry/revit-패밀리-템플릿-창문-만들어보기1 revit 패밀리 템플릿 - 창문 만들어보기(1) 예전 포스팅에서 기둥 패밀리 만드는 법을 언급한 적이 있었죠. 패밀리 만드는 작업은 적합한 템플릿을 선택하는 것으로부터 시작된다고 한 적이 있습니다. 그래서 오늘은 생각난 김에 패밀리 hnanmal.tistory.com 우리는 지금 창문 패밀리를 만들어보는 과정 중에 있습니다. 지난번 까지 만들었던 상태를 점검해보고 기능을 더 추가하고 발전시켜 봅시다. 1. 지난번 만든 어설픈 걸 프로젝트로 실제로 로드해서 써보고 피드백해봅시다 새 프로젝트 생성하고 벽을 하나 그려줍니다. 벽을 만들고 나면 지난번 만들었던 창문 패밀..
blender 독학, 생 초보가 기초 자세히 따라하기 블렌더로 만들어낸 멋진 작품들을 볼때면, 감탄이 나면서 나도 해보고 싶다는 마음이 들죠. 그런데 프로그램 다운 받고 처음 실행해보면 텅빈 바탕에 상자하나만 있고 그다음 부터는 진짜 뭘해야 할지 1도 모르는 머리가 하얀 상태가 됩니다. 잘 모를 때는 알 때까지 따라하는 것이 제일 좋은 방법이기 때문에 열심히 따라하는 콘텐츠를 시작하겠습니다. 오늘은 첫 단계로 가장 기초적인 화면 조작과 제일 단순한 모양 조작하기를 해볼게요. 블렌더 켜셨죠? 더블클릭해서 빨리 새 프로젝트 열어보세요. 해보고 싶은데, 아직 프로그램 설치가 안 되신 분은 이쪽. https://hnanmal.tistory.com/entry/Blender-3d-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0-%EB%A8%B8%EB..
파이썬 리스트 조작법 및 관련함수 보고가세요! 리스트! 영어 단어로 들을 때는 단지 목록인데, 프로그래밍 배우면서 들을 때는 왜 그렇게 부담스러울까요? 이제부터는 발상의 전환으로 너무 좋은 성능의 우리 두뇌는 시키지 않아도 보고들은 목록들을 자연스럽게 처리하지만, 컴퓨터는 아둔해서 일일이 목록을 다루는 명령을 아주 아주 구체적으로 내려줘야 한다고 생각합시다. 지금부터는 신입사원을 지도해야 하는 부장의 마음으로, 윗 직급 되기 워크숍을 온 것처럼 컴퓨터에게 명령하는 법을 배워봅시다. 형식은 이렇습니다 리스트를 어디서 받아올 수도 있지만, 우리가 하드코딩으로 직접 데이터를 주입해서 알려줄 수도 있습니다. 숫자리스트 = [1, 2, 3, 4, 5] 문자리스트 = ["사과", "기린", "호수"] 객체리스트 = [ {"name": "코코", "나이": 3,..
List_Match에 있는 노드들은 짝짓기 전문가입니다 (다이나모 기본노드 활용 시리즈-6) 리스트를 매치한다는 것의 의미 다이나모 기본 노드 활용 시리즈-6으로 돌아왔습니다. Match는 영어로 “짝을 맞추다”라는 뜻이죠? 오늘 살펴볼 노드들은 집합의 원소들을 한꺼번에 조작하는 방법에 대한 노드들입니다. 좌측 라이브러리 창에서의 위치는 위 그림과 같습니다. List.CartesianProduct List.Combine List.LaceLongest List.LaceShortest List.Map 이 중에서 List.Map을 제외한 나머지 4개의 노드들은 인자(함수 기능 수행을 위해 받아들이는 재료)로 3개 이상을 받아서 작동하게 됩니다. “combineFunction”, list0, list1, listN ... “+”버튼을 누르면 재료로 쓰일 리스트의 개수를 점점 늘려나갈 수 있습니다. 실습..
revit 패밀리 템플릿 - 창문 만들어보기(1) 예전 포스팅에서 기둥 패밀리 만드는 법을 언급한 적이 있었죠. 패밀리 만드는 작업은 적합한 템플릿을 선택하는 것으로부터 시작된다고 한 적이 있습니다. 그래서 오늘은 생각난 김에 패밀리 만드는 법을 조금 더 자세히 살펴볼 텐데, 그중에서도 특별히 창문 패밀리를 구성하는 방법에 대해서 알아보려고 합니다. 시작화면에서 프로젝트가 아닌 패밀리 new를 선택하기 붉은색 박스로 표시해 둔 것 보이죠? 저걸 클릭해 보세요. 패밀리 템플릿 선택하기 - 목적에 맞는 템플릿을 잘 열어야 합니다. 패밀리 템플릿을 선택하는 창이 뜨는데, 여러 나라의 이름으로 된 폴더들이 나타납니다. 현혹되지 말고, English 혹은 Korean을 선택해주세요. 저는 English로 진행하겠습니다. 주석, 개념 매스, 타이틀 블록과 더불어 ..

반응형