AutoCAD DXF
参考
- 类别:
导入 - 导出
- 菜单:
导入
DXF层被反映为Blender组。这个导入器使用一个通用的DXF库,叫做 "dxfgrabber"。
DXF类型映射
为了尽可能做到无损,导入器旨在将尽可能多的DXF类型映射到Blender的曲线上。
DXF 到曲线
LINE
作为POLYLINE
曲线(可选择合并连接线)。(LW)POLYLINE
,(LW)POLYGON
asPOLYLINE
curve if they have no bulges else asBEZIER
curve.ARC
s,CIRCLE
s 和ELLIPSE
s 作为BEZIER
曲线。HELIX
es (3D) 为BEZIER
曲线。
DXF到网格
MESH
被映射到一个带有细分曲面修改器的网格对象,包括边缘折痕。POLYFACE
s 和POLYMESH
es 被导入到网格对象。3DFACE
s,SOLID
s,POINT
s被导入到每个层的一个组合网格对象中,称为`layername_3Dfaces'。
丢失 DXF 类型
填充(Hatches)
引线
属性
合并选项
- 块作为
DXF块可以作为链接对象或组实例被导入。链接对象对DXF子块(块中的块)使用父子关系。
- 父块到边界框
在区块周围画一个边界框。
- 合并对象
由于Blender(v2.71)在添加对象方面相当缓慢,用户可能想把类似的DXF几何图形合并到一个对象上。
- 按层
每层产生一个对象;如果一层上有网格、曲线、灯管、文本数据,则每层和每个Blender对象产生一个对象。
- 按图层和DXF类型
第二个不仅区分Blender的数据类型,也区分DXF类型,如
LWPOLYLINE
和POLYLINE
。- 按图层和封闭的无漏洞多边形计算
没有凸起的封闭多线,也就是没有弯曲的边缘,可以合并为一个单一的网格。当DXF折线有一个挤压和/或仰角属性时,这是有意义的,这基本上描述了一个位置/旋转/比例转换。如果选择这个合并选项,线的厚度设置将被忽略/禁用。
- 按图层和DXF-类型和区块分类
对于DXF文件中的一个块被多次引用,这个选项允许用一个实例面的对象多次插入同一个块,而不是在每次需要插入块的时候用一个对象。不幸的是,这只适用于统一比例的图块插入。非统一比例的块插入是按照 Blocks As 中的定义导入的。
- 将
线
的实体合并为多边形 DXF中的分离线可能会被合并到一个连续的Blender多边形曲线。类似于 移除双线 ,但用于曲线。
线条厚度和宽度
- 代表线的 厚度/宽度
DXF线条属性 厚度 和 宽度 分别对Z和X/Y方向的线条有影响。例如,一条直线可以通过其属性变成一个立方体。因此,在Blender中,这些属性用曲线挤压、斜面和锥度对象来表示。
- 按属性合并
如果同时激活了 合并对象 和 代表线条厚度/宽度 ,则需要扩展对象合并,以分离所有不同厚度和宽度的线条。通过 按属性合并 ,这种分离选项也是可用的,而不需要实际表示线的厚度和宽度。
可选对象
- 导入
文本
(
TEXT
,MTEXT
)- 导入
灯光
包括对AutoCAD颜色的支持。
- 导出
ACIS
实体 导出NURBS三维几何(
BODY
,REGION
,PLANESURFACE
,SURFACE
,3DSOLID
)到ACIS-Sat文件,因为这是AutoCAD存储NURBS到DXF的格式。你将会收到关于存储的.sat ``/
.sab`` 文件数量的通知。
查看选项
- 在大纲视图中显示组
将大纲显示模式切换到
GROUPS
(DXF图层被映射到组)。- 将DXF文件导入新场景
待补充。
- 将几何图形放到场景中央
将导入的几何体集中到场景的中心;偏移信息作为一个自定义属性存储到场景中。
地理参考
重要的是。DXF文件不存储任何关于其坐标系统/球面投影的信息。最好的做法是知道你的特定DXF文件的坐标系,并在DXF导入器界面中输入这些信息,如下所示。
- Pyproj
安装:下载 (Windows, macOS) Pyproj并将其复制到你的
AppData/ApplicationSupport Folder/Blender/4.0/scripts/modules/.
如果你需要编译自己的二进制文件,请参考Blender Artists上的 这个帖子 。
Pyproj是对PROJ库的一个Python封装,PROJ库是一个著名的C库,用于不同坐标系之间的坐标转换。像PROJ这样的开源GIS库被许多机构直接或间接使用,因此可以认为是维护良好的。
如果Pyproj可用,DXF导入器会显示一个局部坐标系的选择,但让用户也可以输入一个自定义的EPSG/SRID代码。它还将SRID作为一个自定义属性存储到Blender场景中。如果一个场景已经有了这样的SRID属性,那么坐标将从你的DXF文件转换到目标坐标系,因此你 必须 为DXF文件指定一个SRID。如果没有SRID自定义属性,场景的SRID默认与DXF的SRID相同。
- 没有Pyproj
在Pyproj不可用的情况下,DXF导入器将只使用其内置的纬度/伦度到X/Y转换器。对于转换, "横向墨卡托" 投影被应用,输入一个纬/伦坐标作为投影的中心。纬/伦坐标被作为一个自定义属性添加到你的场景中。随后的导入将把任何纬度/伦度坐标转换为相同的地理参考。
重要提示:到目前为止,只支持 纬度/长度 到 X/Y 的转换。如果你有一个DXF文件,其欧几里得坐标指向另一个纬度/伦中心,则不支持转换。
- 选择SRID的经验法则
如果你的数据来自OpenStreetMap或一些类似的GIS服务网站,并通过QGIS或ArcGIS导出,那么坐标很可能是纬度/伦度,然后使用WGS84作为Pyproj的SRID,如果Pyproj不可用,则使用 "球面" 。对于其他DXF矢量地图,它们很可能使用 当地/局部 坐标系统。
用文本编辑器打开DXF(它有好几千行),看着一些坐标做一个有根据的猜测。DXF是用 "组代码" 工作的,这是Autodesk公司为 "键" 发明的一个名称,就像 键/值 对一样。X有组代码10,Y有20,Z有30。如果你发现一个模式,比如:
10, newline, whitespace, whitespace, NUMBER, newline, 20, newline, whitespace, whitespace, NUMBER, newline, 30, newline, whitespace, whitespace, NUMBER
那么
NUMBER
就很可能是你的坐标。你也许可以从坐标的格式和/或范围中看出它应该是哪个坐标系。
导出
支持数据
网格面:
POLYFACE
或3DFACE
网格边:
LINE
修改器(可选)
不支持的数据
网格点:
POINT
曲线:
LINE
s orPOLYLINE
曲线 NURBS:
curved-POLYLINE
文本:
TEXT
或 (wip:MTEXT
)相机:
POINT``或 ``VIEW
或VPORT
或 (wip:INSERT(ATTRIB+XDATA)
)灯光:
POINT
或 (wip:INSERT(ATTRIB+XDATA)
)空物体:
POINT
或 (wip:INSERT
)对象矩阵:挤压(
210-组
)、旋转、仰角三维视口: (wip: VIEW`, VPORT`)
实例化点:auto-instanced or (wip:
INSERT
)实例化框架:auto-instanced or (wip:
INSERT
)实例化组:auto-instanced or (wip:
INSERT
)材质:
LAYER
,COLOR
和STYLE
属性组:
BLOCK
和INSERT
父子关系:
BLOCK
和INSERT
可见性 status:
LAYER_on
冻结状态:
LAYER_frozen
锁定的状态:
LAYER_locked
曲面
融球
骨架
晶格
IPO / 动画