I am writing a code in c# to read the point coordinates from a dxf file. I am basically reading line by line of dxf file and checking against a condition like if( i == "AcdbLine")
write the coordinates of the point into a file.
AcDbLine
10
0.0
20
0.0
30
0.0
11
700.0
21
0.0
31
0.0
0
LINE
This writes the coordinates as (0,0,0) (700,0,0).
My issue right now is to ignore AcDbLine
when it is found within a block. I want to write a logic which ignores any AcDbline
and its corresponding points when it falls within the block of AcDbBlockBegin
and AcDbBlockEnd
.
AcDbBlockBegin
2
*U1
70
1
10
0.0
20
0.0
30
0.0
3
*U1
1
0
LINE
5
3F0
330
3E9
100
AcDbEntity
8
0
100
AcDbLine
10
-47.22702216883923
20
-0.0131059296418084
30
0.0
11
-19.82207380431916
21
-0.0131059296418084
31
0.0
0
LINE
5
3F1
330
3E9
100
AcDbEntity
8
0
100
AcDbLine
10
22.19765948514734
20
0.0131059296418101
30
0.0
11
47.22702216883923
21
0.0131059296418101
31
0.0
0
ENDBLK
5
3EB
330
3E9
100
AcDbEntity
8
0
100
AcDbBlockEnd
Sorry for the long code and thanks for your help!
I've been writing text parser for over 40 years. If I can't do it nobody can. Try code below