2016-12-19 16 views
0

我需要以編程方式創建樣條線。我做了這樣的:以編程方式創建DXF樣條線

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打開它,我得到一個錯誤:

Undefined group code 210 for object on line 54. Invalid or incomplete DXF input -- drawing discarded.

哪裏錯誤?當我將SPLINE部分複製到由AI生成的DXF時,一切正常。所以我認爲我需要在標題部分添加一些內容。

+0

當我嘗試在AutoCAD中打開DXF時,它在第42行失敗(表APPID中的錯誤) – Maxence

+0

@Maxence的權利,只需將AC1018更改爲AC1006,然後再試一次。這是我的錯。原始文件有「AC1006」,我試圖以某種方式修復它。 – alanmcknee

+0

AC1006 <=> AutoCAD R10。目前不支持樣條曲線。他們的ObjectBirthVersion是AC1012(AutoCAD R13) – Maxence

回答

3

此文件是比DXF R12舊的DXF版本AC1006。 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

而且花鍵實體似乎是無效的,它沒有手柄(5),並沒有所有者 標籤(330),和整個AcDbEntity子缺失。

0

您可能需要爲SPLINE指定一個句柄,因爲您正在指定$ACADVER = AC1018 =需要項目句柄的AutoCAD 2004。

嘗試添加5-代碼對中的層指定前右,像這樣,在那裏AAAA是一個唯一的十六進制編碼的手柄:

  0 
SPLINE 
    5  <-- add these two lines 
AAAA <-- 
    8 
shape 
100 
AcDbSpline 
+0

我在哪裏可以找到這個句柄?我需要以某種方式聲明它嗎?當我添加一個隨機數字時,例如3E,我得到: >第50行的數據庫句柄3E無效。 DXF輸入無效或不完整 - 繪圖丟棄。 – alanmcknee

+0

另外,當我使用ARC,LINE和CIRCLE時,相同的「DXF基座」(沒有手柄)可以正常工作。 ELLIPSE和SPLINE不。 – alanmcknee

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節。

+0

是的,但在此之前出現錯誤。另外,正如我之前所說的,當我將SPLINE部分移至由Adobe Illustrator生成的DXF時,此SPLINE工作良好。 – alanmcknee