DXF/ko

배경 역사

DXF(Drawing Exchange Format)는 Autodesk가 주력 AutoCAD 제품과 다른 소프트웨어 간의 파일 교환을 가능하게 하기 위해 개발한 독점적인 CAD 데이터 형식입니다. DXF 형식을 읽고 쓰기 위한 좋은 소프트웨어 라이브러리가 많이 있습니다.

DXF 형식에는 여러 버전이 있습니다. 1992년부터 출시된 R12나 조절곡선(spline)이 적용된 1997년부터 출시된 R14와 같은 특정 키 버전을 들어보게 될 겁니다. DXF의 이후 버전에는 3D 요소가 있지만, 이는 거의 사용되거나 구현되지 않습니다. DXF를 사용하여 프로그램 간에 CAD 데이터를 공유하는 방법은 주로 해당 리더/가져오기 도구와 작성기/내보내기 도구의 제한 사항과 버그에 따라 달라집니다. 이러한 문제는 거의 완벽하게 문서화되지 않으며 큰 좌절의 원인이 될 수 있습니다.

DXF 파일을 편집하고 저장할 때 거의 동일한 상태로 유지하려는 경우, LibreCAD 또는 QCad를 사용하는 것이 좋습니다. 이 프로그램의 내부 데이터 구조는 DXF 파일의 개체와 호환됩니다.

FreeCAD에서 DXF 리더는 DXF 파일의 기하요소(예: 조절곡선 모양)를 작업대의 특정 내부 표현으로 변환해야 합니다.

DXF를 프리캐드로 가져오는 방법

If you intend to review the settings frequently, we recommend you go to Edit → Preferences → Import-Export → DXF and tick the box "[ ] Show this dialog when importing and exporting".

More information is on the pages Draft DXF and FreeCAD and DXF Import.

If you are using the imported geometry to build 3D shapes in the Part Design Workbench, try the Sketcher Validate after you have imported the DXF into a sketch.

C++ DXF importer

This implementation of fast, but skips features it doesn't recognize, such as DXF splines. It also can only import geometry into the Draft Workbench as individual entries in the Model tree. These can have the colors read from the file if you tick to enable this option. For further information, see this forum post.

Python DXF importer

This importer has to be downloaded and installed before it can be used. Use the "[ ] Allow FreeCAD to automatically download and update the DXF libraries" option.

This importer has more features (such as implementing splines), and has the option of loading the DXF shapes into the Sketcher Workbench. However, be warned that all the elements of the sketch will appear individually a second time in the model tree, which can be confusing. You can delete all these individual objects and retain the single sketch (which appears as the second entry in the list of new elements).

Unfortunately, the Sketcher Workbench does not implement colors, so all the geometry will appear on the same level, which is a problem if the file contains many construction lines. One work-around is to open your drawing in LibreCAD, and delete all the geometry you don't want to appear before saving a file that contains exactly the geometry that you want to load.

Macros

Keep an eye out on the FreeCAD forum or in the Macros recipes for alternative implementations of DXF importing and cleaning up as they develop.

Saving DXF

In addition to the options under the Edit → Preferences, the TechDraw Workbench can also export drawing pages to DXF using the TechDraw ExportPageDXF function.


DXF terms and definitions

Anonymous blocks

When discussing DXF files, several terms are used to describe blocks that are generated automatically by the CAD software rather than by the user.

Essentially, "anonymous block" is the technical name, "system block" describes its function, and "hidden block" describes its typical user interface behavior. For practical purposes in the context of the FreeCAD DXF importer, they all refer to the same category of blocks.

Classes of anonymous blocks

Anonymous blocks are further categorized based on the character that follows the initial asterisk. This prefix indicates the block's specific purpose. The most common classes are:

BLOCKs and INSERTs

The BLOCK entity

A BLOCK is a named collection of geometric entities (lines, arcs, polylines, etc.) that are grouped together to form a single object definition. It can be thought of as a template.

A BLOCK:

The INSERT entity

An INSERT entity is what places a copy, or instance, of a BLOCK's geometry into the drawing's model space or paper space. It is a very lightweight entity because it does not contain the geometry itself; it only contains a reference to a BLOCK definition and instructions on how to place and transform it.

An INSERT:

BLOCK placement strategies

A DXF file separates the definition of a component from its placement.

There are two primary workflows for using blocks and inserts:

  1. Template and instance workflow: A single BLOCK definition is created, and multiple INSERT entities are used to place instances of it throughout the drawing. This is an efficient method for handling repetitive elements. For instance, the geometry for a chair is defined once in a BLOCK and then referenced many times by INSERT entities.
  2. Compound object workflow: A BLOCK is created from existing geometry simply to group those objects together as a single, selectable unit. In this case, the BLOCK definition is used by a single INSERT entity only.

The DXF importer must be able to distinguish between these two use cases to correctly represent the original drawing's intent, either by creating many linked instances to a single base object (template model) or by creating a single, visible object (grouped object model).