FreeCAD

덤프버전 :


그래픽 툴

[ 2D ]
{{{#!wiki style="display:inline-block; min-width:25%"
[ 3D ]
{{{#!wiki style="display:inline-block; min-width:25%">
[ 영상 ]
B PC·모바일 공동 지원 · Μ 모바일 전용 · Ο 오픈 소스 · F 프리웨어 · $ 유·무료 공존/부분유료 · C 컬러 매니지먼트 시스템 · Χ 단종

프리캐드
파일:freecad.png
용도
메커니컬 및 서피스 디자인,
기계설계, 시뮬레이션, 건축 BIM
코드 라이선스
gnu lgpl v2+
운영체제
linux, Windows, macOS
사이트
freecadweb.org
1. 개요
2. Link Branch 및 Assembly3 사용 팁
2.1. 사이클릭 디펜던시 및 에러 해결책
3. 프리폼 서피스 디자인 툴
4. 프리캐드를 사용한 3D 모델링 강좌
5. 렌더링, 데칼, SubD 서피스 활용방법
6. 관련링크


1. 개요[편집]


프리캐드는 크로스 플랫폼(리눅스,윈도우즈,맥에서 모두 실행)을 지원하는 다목적 파라메트릭 3D CAD, 자유 소프트웨어이다.
기계설계, 메커니컬 및 서피스 디자인에 적합하며 건축에 최적화된 FEM을 지원하는 Arch BIM 모듈도 있다. 부가 기능을 워크벤치 모듈/Addon이나 매크로(Macros)로 제공하고 있다. 릴리스 히스토리 및 릴리스 노트#. 별도 설치과정 없이 포터블 형태로 실행도 가능하다. (멀티버전 및 포터블 버젼 실행시 프로그램 설정 파일 및 디렉토리 분리를 위해 SET 환경변수와 값을 지정하고 실행파일에 옵션을 지정하여야 한다. 구글링 하면 답이있다.)

디자인 구조설계 및 편집에 편리한 파라메트릭과 히스토릭 기능을 지원하고 있다. 멀티 다큐먼트 파일, 멀티 그룹, 멀티 파트, 멀티 바디 컨테이너로 솔리드 모델과 서피스 모델등을 구성한다. 활성화된 어셈블리, 바디 컨테이너, 또는 스케치 내에서 타 오브젝트를 (Sub)ShapeBinder나 External/DefiningGeometry 툴로 참조하여 피쳐를 정의 가능하다. 파트/바디의 피쳐, 디멘젼, 오브젝트 위치/어테치먼트 등등의 디자인 인텐트(intent)가 '어셈블리'로부터 가능한 탑다운(Top-down) 디자인을 지원하고 있다.

외부 다큐먼트 파일 또는 작업 다큐먼트 파일 내의 스케치/바디/파트/서브어셈블리 추가(고급 Copy/Paste 또는 Link) 및 In-Context/In-Place Design-Edit, 오브젝트간의 조인트/메이트 구속조건(3D Constraint), 바디 컨테이너 내에서 분리 또는 합쳐진 솔리드 오브젝트/피쳐 관리, 2D-3D 통합 스테틱 스페이스 솔버 및 리얼타임 다이나믹 키네마틱(kinematic) 모션, 고급 참조(Link/Bind CopyOnChange, Link, ConstrainingElement, ElementLink), 매니지먼트 기능 등등의 고급 어셈블리/파트 디자인을 위해 2017년 12월 프리캐드 0.17에서 브랜치 시작되어 2020년 4월초 릴리스된 프리캐드 프리뷰 0.19.20415 Conda 패키지 버전부터 공식 탑재되고 있는 고급레벨의 Assembly3 워크벤치 모듈을 사용하여야 한다. 프리캐드 공식 릴리스에서 브랜치/포크된 프리캐드 Link Branch 릴리스를 사용하는것이 유리하다. 프리캐드 공식 포럼 검색(https://forum.freecadweb.org/search.php)란에서 author를 realthunder로 하고 topics별 리스트 결과에서 Link Branch 릴리스의 추가된 기능을 확인할수 있다. 기본레벨의 A2plus 또는 Assembly4 워크벤치 모듈도 있으나 Assembly3 워크벤치 모듈의 기능을 따라오지 못하고 있다. 참고로, Link Branch와 Assembly3 워크벤치 모듈 경우 솔리드웍스나 퓨전360의 어셈블리 디자인 기능도 능가하고 있다.


2. Link Branch 및 Assembly3 사용 팁[편집]


성능과 관련하여 Menu > Edit > Preferences > Display > 3D view > Rendering 창에서 "Use OpenGL VBO"를 체크하고 "Render cache"를 Experimental로 선택하면 Coin3D 최적화 등을 통한 OpenGL GPU 직접 가속을 지원하게 되어 복잡한 어셈블리 작업시 확연한 성능 향상을 느낄수 있다#. 저가형 GPU에서 특히 효과가 있다. 렌더 캐시 성능향상 기능은 Link Branch 릴리스에서만 지원한다. 3D View 설정창에서 "Show counter of frames per second"를 on하여 게임 성능 체크와 같이 FPS를 확인가능하다. 그리고 Tessellation값을 Menu > Edit > Preferences > Part desgin > Shape view창에서 글로벌로 설정, 라인/커브/서피스에 대한 화질과 성능 밸랜스를 조절가능하다(프로그램 리스타트가 필요할 경우도 있다).

어셈블리3 워크벤치 사용시 3D 컨스트레인트를 적용후 기계적 모션을 수동으로 실행하기 위해 어셈블리3 워크벤치의 Move Part나 Axial Move Part툴을 사용한다. 선정된 컨스트레인트에 대해 Length, Angle, Distance 파라메터를 스텝을 조절하며 오토 에니메니션 기능을 구현하려면 ( https://wiki.freecadweb.org/Tutorial_KinematicAssembly )와 ( https://wiki.freecad.org/Tutorial_KinematicController ) 튜토리얼 내용대로 매크로를 실행하여야 한다. 키네마틱 모션에 대한 스텝별 이미지 파일을 저장하는 기능도 있어 기계적 모션에 대한 gif 애니메이션 파일을 작성도 가능하다. 구동 컨스트레인트를 지정하기 위해 Assembly 트리의 Constraints 폴더 하부의 선택된 3D 컨스트레인트 Label을 Driver로 끝나게 수정한후 매크로를 실행하여야 한다.

어셈블리 파트에 대해 2번째 3D 컨스트레인트/조인트/메이트를 적용시 에러가 뜨는 경우는 그 파트에 대한 DOF(degree of freedom) 값이 0이하로 감소하여 Overconstrained되는 경우 발생한다. 해결책은 DOF값이 높은 3D constraint 툴을 조합하여 사용하면 된다. 예를들어 AxialAlignment와 DOF가 1로 낮은 PlaneCoincident를 사용하는 대신 DOF가 5로 높은 PointInPlane을 조합하여 사용하면 해결된다. SameOrientation툴과의 조합도 아주 유용하다.



2.1. 사이클릭 디펜던시 및 에러 해결책[편집]


  • 어셈블리 하부의 2개 이상의 바디 또는 서브 어셈블리 컨테이너에서 상호간에 SubShapeBinder나 ExternalGeometry툴 등으로 참조시 Cyclic Dependency 에러가 뜨는 경우가 있다. 해결책으로는 컨테이너 내의 오브젝트를 단일 방향으로 참조, Spreadsheet의 글로벌 변수 이용, 제3의 고정된 오브젝트로의 3D Constraint 적용 등으로 해결가능하다.
  • SubShapeBinder로 참조시 얼라인먼트가 맞지 않는 경우가 있는데 Tree뷰에서 SubShapeBinder 오브젝트를 선택후 더블클릭이나 오른쪽 마우스 클릭후 Synchronize를 해주어야 한다.
  • 어셈블리 트리에서 Link 오브젝트에 대한 오리지날 Linked Object의 파일명이 변경되거나 삭제된 경우 루트 어셈블리에 에러 마크가 뜨는 경우가 있다. Property > "Change the linked object" 다이얼로그나 드래그&드랍 기능 등으로 Linked Object를 재지정 해야한다.
  • 어셈블리 컨테이너 Elements 트리에서 각각의 (Constraining)Element에 대한 Property > "Linked Object"을 확인후 Blank/Null인 경우 그 엘리먼트를 트리에서 삭제하여야한다. 그후 Tree뷰 상에서 루트 다큐먼트를 Recompute 지정 및 Refresh를 하여야 트리뷰 상에 에러가 뜨는것을 방지할수 있다.

3. 프리폼 서피스 디자인 툴[편집]


다음 워크벤치(WB)의 기능과 피쳐를 사용하여 3D 라인/커브/서피스를 쉽게 디자인 가능하다.
기본설치된 워크벤치 모듈의 서피스 디자인 툴
추가설치 가능한 서피스 디자인 워크벤치 모듈
Part Design WB
Sweep(Pipe), Loft
Curves WB (3D Curve/Line/Surface)
NURBS WB
Silk WB
Curved Shapes WB
Part WB
Sweep, Loft, RuledSurface,
ShapeBuilder(FaceFromEdges)
Surface WB
Filling, FillBoundaryCurves, ExtendFace,
SurfaceFromSectionCurves, CurveOnMesh
Part WB의 ShapeBuilder(FaceFromEdges) 툴을 제외하고 모두 파라메트릭 기반의 서피스(곡면) 디자인 툴이다. 추가 설치가능한 서피스 디자인 워크벤치 모듈중에서는 Curves WB (NURBS 3D 라인/커브/서피스) 모듈이 가장 유용하다. 참고로, Link Branch 릴리스와 Curves 워크벤치 모듈등과 함께 사용시에는 생성될 오브젝트를 Assembly 컨테이너로 랩핑을 하여야 제대로 동작한다.

Tip : 3D 라인/커브 오브젝트 작성 방법
  • Draft WB에서 BSpline/Bezier 커브 툴 또는 Polyline 툴 실행후 X,Y,Z 키를 한번씩 클릭하여 마우스 커서를 이동, 원하는 3D 공간 위치에서 마우스 클릭, 콘트롤 포인트를 추가하면서 3D 라인/커브 오브젝트를 작성 가능하다. 작성된 커브/라인 오브젝트를 선택후 Draft Edit 툴을 실행하면 커브/라인의 개별 컨트롤 포인트를 X,Y,Z 임의의 방향으로 이동(역시 X,Y,Z키를 원클릭)하여 3D 커브/라인 오브젝트를 편집가능하다. 3D 커브/라인 오브젝트의 Property > Points > Vectors Table에서도 개별 콘트롤 포인트를 X,Y,Z 좌표값 수정 또는 추가도 가능하다.
  • 두개의 직교된 2D 라인/커브 스케치로부터 프로젝트(투영)된 별개의 3D 라인/커브 오브젝트를 구현가능하다. Sketcher 위크벤치 또는 Draft 워크벤치 모듈의 BSpline/Bezier 커브나 폴리라인 툴을 사용하여 2D 라인/커브 스케치 오브젝트를 만든다. 직교(90도) 평면상에 추가로 2D 라인/커브 스케치 오브젝트를 만든다. Part WB의 Extrude툴로 각각의 2D 라인/커브 스케치 오브젝트를 extrude하여 서피스를 만든후 Section 툴을 사용하면 프로젝트(교차된)된 3D 라인/커브 오브젝트를 만들 수 있다. (솔리드웍스의 Curve(3D) - Project Curve - Sketch on Sketch와 동등한 툴)
  • 2D 라인/커브 스케치를 다른 곡면/서피스 상에 프로젝트(투영)하여 3D 라인/커브 오브젝트로 만들 수 있다. Part 워크벤치의 ProjectionOnSurface 툴을 사용하면 쉽게 가능하다. (솔리드웍스의 Curve(3D) - Project Curve - Sketch on Face와 동등한 툴)
  • Curves 워크벤치의 툴로 보다 간편히 구현가능하다. Line, Degree/Subdivide, Align, Tangent, Intersection, Join, Split, Extend, Blend, Snap, Trim, IsoCurve, Sketch Map, Continuity, UV 파라메터, Face to Parametric Solid/Shell/Compound 등등 고급 3D 서피스 디자인에 필요한 기능을 압축시킨 유용한 워크벤치 모듈이다. Curves WB 3D 라인/커브 툴 강좌
위와 같이 작성된 3D 라인/커브 오브젝트는 구현하고자 하는 3D 서피스를 위한 프로파일(profile)/바운더리(boundary)/패스(path)로써 사용가능하다.

4. 프리캐드를 사용한 3D 모델링 강좌[편집]




5. 렌더링, 데칼, SubD 서피스 활용방법[편집]


모션 그래픽 업계에서 활용중인 오픈소스 자유 소프트웨어인 Blender의 특수기능을 프리캐드와 함께 사용 가능하다.

프리캐드에서 .OBJ나 .STL 파일로 export하여 Blender에서 리얼타임 렌더엔진인 Eevee나 CPU+GPU를 동시에 지원하는 Cycles 렌더엔진으로 렌더링 가능하다. 프리캐드에서 export시 Mesh WB에서 보다 상세한 셋팅을 하여야 할 경우도 있다. 실물 사진과 동일한 이미지 결과를 얻기 위해 블렌더에서 렌더 셋팅, Output 셋팅, View Layer 셋팅, World 셋팅, 머티리얼 셋팅, 텍스쳐 셋팅, 카메라/라이트 셋팅과 Shade에디터 사용에 대한 노우하우가 필요하다. 블렌더의 UV 에디터로 Decal을 입히거나 에니메이션과 관련된 에디터를 사용하여 모션 그래픽 툴로도 활용 가능하다.

렌더링을 위해서는 기본적으로 World HDRI 이미지에 오브젝트 별로 Material 텍스쳐 이미지(베이스 컬러/이미지 + Normal/Height/Metallic/Roughness 이미지)를 Normal/Bump 맵핑 노드와 Shader 노드(Principled BSDF)에 적용 또는 Displacement 맵핑을 통해 용이하게 상용 렌더러를 능가하는 이미지 결과를 얻을수 있다. 블렌더 PBR 텍스쳐 베이직 강좌(Normal/Bump맵핑). 유튜브에서 Freecad Blender, Blender Rendering, Blender PBR등으로 검색해보면 된다.

Blender에서 SubD/NURBS 서피스 모델링 결과를 .OBJ나 .STL 파일로 export한후, 프리캐드에서 Mesh to Shape 변환과 관련된 툴을 사용하거나, 별도의 SubD to NURBS 자동화 변환툴 (Mesh .OBJ/.STL => SubD => NURBS .IGES/.STEP 트랜스레이터/컨버터) 등을 사용하여 Mesh 기반의 3D자료를 NURBS/Shape모델로 변환하여 프리캐드에서 활용 가능하다. 블렌더-프리캐드 전용 SubD to NURBS 자동화 변환툴도 있다.


6. 관련링크[편집]


프리캐드 최신 위클리 릴리스 → https://github.com/FreeCAD/FreeCAD-Bundle/releases/tag/weekly-builds
프리캐드 마스터/업스트림 릴리스 → https://github.com/FreeCAD/FreeCAD/releases

프리캐드 Link Branch 릴리스 → https://github.com/realthunder/FreeCAD/releases
프리캐드 Link Branch, 리눅스 전용 Snap 패키지 최신 릴리스 → https://snapcraft.io/freecad-realthunder
Assembly3 워크벤치 모듈 → https://github.com/realthunder/FreeCAD_assembly3

기본 설치된 워크벤치 모듈 정보 → https://www.freecadweb.org/wiki/Workbenches
추가 설치 워크벤치 모듈 정보 → https://www.freecadweb.org/wiki/External_workbenches


파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-10-25 13:55:27에 나무위키 FreeCAD 문서에서 가져왔습니다.