我需要以编程方式创建样条线。我做了类似的事情:
0
SECTION
2
HEADER
9
$ACADVER
1
AC1006
0
ENDSEC
0
SECTION
2
TABLES
0
TABLE
2
LAYER
0
LAYER
2
shape
70
64
62
250
6
CONTINUOUS
0
LAYER
2
holes
70
64
62
250
6
CONTINUOUS
0
ENDTAB
0
ENDSEC
0
SECTION
2
ENTITIES
0
SPLINE
8
shape
100
AcDbSpline
210
0
220
0
230
1
70
4
71
3
72
11
73
4
74
4
42
0.0000001
43
0.0000001
44
0.0000000001
40
0
40
0
40
0
40
0
40
1
40
1
40
1
40
2
40
2
40
2
40
2
10
0
20
0
30
0
10
100
20
50
30
0
10
40
20
40
30
0
10
15
20
23
30
0
11
0
21
0
31
0
11
200
21
200
31
0
11
80
21
80
31
0
11
432
21
234
31
0
0
ENDSEC
0
EOF
当我尝试在Autodesk TrueView中打开它时,我收到一个错误:
第54行上对象的未定义组代码210。 DXF输入无效或不完整 - 绘图被丢弃。
错误在哪里?当我将SPLINE部分复制到AI生成的DXF时,一切正常。所以我想我需要在标题部分添加一些东西。
答案 0 :(得分:3)
此文件是DXF版本AC1006,它比DXF R12旧。 SPLINE实体 至少需要DXF版本AC1012 DXF R13 / R14。但是有了DXF版AC1012 DXF文件的标签结构发生了变化(OBJECTS和CLASSES部分,SubClassMarkers ......),所以只需编辑DXF版本 不起作用。
另请参阅:http://ezdxf.readthedocs.io/en/latest/dxfinternals/filestructure.html#minimal-dxf-content
此外,SPLINE实体似乎无效,它没有句柄(5)且没有所有者 tag(330),并且缺少整个AcDbEntity子类。
答案 1 :(得分:1)
你的样条有3度,11节(0,0,0,0,1,1,1,2,2,2,2)和4个控制点((0,0),(100,50) ),(40,40),(15,23))。这可能是问题的罪魁祸首。你应该有4个控制点和8节或7个控制点和11节。
答案 2 :(得分:0)
您可能需要为SPLINE指定一个句柄,因为您指定了$ACADVER
= AC1018
= AutoCAD 2004,其中需要处理项目。
尝试在图层指定之前添加一个5代码对,就像这样,其中AAAA
是一个唯一的十六进制编码句柄:
0
SPLINE
5 <-- add these two lines
AAAA <--
8
shape
100
AcDbSpline