CAM 작업대(workbench)에서 CAM 작업(Job)을 생성합니다. 이 작업에는 CNC 밀링 머신에서 가공을 수행하는 데 필요한 G-code를 생성하기 위한 모든 정보가 포함됩니다. 여기에는 소재(Stock), 밀링 머신이 사용하는 공구 세트, 그리고 속도와 이동을 제어하는 명령(일반적으로 G-code)이 포함됩니다.
윤곽(Contour), 포켓(Pocket) 등의 연산(Operation)을 사용하여 밀링 경로(toolpath)를 생성합니다. 이러한 CAM 객체는 실제 CNC 기계와는 독립적인, FreeCAD 내부의 G-code를 사용합니다.
마지막으로, 사용하는 기계에 맞는 G-code로 작업을 내보내기(export) 합니다. 이 단계는 포스트 프로세싱(post processing)이라 불리며, 다양한 포스트 프로세서(post processor)를 사용할 수 있습니다.
일반적인 개념들
CAM 작업대(workbench)는 CAM 작업(Job) 연산(Operation)에 사용되는 FreeCAD 내부 G-code를 사용하여, 3D 모델로 표현된 프로젝트를 밀링 머신(target mill)에서 가공하는 데 필요한 가공 경로(toolpath)를 정의하는 G-code를 생성합니다. 이후, 적절한 포스트 프로세서(postprocessor)를 선택함으로써 해당 G-code는 대상 CNC 컨트롤러에 맞는 G-code로 변환됩니다.
G-code는 CAM 작업(Job)에 포함된 지시문(directives)과 연산(Operation)으로부터 생성됩니다. 작업 워크플로(Job Workflow)에는 이러한 항목들이 실행될 순서대로 나열됩니다. 이 목록은 CAM 메뉴 또는 GUI 버튼을 사용하여 CAM 연산(Operation), 경로 드레스업(Path Dressups), 보조 명령(Supplemental Commands), 그리고 경로 수정(Path Modifications)을 추가함으로써 구성됩니다.
CAM 작업대(workbench)는 공구 관리자(Tool Manager)(라이브러리, 공구 테이블), G-code 검사(Inspection) 도구, 그리고 시뮬레이션(Simulation) 도구를 제공합니다. 또한 포스트 프로세서(Postprocessor)를 연결하며, 작업 템플릿(Job Template)을 가져오기(import) 및 내보내기(export)할 수 있도록 합니다.
CAM 작업대(workbench)에는 다음과 같은 외부 의존성(external dependencies)이 있습니다:
FreeCAD 3D 모델의 단위(unit)는 Edit → Preference → General → Default unit system에서 정의됩니다. 포스트 프로세서(Postprocessor) 설정은 최종 G-code 단위를 정의합니다.
기본 3D 모델(Base 3D model)의 품질이 CAM 작업대(workbench)의 요구 사항을 충족해야 하며, 형상 검사(Check Geometry)를 통과해야 합니다.
제한사항
다음은 현재 인지하고 있어야 할 일부 제한 사항입니다:
대부분의 CAM 공구(Tools)는 진정한 3D 공구가 아니라 2.5D까지만 지원합니다. 이는 고정된 2D 형상을 기준으로 지정된 깊이까지 절삭할 수 있다는 의미입니다. 다만, 진정한 3D 경로를 생성하는 공구가 두 가지 있습니다: 3D Pocket과 3D Surface입니다. 이 중 3D Surface는 2020년 11월 기준으로 실험적 기능(experimental feature)입니다.
CAM 작업대(workbench)의 대부분은 단순한 표준 3축(xyz) CNC 밀링 머신/라우터를 대상으로 설계되었습니다. 선반(lathe) 공구는 0.19_pre 버전에서 개발 중입니다.
CAM 작업대(workbench)의 대부분의 연산(Operation)은, 해당 공구 컨트롤러(tool controller)에 지정된 공구/비트 유형과 관계없이 표준 엔드밀(endmill) 공구/비트를 기준으로 한 경로만을 생성합니다. 예외적으로 Engrave와 3D Surface 연산은 다르게 동작합니다.
CAM 작업대(workbench)의 연산은 모델을 기계에 고정하기 위해 사용되는 클램핑 메커니즘(clamping mechanisms)을 인식하지 못합니다. 따라서 생성된 코드를 기계로 전송하기 전에, 반드시 경로를 검토하고 시뮬레이션하시기 바랍니다. 필요하다면 FreeCAD에서 클램핑 장치를 직접 모델링하여 생성된 경로를 더 정확히 확인할 수 있습니다. 경로를 따라 이동 중 클램프나 기타 장애물과의 충돌 가능성을 반드시 점검하십시오.
단위
CAM에서의 단위 처리(Unit handling)는 혼란스러울 수 있습니다.
다음의 몇 가지 핵심 사항을 이해할 필요가 있습니다:
FreeCAD의 기본 단위는 길이(length)가 mm, 시간(time)이 s입니다. 따라서 속도(velocity)는 mm/s가 됩니다. 이는 다른 설정과 무관하게 FreeCAD 내부에 저장되는 기준 단위입니다.
기본 단위 스키마(default unit schema)는 기본 단위를 사용합니다. 기본 스키마를 사용하면서 단위 문자열 없이 이송 속도(feed rate)를 입력하면, 해당 값은 mm/s로 입력됩니다.
대부분의 CNC 기계는 이송 속도를 mm/min 또는 in/min 형식으로 기대합니다. 대부분의 포스트 프로세서(post-processor)는 G-code를 생성할 때 이 단위 변환을 자동으로 수행합니다.
스키마(Schemas):
환경설정에서 스키마(schema)를 변경하면 입력 필드에 사용되는 기본 단위 문자열(default unit string)이 변경됩니다. CAM 사용자가 미터법(metric)으로 설계하는 경우, "Metric Small Parts & CNC" 스키마를 사용하는 것이 강력히 권장됩니다. 미국 단위(US units)로 설계한다면 Imperial Decimal 또는 Building US 스키마를 사용할 수 있습니다.
선호하는 단위 스키마를 변경해도 출력 결과에는 영향이 없지만, 입력 오류를 피하는 데에는 큰 도움이 됩니다.
출력(Output):
출력 시 올바른 단위(unit)를 생성하는 책임은 포스트 프로세서(post-processor)에 있으며, 이는 해당 시점에만 수행됩니다.
기계의 출력 단위는 사용자가 선택한 단위 스키마(unit schema)와는 완전히 무관합니다.
포스트 프로세서는 미터법(metric, G21) 출력, 인치법(Imperial, G20) 출력 중 하나를 생성하거나, 또는 설정 가능(configurable)한 방식으로 동작합니다.
설정 가능한 포스트 프로세서는 기본적으로 미터법(G21) 출력을 사용합니다.
설정 가능한 포스트 프로세서에서 인치 단위 G-code(G20)를 출력하고 싶다면, 작업 출력 설정(job output configuration)에서 올바른 인자를 설정해야 합니다(예: linuxcnc의 경우 --inches). 이 설정은 작업 템플릿(job template)에 저장할 수 있으며, 이를 기본 템플릿으로 지정하면 이후 모든 작업에 자동으로 적용할 수 있습니다.
CAM 검사(Inspection):
CAM 검사(Inspect) 도구를 사용하여 G-code를 확인하면, 아직 포스트 프로세싱(post-processing)이 수행되지 않았기 때문에 mm/s 단위로 표시됩니다.
높이(heights)와 깊이(depths)
많은 명령에는 서로 다른 높이(height)와 깊이(depth) 설정이 있습니다:
깊이(Depth) 속성 설정에 대한 시각적 참고 자료
명령어들
일부 명령은 실험적 기능(experimental)으로 분류되어 있으며, 기본적으로는 사용할 수 없습니다. 이를 활성화하려면 CAM experimental을 참고하십시오.