I am working on a DXF (AC1021 version) exporter in Delphi and I ran into some problems. I was looking closely at ezdxf for minimum file structure and I was able to successfully generate it in delphi.
Now the problem I have is that the generated file works OK in AutoCAD but chrashes BricsCAD as soon as I try to click on entity from block.
Below I am sending you my generated file. Maybe somebody knows an analyzing tool are maybe has an idea what is wrong with my dxf exporter.Thanks for all the hints!
999
TFPDxfWriteBridge by wingdesigner
0
SECTION
2
HEADER
9
$ACADVER
1
AC1021
9
$HANDSEED
5
20000
0
ENDSEC
0
SECTION
2
CLASSES
0
ENDSEC
0
SECTION
2
TABLES
0
TABLE
2
VPORT
5
A
330
0
100
AcDbSymbolTable
70
1
0
VPORT
5
B
330
A
100
AcDbSymbolTableRecord
100
AcDbViewportTableRecord
2
*ACTIVE
70
0
10
0
20
0
11
1
21
1
12
209
22
86
13
0
23
0
14
10
24
10
15
1
25
1
16
0
26
0
36
1
17
0
27
0
37
0
40
319
41
2
42
50
43
0
44
0
50
0
51
0
71
0
72
100
73
1
74
3
75
0
76
0
77
0
78
0
281
0
65
1
110
0
120
0
130
0
111
1
121
0
131
0
112
0
122
1
132
0
79
0
146
0
348
10020
60
7
61
5
292
1
282
1
141
0
142
0
63
250
421
3358443
0
ENDTAB
0
TABLE
2
LTYPE
5
C
330
0
100
AcDbSymbolTable
70
4
0
LTYPE
5
D
330
C
100
AcDbSymbolTableRecord
100
AcDbLinetypeTableRecord
2
ByBlock
70
0
3
72
65
73
0
40
0.000
0
LTYPE
5
E
330
C
100
AcDbSymbolTableRecord
100
AcDbLinetypeTableRecord
2
ByLayer
70
0
3
72
65
73
0
40
0.000
0
LTYPE
5
F
330
C
100
AcDbSymbolTableRecord
100
AcDbLinetypeTableRecord
2
CONTINUOUS
70
0
3
Solid line
72
65
73
0
40
0.000
0
ENDTAB
0
TABLE
2
LAYER
5
10
330
0
100
AcDbSymbolTable
70
1
0
LAYER
5
11
330
10
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
0
70
0
62
7
6
CONTINUOUS
370
-3
390
F
0
ENDTAB
0
TABLE
2
STYLE
5
12
330
0
100
AcDbSymbolTable
70
3
0
STYLE
5
13
330
12
100
AcDbSymbolTableRecord
100
AcDbTextStyleTableRecord
2
Standard
70
0
40
0.00
41
1.00
50
0.00
71
0
42
1.00
3
txt
4
0
ENDTAB
0
TABLE
2
VIEW
5
15
330
0
100
AcDbSymbolTable
70
0
0
ENDTAB
0
TABLE
2
UCS
5
17
330
0
100
AcDbSymbolTable
70
0
0
ENDTAB
0
TABLE
2
APPID
5
18
330
0
100
AcDbSymbolTable
70
1
0
APPID
5
19
330
18
100
AcDbSymbolTableRecord
100
AcDbRegAppTableRecord
2
ACAD
70
0
0
ENDTAB
0
TABLE
2
DIMSTYLE
5
1A
330
0
100
AcDbSymbolTable
70
1
100
AcDbDimStyleTable
71
1
0
DIMSTYLE
105
1B
330
1A
100
AcDbSymbolTableRecord
100
AcDbDimStyleTableRecord
2
Standard
70
0
40
1
41
0.18
42
0.0625
43
0.38
44
0.18
45
0
46
0.00
47
0.0
48
0.0
140
0.18
141
0.09
142
0.0
143
25.39999
144
1.0
145
0.0
146
1.0
147
0.09
148
0
71
0
72
0
73
0
74
1
75
0
76
0
77
0
78
0
79
0
170
0
171
2
172
0
173
0
174
0
175
0
176
0
177
0
178
0
179
0
271
4
272
4
273
2
274
2
275
0
276
0
277
2
278
46
279
0
280
0
281
0
282
0
283
1
284
0
285
0
286
0
288
0
289
3
340
Standard
341
371
-2
372
-2
0
ENDTAB
0
TABLE
2
BLOCK_RECORD
5
1C
330
0
100
AcDbSymbolTable
70
2
0
BLOCK_RECORD
5
1D
330
1C
100
AcDbSymbolTableRecord
100
AcDbBlockTableRecord
2
*Model_Space
70
0
280
1
281
0
0
BLOCK_RECORD
5
21
330
1C
100
AcDbSymbolTableRecord
100
AcDbBlockTableRecord
2
*Paper_Space
70
0
280
1
281
0
0
BLOCK_RECORD
5
25
330
1C
100
AcDbSymbolTableRecord
100
AcDbBlockTableRecord
2
TEST_BLOCK
70
0
280
1
281
0
0
ENDTAB
0
ENDSEC
0
SECTION
2
BLOCKS
0
BLOCK
5
1E
330
1D
100
AcDbEntity
8
0
100
AcDbBlockBegin
2
*Model_Space
70
0
10
0.00
20
0.00
30
0.0
3
*Model_Space
1
0
ENDBLK
5
20
330
1D
100
AcDbEntity
8
0
100
AcDbBlockEnd
0
BLOCK
5
22
330
21
100
AcDbEntity
8
0
100
AcDbBlockBegin
2
*Paper_Space
70
0
10
0.00
20
0.00
30
0.0
3
*Paper_Space
1
0
ENDBLK
5
24
330
21
100
AcDbEntity
8
0
100
AcDbBlockEnd
0
BLOCK
5
26
330
25
100
AcDbEntity
8
0
100
AcDbBlockBegin
2
TEST_BLOCK
70
0
10
0.00
20
0.00
30
0.0
3
TEST_BLOCK
1
0
LINE
5
27
330
25
100
AcDbEntity
8
0
100
AcDbLine
10
1688.00
20
1430.00
30
0.00
11
1185.00
21
1097.00
31
0.00
0
POINT
5
28
330
25
100
AcDbEntity
8
0
100
AcDbPoint
10
1715.00
20
1205.00
30
0.00
0
CIRCLE
5
29
330
25
100
AcDbEntity
8
0
100
AcDbCircle
10
847.31
20
1694.50
30
0.00
40
272.44
0
ARC
5
2A
330
25
100
AcDbEntity
8
0
100
AcDbCircle
10
595.07
20
875.17
30
0.00
40
384.38
100
AcDbArc
50
232.00
51
224.00
0
LWPOLYLINE
5
2B
330
25
100
AcDbEntity
8
0
100
AcDbPolyline
90
10
70
0
10
1783.00
20
113.00
10
1927.00
20
545.00
10
766.00
20
955.00
10
1583.00
20
1624.00
10
1057.00
20
959.00
10
1136.00
20
785.00
10
1851.00
20
1672.00
10
142.00
20
674.00
10
174.00
20
1296.00
10
40.00
20
736.00
0
SPLINE
5
2C
330
25
100
AcDbEntity
8
0
100
AcDbSpline
210
0.0
220
0.0
230
1.0
70
8
71
3
72
14
73
10
74
0
42
0.0000000001
43
0.0000000001
40
0.00000
40
0.00000
40
0.00000
40
0.00000
40
1.00000
40
2.00000
40
3.00000
40
4.00000
40
5.00000
40
5.00000
40
5.00000
40
5.00000
40
5.00000
40
5.00000
10
1783.00
20
113.00
30
0.0
10
1927.00
20
545.00
30
0.0
10
766.00
20
955.00
30
0.0
10
1583.00
20
1624.00
30
0.0
10
1057.00
20
959.00
30
0.0
10
1136.00
20
785.00
30
0.0
10
1851.00
20
1672.00
30
0.0
10
142.00
20
674.00
30
0.0
10
174.00
20
1296.00
30
0.0
10
40.00
20
736.00
30
0.0
0
ENDBLK
5
2D
330
25
100
AcDbEntity
8
0
100
AcDbBlockEnd
0
ENDSEC
0
SECTION
2
ENTITIES
0
INSERT
5
2E
330
25
100
AcDbEntity
8
0
100
AcDbBlockReference
2
TEST_BLOCK
10
0.00
20
0.00
30
0.0
0
ENDSEC
0
SECTION
2
OBJECTS
0
DICTIONARY
5
2F
330
0
100
AcDbDictionary
281
1
3
ACAD_GROUP
350
D
0
DICTIONARY
5
30
330
2F
100
AcDbDictionary
281
1
0
ENDSEC
0
EOF
EDIT
As it turnes out, BricsCAD has a nice recover tool. Acoording to that tool Hard POinter/ID Handle of PlotStyleName Object (390) is wrong.
- Name: AcDbLayerTableRecord(17); Value: PlotStyleName Id (F); Validation: Invalid; Replaced by: Set to Null.
This narrows the possibilites a lot, but doesn't quite solve the problem, as I am not really sure what PlotStyleName object
is in my case.