Python3 스크립트를 사용하여 FreeCAD 모델링(Ubuntu18.04)

8479 단어 Python3FreeCAD

입문


이것은 Python3 스크립트를 사용하여 FreeCAD에서 모델 치수 매개변수를 변경하는 방법에 대한 설명입니다.
기본 모양은 GUI로 제작되며 Python 스크립트에서만 크기를 변경합니다.
0부터 Python으로 모델을 생성하는 것은 아닙니다.

목표


Python3 스크립트로 FreeCAD(0.18)를 조작하고 싶은 사람.
파이썬2도 사용하시는 분은 여기 참고하세요.
Qiita
- Python2 스크립트에서 FreeCAD0.18을 실행할 때의 설명(Ubuntu18.04)

설치 방법 및 운영 방법


아래 사이트를 참조하십시오.
FreeCAD 사용 방법 노트
- FreeCAD Linux에 설치하는 방법

환경


OS Ubuntu 18.04
FreeCAD 0.18.4
Python 3.6.9

준비


우선 모양을 적당히 만들어라.이번에는 장방체의 사이즈를 변경해야 한다.
변경할 매개 변수를 x, y, z로 설정합니다.

그런 다음 FreeCAD 스프레드시트에 x, y, z의 매개변수를 입력합니다.B1, B2, B3 셀의 값입니다.(A1, A2, A3는 기호입니다. 없어도 됩니다.)

여기서 모델과 매개변수를 연관시키기 위해 별칭도 설정됩니다.
여기에 설정된 별명을 사용하고 나중에 매개 변수를 변경합니다.

마지막으로 모델을 스프레드시트의 매개변수 값과 연결합니다.
모델 치수 설정 화면에서 스프레드시트의 별칭을 지정합니다.

준비 완료.

스크립트


콘솔 화면에서 이 스크립트를 실행하십시오.
컨텐트는 스프레드시트에 설정된 매개변수 값 수정 → STEP 형식의 중간 파일 형식으로 저장된 스크립트입니다.
스크립트 자체는 FreeCAD의 매크로 기능을 사용하여 기록됩니다.중복 사용으로 분류되었지만 모듈 가져오기가 생략되어 직접 사용할 수 없습니다.
따라서 FreeCAD 모듈(FreeCAD.so 및 Import.so)을 가져오기 위해 FREECADPATH에 모듈 읽어들이기 경로가 추가됩니다.
각 설치 상황에 따라 경로가 변경되므로 확인 후 설정하십시오.
FREECADPATH = "/usr/lib/freecad-python3/lib"
import sys
sys.path.append(FREECADPATH)
import FreeCAD
import Import

class FreecadParams:
    """FreeCADのスプレッドシート操作&STEP形式で保存をクラス化"""
    def __init__(self, fc):
        self.fcpath = fc # FreeCADモデルの保存場所
        self.stpath = st # STEPファイルの保存場所

    def import_fcstd(self):
        '''モデルの読み込み'''
        FreeCAD.open(self.fcpath)

    def set_value(self, params, value):
        '''寸法パラメータの設定'''
        FreeCAD.setActiveDocument("original_model") # ファイルの名称
        FreeCAD.ActiveDocument.Spreadsheet.set(params, value)
        FreeCAD.ActiveDocument.recompute()
        __objs__=[]
        __objs__.append(FreeCAD.getDocument("original_model").getObject("Pad"))  # 押し出し3Dモデルの名称“Pad”
        del __objs__

    def export_step(self):
        '''STEP形式で保存'''
        __objs__=[]
        __objs__.append(FreeCAD.getDocument("original_model").getObject("Pad"))
        Import.export(__objs__, self.stpath)
        del __objs__

if __name__ == '__main__':
    fcpath = '/(ワークディレクトリ)/original_model.FCStd' # FreeCADモデルの保存場所
    stpath = '/(ワークディレクトリ)/original_model.step'  # STEPファイルの保存場所
    f = FreecadParams(fcpath, stpath)
    f.import_fcstd()
    f.set_value('x', '10')
    f.set_value('y', '40')
    f.set_value('z', '20')
    f.export_step()  

결과


치수가 변경된 모델을 STEP 형식으로 저장할 수 있습니다.
치수를 자동으로 변경하는 동시에 FEM 해석을 반복하는 데 사용할 수 있습니다.

좋은 웹페이지 즐겨찾기