본문 바로가기
728x90

전체 글43

FreeCAD 파이썬 프로그램에서 사용자 Gui 만들기 이 글은 Yorik Van Havre가 지은 "FreeCAD A Manual" 문서 중 "creating interface tool" 을 따라한 내용을 기록하였다. 파이썬 프로그램을 개발할 경우 기존 파이썬 콘솔을 텍스트 화면으로 이용하여 간단한 사용자 입력 환경을 구현한다. 하지만 FreeCAD의 경우 파이썬 콘솔 페널이 기존 파이썬 셀처럼 항시 사용할 수 없다. 그러므로 FreeCAD에서 안정적으로 사용자 입력 환경을 가져가기 위해서 FreeCAD의 사용자 환경을 만든 공개 소프트웨어인 Qt 모듈을 이용해야 한다. 다음은 Length, Width 그리고 Height 입력을 받아 3차원 Box를 그려주는 간단한 FreeCAD 파이썬 프로그램의 제작 과정의 기록이다. https://www.qt.io/do.. 2023. 5. 2.
매크로로 작성한 3D CAD 모델 조립 과정 test FreeCAD로 작성된 조립품의 조립 과정을 작업자에게 그래픽하게 보여주는 기능을 시험 중이다. FreeCAD의 매크로 기능을 이용하면 비교적 쉽게 조립 과정을 보여줄 수 있을 것으로 예측된다. 현재는 수작업으로 작성한 매크로를 이용해서 과정을 생성해 보았다. #hide column, shaft Gui.Selection.addSelection('asmD','Part','Part__Feature001.') Gui.Selection.addSelection('asmD','Part','Part__Feature002.') Gui.runCommand('Std_ToggleVisibility',0) Gui.Selection.clearSelection() #1 move base to start p App.getDocum.. 2023. 5. 2.
FreeCAD에서 두가지 방법으로 부품 만들기 오픈소스 3D CAD 시스템으로써 완성도가 높은 FreeCAD 시스템을 이용하여 두 개 직육면체로 이루어진 조립 부품 형상을 만드는 예제이다. CAD에서 3차원 부품을 생성하는 방법은 여러가지이지만 기본적으로 2차원 평면도(스케치)를 만들어 이로 부터 3차원 형상을 이끌어내는 방법과 3차원 요소 형상을 직접 생성하는 방법이 있다. 이 예제에서는 두가지 다른 방법으로 육면체 형상을 만들어 본다. 3D 형상을 만드는 대표적 방법: - 2차원 스케치를 그려 이로 부터 3차원 형상을 만드는 방법 - 3차원 요소(직육면체, 원통, 구 등)을 직접 만드는 방법 ​1) FreeCAD를 실행한다. 처음 FreeCAD를 실행하면 Start Workbench 모드로 들어간다. 2) Part Design Workbench .. 2023. 5. 2.
좌표체계에서 x와 z축 방향으로 y축 방향 결정하기 로봇 조립계획을 위하여 각 부품별로 지역 좌표 혹은 모델 좌표계(Local 혹은 Model Coordinate System)를 관리해야 한다. 예로 그림과 같이 원통형 부품을 설계할 때 상부 중심 좌표를 (10, 10, 20)으로 정했다면, 이를 조립할 다른 부품에 조립해야 하므로 (10, 10, 22)로 좌표 값이 변경된다. 조립품에서 부품의 조립품 상의 위치 정보를 placement라고 하며 조립품에서 위치는 원래 부품의 좌표계를 표시하는 지역 좌표계를 기준으로 전역 좌표계(World Coordinate System)로의 3차원 좌표변환(Coordinate Transformation)을 사용하여 표현한다. Placement 정보는 원점 위치와 x, y, z 축의 방향(Direction)으로 표현한다... 2023. 4. 25.
자동 로봇 조립을 위한 스마트 로봇용 예제 조립품 시험 Team Robotics Intelligence Platform (TRIP) 연구의 대상 제품으로 지금까지 사용했던 asm C는 원형 부품을 이용한 -z 축 조립만 필요한 부품이었다. 보다 일반적인 자동 조립 기능을 제공하기 위하여 원형이 아닌 다각형 단면을 가진 부품과 z 축이 아닌 x나 y 축 조립 방향을 가진 예제 제품인 asm D를 준비하였다. asm D 조립품은 base, column 그리고 shaft로 구성되었다. asm D를 활용하여 다각형 단면을 가지는 포켓 특징 형상 판별(base의 직사각형 단면을 가지는 포켓), 다중 특징 형상 판별(shaft의 blind hole과 다면체 기둥) 그리고 z 축 방향 조립(shaft와 column의 조립) 기능을 확장할 예정이다. ​ asm C와 동일하.. 2023. 4. 25.
무료로 사용할 수 있는 전문가급 3D CAD, FreeCAD FreeCAD는 2002년부터 개발되어 온 공개 3D CAD 시스템으로서 상용 3D CAD 시스템 수준의 기능과 안전성을 제공한다. 추가로 공개 소프트웨어이므로 자유롭게 설치하고 사용할 수 있으며, 관심 있는 기능이 있을 경우 커뮤니티에 참여하여 개발에 참여할 수도 있다. FreeCAD 공식 사이트 https://freecad.org > 개인적으로 주로 연구용 부품을 3D 프린트하기 위한 부품 모델링에 FreeCAD를 사용하고 있다. 아무래도 연구용 부품 제작은 항시 일어나는 일이 아니므로 상용 CAD 시스템을 구매하여 사용하기 어렵다. 그래서 Autodesk의 Tinkercad 등의 무료 CAD 시스템을 사용했으나, 기능이 부족하거나 obj 파일 생성 기능 제약 등을 있었다. 이후 FreeCAD를 사용.. 2023. 4. 24.
파이썬으로 FreeCAD CAD 프로그램을 작성하는 방법 소개 CAD 프로그램 작성은 CAD에서 제공하는 API 함수를 프로그램 언어에 포함하여 CAD 작성이나 사용 과정을 자동화하는 활동이다. CAD 프로그램의 한 방법으로 매크로는 주로 CAD 활동을 기록한 후 이를 입력에 따라 반복적으로 실행하는 프로그램이다. FreeCAD는 파이썬 기반 CAD 프로그램과 매크로 프로그래밍 환경을 제공한다. FreeCAD가 제공하는 파이썬 환경은 CAD 시스템 내부에 파이썬 셀과 개발환경인 IDEL을 내재했다고 생각하면 이해하기 쉽다(실제 IDEL과 셀을 내재해서 구현했다). FreeCAD는 사용자가 CAD 환경에서 내리는 모든 명령을 파이썬 셀에서 동작하는 파이썬 명령으로 실행한다(만약 CAD에서 파이썬 패널을 열어놓으면 명령이 실행되는 것을 확인할 수 있다- 즉, 파이썬 패.. 2023. 4. 23.
파이썬 모듈 패키지 파일의 위치를 알고 싶다면 python 쉘을 내장한 소프트웨어가 자체적으로 모듈을 관리하는데 모듈 설치하는 방법을 찾기가 어려워 기존 pip로 설치한 모듈을 복사하여 사용하려고 했다. 이 경우 복사하고 싶은 모듈이 어디에 설치되었는지 확인해야 한다. 파이썬에 모듈의 파일 위치를 찾아주는 inspect.getfile()을 이용하여 파일의 위치를 찾을 수 있다. getfile()을 사용하기 위해 우선 inspect를 import 해야 한다. import inspect import pymysql print(inspect.getfile(pymysql)) 이때 찾으려하는 모듈은 pymysql이다. 이 모듈을 실행하면 다음과 같은 결과를 통해 파일의 위치를 알 수 있다. 해당 파일을 쉘을 내장한 소프트웨어에서 관리하는 모듈 디렉터리에 복사하.. 2023. 4. 23.
스마트 로봇 적용 - 4개 부품 조립 예 다음 화면은 TRIP에 아래와 같이 base, shaft, top 그리고 spring, 4개의 부품으로 이루어진 조립품을 자동 조립하는 과정을 보여준다. spring 부품은 3D 프린팅 하기 어려워 원통형 부품으로 대체하였다. 아래 동영상의 프로그램은 itrip 실행 화면이다. itrip은 명령어를 이용하여 연결된 로봇에게 명령을 할 수 있는 상호 작용 환경이다. 예에서는 TRIP이 자동으로 생성한 로봇 조립 계획을 실행하는 run 명령어를 사용하였다. 2023 EDBLab 2023. 4. 18.
온라인 이미지와 영상을 만드는 생성형 AI 종류별 사이트와 도구 정리 최근 다양한 생성형 AI 서비스 들이 시도되고 있다. 그중 대표적인 것들을 정리해 본다. 추후 변화가 많을 것이므로 지속적으로 개정해 나갈 예정이다. 생성형 AI 종류 사이트 혹은 도구 설명 이미지 AI midjourney.com https://www.midjourney.com/ 프롬프트를 작성하면 해당 이미지를 생성 Evoto https://www.evoto.ai/ AI 기반 이미지 처리 음성 AI 크로바더빙 https://clovadubbing.naver.com/ 스크립트를 음성으로 변경 크로바더빙 보이스메이커 https://clovadubbing.naver.com/voicemaker 녹음을 통해 더빙이 가능한 음성 만들기 동영상 AI Studio D-ID https://studio.d-id.com/.. 2023. 4. 16.
Clipchamp, 무료로 사용할 수 있는 쉬운 동영상 편집기 그동안 동영상 편집 프로그램 선택은 고난의 연속이었다. 20여 년 전 처음 사용한 편집 프로그램은 애플의 파이널컷이었다. 파이널컷의 어려운 점은 최종 동영상 포맷을 맞추고 이를 다시 윈도에서 사용하는 것이었다. 그리고 파이널컷을 위해 고가의 Mac Pro와 같은 고성능 애플 데스크탑 컴퓨터를 구입해야 했다. 둘째 동영상 편집 프로그램은 아도비의 프리미어프로였다. 다양하고 안정된 기능을 제공하고 있지만 온라인 라이센스 비용을 내야 한다. 업무에 연속적으로 사용한다면 모를까 어쩌다 한번 동영상 편집을 위해 온라인 라이센스를 관리하기에 어려움이 있다. 셋째 동영상 편집 프로그램인 마이크로소프트 무비 메이커이다 Windows에 번들로 나온 동영상 편집 프로그램으로 안정적이었으나 다중 동영상 clip 처리 등의 .. 2023. 4. 15.
로봇 조립 실행 - (6) TRIP 준비된 로봇 조립 계획을 실행시키기 위해 로봇에 연결된 상호 작용 명령 환경(Interactive Command Environment)이 필요하다. TRIP은 interactive TRIP(itrip)이라는 연결된 로봇에 준비된 조립 계획을 실행시킬 수 있는 상호 작용 명령 환경 프로그램을 제공한다. itrip의 기능은 help 기능을 이용하여 확인할 수 있다. ls items는 현재 정의된 부품, 중간조립품, 최종 조립품 그리고 공정 item을 출력한다. ls locs는 현재 정의된 position move와 position base 위치를 출력한다. ls acts는 로봇 계획을 출력한다. 출력되는 로봇 계획은 actpy에서 작성한 로봇 계획에 itrip에서 선정한 p_move와 p_base 위치를 사.. 2023. 4. 7.