DXF của AutoCAD (AutoCAD DXF)#

Tham Chiếu (Reference)

Hạng Mục (Category):

Nhập-Xuất Khẩu (Import-Export)

Trình Đơn (Menu):

Tập Tin (File) ‣ Nhập/Xuất Khẩu (Import/Export) ‣ AutoCAD DXF (.dxf)

Nhập Khẩu (Import)#

Các tầng lớp DXF được phản ánh dưới dạng các nhóm Blender. Trình nhập khẩu này sử dụng một thư viện DXF đa dụng được gọi là "dxfgrabber".

Ánh Xạ Kiểu Dữ Liệu của DXF (DXF Type Mapping)#

Ở trạng thái phi-hủy hoại nhất có thể, trình nhập khẩu nhằm mục đích ánh xạ càng nhiều thể loại DXF vào các đường cong Blender càng tốt.

DXF thành Đường Cong (DXF to Curves)#

  • "LINE" dưới dạng đường cong "POLYLINE" (với tùy chọn hợp nhất các đường kết nối).

  • "[LW]POLYLINE", "[LW]POLYGON" là đường cong "POLYLINE", nếu chúng không có chỗ phình ra, nếu không, là đường cong BEZIER.

  • "ARC", "CIRCLE" và "ELLIPSE" dưới dạng đường cong BEZIER.

  • "HELIX" (3D) dưới dạng đường cong BEZIER.

DXF thành Khung Lưới (DXF to Meshes)#

  • "MESH" được ánh xạ thành một đối tượng khung lưới bằng bộ điều chỉnh Bề Mặt Phân Hóa, bao gồm cả nếp gấp cạnh.

  • "POLYFACE" và "POLYMESH" được nhập khẩu thành một đối tượng khung lưới.

  • "3DFACE", ":abbr:`SOLID (Lập Thể)", "POINT" được nhập khẩu vào một đối tượng khung lưới kết hợp trên mỗi tầng lớp được gọi là layername_3Dfaces.

Những Kiểu DXF còn Thiếu Vắng (Missing DXF Types)#

  • Hatches

  • Leader

Tính Chất (Properties)#

Tùy Chọn về Hợp Nhất (Merge Options)#

Các Khối thành (Blocks As)

Khối DXF có thể được nhập khẩu dưới dạng các đối tượng liên kết hoặc các thực thể nhóm. Các đối tượng liên kết sử dụng phụ huynh hóa cho các khối con DXF (khối trong khối).

Khối Phụ Huynh sang Khung Hộp Viền (Parent Blocks to Bounding Boxes)

Vẽ một khung viền hình hộp xung quanh các khối.

Đối Tượng Hợp Nhất (Merged Objects)

Vì Blender (v2.71) khá chậm trong việc cho thêm đối tượng nên người dùng có thể cần hợp nhất hình học DXF tương tự vào một đối tượng.

Theo Tầng Lớp (By Layer)

Produces one object per DXF layer. If a layer contains multiple data types that cannot be merged will still be individual objects.

Theo Tầng Lớp và Thể Loại DXF (By Layer and DXF Type)

Cái thứ hai không chỉ phân biệt giữa các thể loại dữ liệu Blender không thôi, mà còn cả các thể loại DXF nữa, chẳng hạn như "LWPOLYLINE" và "POLYLINE".

Theo Tầng Lớp và các Đa Giác Đóng Kín Không Phình ra (By Layer and Closed No-bulge Polygons)

Các đường polyline khép kín không có chỗ phình ra, không có cạnh cong, có thể được hợp nhất thành một đơn khung lưới. Điều này có ý nghĩa khi các đường đường đa giác DXF có một thuộc tính về đẩy trồi và/hoặc độ nâng cao, tức cái, về cơ bản mà nói, miêu tả một phép biến hóa về vị trí/xoay/tỷ lệ. Nếu tùy chọn hợp nhất này được chọn thì cài đặt về độ dày đường nét sẽ bị bỏ qua/tắt đi.

Theo Tầng Lớp và Thể Loại DXF và các Khối (By Layer and DXF-Type and Blocks)

Đối với các tập tin DXF có một khối được tham chiếu nhiều lần thì tùy chọn này cho phép chúng ta chèn cùng một khối nhiều lần với một đối tượng thực thể hóa theo bề mặt thay vì với một đối tượng cho mỗi lần khối cần được chèn vào. Thật không may, cái này chỉ hoạt động đối với các khối chèn vốn được tỷ lệ hóa đồng đều mà thôi. Các phần khối chèn vốn được tỷ lệ hóa không đồng đều sẽ được nhập khẩu như được xác định trong "Các Khối thành".

Kết Hợp Thực Thể "LINE" thành Đa Giác (Combine LINE Entities to Polygons)

Các đường nét riêng biệt trong DXF có thể được hợp nhất vào một đường cong đa giác Blender tiếp theo. Tương tự như "Xóa Điểm Đỉnh Kép" song dành cho đường cong.

Độ Dày và Chiều Rộng của Đường Nét (Line Thickness and Width)#

Đại Diện cho Độ Dày/Chiều Rộng của Đường Nét (Represent Line Thickness/Width)

Các thuộc tính đường DXF về "độ dày" và "chiều rộng" có ảnh hưởng tương ứng lên đường theo chiều hướng Z và X/Y. Chẳng hạn, một đường thẳng có thể được biến thành một khối lập phương nhờ các thuộc tính của nó. Do đó, trong Blender, các thuộc tính này được thể hiện bằng các đối tượng đẩy trồi đường cong, bo trònvuốt thon.

Hợp Nhất theo Thuộc Tính (Merge by Attributes)

Nếu cả "Đối Tượng Hợp Nhất" và "Biểu Thị Độ Dày/Chiều Rộng của Đường Nét" được kích hoạt thì việc hợp nhất đối tượng cần được mở rộng để tách phân tất cả các đường có chiều rộng và độ dày khác nhau. Với "Hợp Nhất theo Thuộc Tính" thì tùy chọn tách phân này cũng khả dụng mà không cần thể hiện độ dày và chiều rộng thực của đường nét.

Đối Tượng Bổ Sung (Optional Objects)#

Nhập Khẩu "TEXT" (Import TEXT)

("TEXT", "MTEXT")

Nhập Khẩu "LIGHT" (Import LIGHT)

Bao gồm hỗ trợ cho các màu sắc của AutoCAD.

Xuất Khẩu các Thực Thể ACIS (Export ACIS Entities)

Xuất khẩu hình học NURBS 3D ("BODY", "REGION", "PLANESURFACE", "SURFACE", "3DSOLID") sang tập tin "ACIS - Sat", vì đây là định dạng mà AutoCAD lưu trữ NURBS trong DXF. Bạn sẽ được thông báo về số lượng tập tin .sat/.sab được lưu trữ.

Tùy Chọn về Góc Nhìn (View Options)#

Hiển Thị các Nhóm trong Mục Lục (Display Groups in Outliner[s])

Chuyển chế độ hiển thị Mục Lục sang "GROUPS" (các tầng lớp DXF được ánh xạ thành các nhóm).

Nhập Khẩu Tập Tin DXF vào một Cảnh Mới (Import DXF File to a New Scene)

Nội Dung Cần Viết Thêm.

Đặt Hình Học ở Trung Tâm Cảnh (Center Geometry to Scene)

Trung tâm hóa hình học đã nhập khẩu vào giữa khung cảnh; thông tin dịch chuyển được lưu trữ dưới dạng một tính chất tùy chỉnh cho cảnh.

Tham Chiếu Địa Lý (Georeferencing)#

Quan Trọng: Các tập tin DXF không lưu trữ bất kỳ thông tin nào về hệ tọa độ / sự phóng chiếu hình cầu tọa độ của nó cả. Cách tốt nhất là mình phải biết hệ tọa độ cho tập tin DXF cụ thể của mình và nhập thông tin này vào giao diện trình nhập khẩu DXF như sau:

Pyproj

Cài Đặt: Tải về máy (Windows, macOS) Pyproj và sao chép nó vào

AppData/ApplicationSupport Folder/Blender/4.1/scripts/modules/.

Trong trường hợp bạn cần biên dịch tập tin nhị phân cho riêng mình thì xin hãy tham khảo bài này (this post) trên Blender Artists.

Pyproj là trình bao bọc Python cho thư viện PROJ, thư viện C nổi tiếng được sử dụng để chuyển đổi tọa độ giữa các hệ tọa độ khác nhau. Các thư viện GIS nguồn mở như PROJ được nhiều cơ quan có thẩm quyền sử dụng trực tiếp hoặc gián tiếp và do đó có thể được coi là được bảo trì tốt.

Nếu Pyproj là có sẵn để sử dụng thì trình nhập DXF sẽ hiển thị lựa chọn hệ tọa độ quốc gia song cũng cho phép người dùng nhập mã EPSG / SRID tùy chỉnh nữa. Nó cũng lưu trữ SRID làm tính chất tùy chỉnh cho cảnh Blender. Nếu một cảnh đã có tính chất SRID như vậy rồi thì tọa độ sẽ được chuyển đổi từ tập tin DXF của bạn sang hệ tọa độ đích và do đó bạn phải xác định SRID cho tập tin DXF. Nếu tính chất tùy chỉnh SRID không có sẵn để sử dụng thì SRID cảnh, theo mặc định, sẽ giống với SRID của DXF.

Không Có Pyproj (No Pyproj)

Trong trường hợp Pyproj không có để sử dụng thì trình nhập DXF sẽ chỉ sử dụng bộ chuyển đổi vĩ độ/kinh độ sang X/Y vốn tích hợp sẵn. Để chuyển đổi thì "Phép Chiếu Hình Trụ Ngang Đồng Góc" được áp dụng để nhập tọa độ vĩ độ/kinh độ sử dụng làm tâm của phép phóng chiếu. Tọa độ vĩ độ/kinh độ sẽ được thêm vào cảnh của bạn dưới dạng tính chất tùy chỉnh. Các lần nhập khẩu tiếp theo sẽ chuyển đổi mọi tọa độ vĩ độ/kinh độ sang cùng một tham chiếu địa lý.

Quan Trọng: Cho đến nay, phần mềm chỉ hỗ trợ chuyển đổi vĩ độ/kinh độ sang X/Y mà thôi. Nếu bạn có tập tin DXF với tọa độ Euclide tham chiếu đến một trung tâm vĩ độ/kinh độ khác thì phép chuyển đổi chưa hỗ trợ.

Quy luật thông thường để lựa chọn một SRID (Rules of thumb for choosing an SRID)

nếu bạn có dữ liệu của mình từ OpenStreetMap, hoặc một số trang web dịch vụ GIS tương tự, và xuất khẩu nó bằng QGIS hoặc ArcGIS, thì tọa độ rất có thể là vĩ độ/kinh độ. Nếu vậy thì sau đó hãy sử dụng WGS84 làm SRID của bạn, với Pyproj, hoặc "spherical" nếu Pyproj không có sẵn để sử dụng. Đối với các bản đồ vectơ DXF khác thì rất có thể chúng sử dụng hệ tọa độ địa phương/quốc gia.

Mở DXF bằng trình soạn thảo văn bản (nó sẽ có hàng nghìn dòng) và đưa ra một phỏng đoán có cơ sở dựa trên một số tọa độ nào đó. DXF hoạt động với "group codes", tên mà Autodesk phát minh ra cho "key" như trong các cặp khóa/giá trị. X có mã nhóm 10, Y có 20, Z có 30. Nếu bạn tìm thấy kiểu mẫu giống như:

10, newline, whitespace, whitespace, NUMBER, newline,
20, newline, whitespace, whitespace, NUMBER, newline,
30, newline, whitespace, whitespace, NUMBER

thì "NUMBER" rất có thể sẽ là tọa độ của bạn. Bạn có thể đoán được từ định dạng và/hoặc phạm vi tọa độ rằng nó phải là hệ tọa độ nào.

Xuất Khẩu (Export)#

Dữ Liệu Hỗ Trợ (Supported Data)#

  • Mặt khung lưới: "POLYFACE" hoặc "3DFACE"

  • Cạnh Khung Lưới: "LINE"

  • Bộ Điều Chỉnh (tùy chọn)

Dữ Liệu chưa Hỗ Trợ (Unsupported Data)#

  • Điểm Đỉnh Khung Lưới: "POINT"

  • Đường cong: "LINE" hoặc "POLYLINE"

  • NURBS Đường Cong: "curved-POLYLINE"

  • Văn Bản: "TEXT" hoặc (wip: ":abbr:`MTEXT (Văn Bản Nhiều Dòng)")

  • Máy Quay Phim: "POINT" hoặc "VIEW" hoặc "VPORT" hoặc (wip: "INSERT[ATTRIB+XDATA]")

  • Ánh Sáng: "POINT" hoặc (wip: "INSERT[ATTRIB+XDATA]")

  • Vật Thể Trống Rỗng: "POINT" hoặc (wip: "INSERT")

  • Ma trận đối tượng: đẩy trồi ("210-group"), xoay chiều, nâng cao

  • Chế độ xem 3D: (wip: "VIEW", "VPORT")

  • Thực thể hóa theo điểm đỉnh: tự động thực thể hóa hoặc (wip: "INSERT")

  • Nguyên Vật Liệu: Tính chất "LAYER", "COLOR" và "STYLE"

  • Nhóm: "BLOCK" và "INSERT"

  • Phụ huynh hóa: "BLOCK" và "INSERT"

  • Trạng thái hiển thị: "LAYER_on"

  • Trạng thái đóng băng: "LAYER_frozen"

  • Trạng thái khóa: "LAYER_locked"

  • Bề Mặt (Surface)

  • Siêu Đối Tượng

  • Armature (Khung Rối)

  • Lattice (Lưới Rào)

  • IPO/Hoạt Họa