Revit 2023 버전 이후 다이나모 기능들 질문
Revit 2023으로 쓸 때 다이나모에서 많은 변화가 있더라고요.
바뀐 거에 대해 질문할 거 몇 가지 답변 요청 드립니다.
- 다이나모 버전을 강제로 다운 그레이드 시켜서 2021, 2022 때 사용하던 버전으로 가능할까요?
- 파이썬 스크립트 노드에서 경고 창의 문구가 복사가 안되는데 다른 방도가 있을까요?
- IronPython 에서 Cpython 으로 바뀌었던데 단순히 타입을 바꿔주면 기존 노드를 사용할 수 있을까요?
안녕하세요!
1번 같은경우는 시스템 안정성상 꼭 그렇게 해야할 필요가 있는지 의문입니다.
저 같은 경우는 각 버전 별로 바뀐 코드를 저장해서 따로 사용하고 있습니다. 예를 들어서 엑셀내보내기(~21) / 엑셀내보내기(22~)
2,3번 질문에 대해서 저는 파이썬을 잘 알지 못하기에 제가 답변을 드릴수는 없어서
클로드 AI 에 한번 물어봤습니다.
-아래-
Revit 2023의 Dynamo 변경사항에 대해 답변해드리겠습니다.
1. Dynamo 버전 다운그레이드:
안타깝게도 Revit 2023에서는 Dynamo 버전을 이전 버전으로 강제 다운그레이드하는 것이 공식적으로는 지원되지 않습니다. Dynamo Core가 Revit 2023과 통합되어 있어서, 이전 버전으로 되돌리면 안정성 문제가 발생할 수 있습니다.
2. Python 스크립트 노드의 경고 창:
경고 창의 텍스트를 직접 복사할 수 없는 문제에 대한 대안들이 있습니다:
- 스크린샷 도구를 사용하여 텍스트를 이미지로 캡처한 후 OCR 도구로 변환
- 콘솔 로그를 확인 (일반적으로 %appdata%\Dynamo\Dynamo Revit\에서 로그 파일 확인 가능)
- Python 스크립트 내에서 로깅을 구현하여 별도의 파일로 에러 메시지 저장
3. IronPython에서 CPython으로의 전환:
단순히 타입만 변경하는 것으로는 기존 노드를 그대로 사용하기 어려울 수 있습니다. 주요 차이점들이 있기 때문입니다:
- 문법 차이: IronPython은 .NET 프레임워크에 최적화되어 있어서, 일부 문법과 라이브러리 호출 방식이 다릅니다
- 라이브러리 호출 방식의 변경: clr import 방식이 달라졌습니다
- API 접근 방식의 차이: Revit API 접근 방식이 수정되어야 할 수 있습니다
기존 노드를 사용하기 위해서는 다음과 같은 작업이 필요할 수 있습니다:
- Import 문 수정
- API 호출 방식 업데이트
- 타입 캐스팅 로직 수정
- 예외 처리 방식 변경
실제로 코드를 수정해야 하는 부분이 있다면, 구체적인 코드를 공유해 주시면 더 자세한 도움을 드릴 수 있습니다.
감사합니다!!