Jump to content

CAM 작업대

From FreeCAD Documentation
This page is a translated version of the page CAM Workbench and the translation is 100% complete.
CAM 작업대 아이콘

개 요

CAM 작업대(workbench)는 FreeCAD의 3D 모델로부터 [CNC 기계]에서 사용할 기계 지시문(machine instructions)을 생성하는 데 사용됩니다. 이 지시문을 통해 밀링 머신, 선반, 레이저 커터 등과 같은 CNC 장비에서 실제 세계의 3차원 물체를 가공할 수 있습니다. 일반적으로 이러한 지시문은 G-code 형태로 생성됩니다. 일반적인 CNC 선반 공구 경로(toolpath) 시퀀스 시뮬레이션 예제를 참고할 수 있습니다.

FreeCAD CAM 작업대(workbench)의 워크플로는 다음과 같은 절차로 기계 지시문을 생성합니다:

  • 3D 모델이 기준 객체(base object)가 되며, 일반적으로 PartDesign 작업대(workbench), Part 작업대(workbench), Draft 작업대(workbench) 중 하나 이상을 사용하여 생성됩니다.
  • CAM 작업대(workbench)에서 CAM 작업(Job)을 생성합니다. 이 작업에는 CNC 밀링 머신에서 가공을 수행하는 데 필요한 G-code를 생성하기 위한 모든 정보가 포함됩니다. 여기에는 소재(Stock), 밀링 머신이 사용하는 공구 세트, 그리고 속도와 이동을 제어하는 명령(일반적으로 G-code)이 포함됩니다.
  • 작업의 가공 연산(Operation)에 따라 필요한 CAM 공구(Tools)를 선택합니다.
  • 윤곽(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)이 있습니다:

  1. FreeCAD 3D 모델의 단위(unit)는 Edit → Preference → General → Default unit system에서 정의됩니다. 포스트 프로세서(Postprocessor) 설정은 최종 G-code 단위를 정의합니다.
  2. 매크로 파일 경로(Macro file path)와 기하 공차(Geometric tolerances)는 Edit → Preferences → CAM → Job Preferences 탭에서 정의됩니다.
  3. 색상(Colors)은 Edit → Preferences → CAM → GUI 탭에서 정의됩니다.
  4. 고정 탭(Holding tag) 매개변수는 Edit → Preferences → CAM → Dressups 탭에서 정의됩니다.
  5. 기본 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)는 혼란스러울 수 있습니다. 다음의 몇 가지 핵심 사항을 이해할 필요가 있습니다:

  1. FreeCAD의 기본 단위는 길이(length)가 mm, 시간(time)이 s입니다. 따라서 속도(velocity)는 mm/s가 됩니다. 이는 다른 설정과 무관하게 FreeCAD 내부에 저장되는 기준 단위입니다.
  2. 기본 단위 스키마(default unit schema)는 기본 단위를 사용합니다. 기본 스키마를 사용하면서 단위 문자열 없이 이송 속도(feed rate)를 입력하면, 해당 값은 mm/s로 입력됩니다.
  3. 대부분의 CNC 기계는 이송 속도를 mm/min 또는 in/min 형식으로 기대합니다. 대부분의 포스트 프로세서(post-processor)는 G-code를 생성할 때 이 단위 변환을 자동으로 수행합니다.

스키마(Schemas):

  1. 환경설정에서 스키마(schema)를 변경하면 입력 필드에 사용되는 기본 단위 문자열(default unit string)이 변경됩니다. CAM 사용자가 미터법(metric)으로 설계하는 경우, "Metric Small Parts & CNC" 스키마를 사용하는 것이 강력히 권장됩니다. 미국 단위(US units)로 설계한다면 Imperial Decimal 또는 Building US 스키마를 사용할 수 있습니다.
  2. 선호하는 단위 스키마를 변경해도 출력 결과에는 영향이 없지만, 입력 오류를 피하는 데에는 큰 도움이 됩니다.

출력(Output):

  1. 출력 시 올바른 단위(unit)를 생성하는 책임은 포스트 프로세서(post-processor)에 있으며, 이는 해당 시점에만 수행됩니다.
  2. 기계의 출력 단위는 사용자가 선택한 단위 스키마(unit schema)와는 완전히 무관합니다.
  3. 포스트 프로세서는 미터법(metric, G21) 출력, 인치법(Imperial, G20) 출력 중 하나를 생성하거나, 또는 설정 가능(configurable)한 방식으로 동작합니다.
  4. 설정 가능한 포스트 프로세서는 기본적으로 미터법(G21) 출력을 사용합니다.
  5. 설정 가능한 포스트 프로세서에서 인치 단위 G-code(G20)를 출력하고 싶다면, 작업 출력 설정(job output configuration)에서 올바른 인자를 설정해야 합니다(예: linuxcnc의 경우 --inches). 이 설정은 작업 템플릿(job template)에 저장할 수 있으며, 이를 기본 템플릿으로 지정하면 이후 모든 작업에 자동으로 적용할 수 있습니다.

CAM 검사(Inspection):

  1. CAM 검사(Inspect) 도구를 사용하여 G-code를 확인하면, 아직 포스트 프로세싱(post-processing)이 수행되지 않았기 때문에 mm/s 단위로 표시됩니다.

높이(heights)와 깊이(depths)

많은 명령에는 서로 다른 높이(height)와 깊이(depth) 설정이 있습니다:

깊이(Depth) 속성 설정에 대한 시각적 참고 자료

명령어들

일부 명령은 실험적 기능(experimental)으로 분류되어 있으며, 기본적으로는 사용할 수 없습니다. 이를 활성화하려면 CAM experimental을 참고하십시오.

프로젝트 명령어들

  • Sanity Check: 선택한 Job에 누락된 숫자가 있는지 체크하기

도구(tool) 명령어들

  • Legacy CAM Simulator: 기계에서 실제로 수행되는 것처럼 밀링 작업을 시각적으로 표시
  • Toggle Operation: 경로 연산(Path Operation)을 활성화하거나 비활성화하기

기본 연산(operations)

  • Profile: 전체 모델을 대상으로 하거나, 하나 이상의 선택된 면(face) 또는 에지(edge)로부터 프로파일(Profile) 연산을 생성
  • Pocket Shape: 하나 이상의 선택된 포켓(pocket)으로부터 포켓 가공(Pocketing) 연산 생성
  • Face: 서페이싱(Surfacing) 경로 생성
  • Helix: 헬리컬(Helical) 경로 생성
  • Adaptive: 적응형 클리어링(Adaptive Clearing) 및 프로파일링(Profiling) 연산을 생성
  • Slot: 선택한 피처(feature) 또는 사용자 지정 점(custom points)으로부터 슬롯 가공(Slotting) 연산을 생성
  • Drilling: 드릴링(Drilling) 사이클을 수행
  • Engrave: 각인(Engraving) 경로를 생성
  • Deburr: 디버링(Deburr) 경로를 생성
  • Vcarve: V형 공구(V tool) 형상을 사용하여 각인(Engraving) 경로를 생성

3D 연산(operations)

  • 3D Pocket: 3D 포켓(pocket) 가공 경로 생성

경로 드레스업(Path Dressup)

  • Axis Map: 한 축(axis)을 다른 축으로 재매핑(remap)
  • Boundary: 선택한 경로에 경계(boundary) 드레스업 수정(dressup modification)을 추가
  • Dogbone: 선택한 경로에 도그본(dogbone) 드레스업 수정(dressup modification)을 추가
  • Drag Knife: 선택한 경로에 드래그 나이프(dragknife) 드레스업 수정(dressup modification)을 추가
  • Lead In/Out: 선택한 경로에 리드인(lead-in) 및/또는 리드아웃(lead-out) 지점을 추가
  • Ramp Entry: 선택한 경로에 램프 진입(ramp entry) 드레스업 수정(dressup modification)을 추가
  • Tag: 선택한 경로에 고정 탭(holding tag) 드레스업 수정(dressup modification)을 추가

보조(supplemental) 명령어들

  • Comment: 경로 G-code에 주석(comment)을 삽입
  • Stop: 완전 정지(full stop)를 추가
  • Custom: 사용자 지정 G-code 삽입
  • Probe: 작업(Job)의 소재(Stock)를 기준으로 프로빙 그리드(Probing Grid)를 생성

경로 수정

  • Copy Operation: 선택한 경로(Path) 객체의 파라메트릭 복사본을 생성
  • Array: 선택한 경로(Path)를 복제하여 배열(Array)을 생성
  • Simple Copy: 선택한 경로(Path) 객체의 비파라메트릭(non-parametric) 복사본을 생성

특별 연산(operations)

  • Thread Milling: 기본 객체(base object)의 피처(feature)로부터 CAM 나사 밀링(Thread Milling) 연산을 생성 Experimental

기타

  • Area: 선택한 객체로부터 피처 영역(feature area)을 생성 Experimental

폐기된 명령들(Obsolete Commands)

  • Fixture: 고정구(fixture) 위치를 변경, 1.1 and above에서는 사용할 수 없음

ToolBit 아키텍처(architecture)

ToolBit 아키텍처를 기반으로 공구(tools), 비트(bits) 및 공구 라이브러리(Tool Library)를 관리합니다.

기타 문서들

  • CAM FAQ: CAM 작업대(workbench)는 다른 CAM 소프트웨어 패키지와 많은 개념을 공유하지만, 고유한 특성도 가지고 있습니다. 문제가 있어 보인다면 이곳에서 시작하는 것이 좋습니다.
  • CAM SetupSheet: SetupSheet를 사용하여 연산(Operation)의 다양한 속성 값이 계산되는 방식을 사용자 지정할 수 있습니다.
  • CAM 포스트 프로세서 사용자 지정: 사용 중인 특수한 기계가 제공되는 포스트 프로세서 중 하나를 사용할 수 없는 경우, 자체 포스트 프로세서를 작성해야 할 수도 있습니다.
  • CAM 4축: 실험적 4축 밀링 기능입니다.

환경설정(Preferences)

스크립팅

CAM 스크립팅 문서를 참고하세요.

튜터리얼

CAM의 빠른 안내서: CAM에 빠르게 익숙해지기 위한 간단한 튜토리얼입니다.

동영상

로드맵

CAM 개발 로드맵: CAM 개발에 기여하고자 하는 개발자라면 이 문서를 참고하십시오.