OSDN Git Service

dxflaerpickup.py is added.
[fablib/DXFDIV.git] / dxflayerpickup.py
1 import sys
2
3 argvs = sys.argv
4 argc = len(argvs)
5
6 if (argc < 2 ):
7   print "one layer pickup from DXF file."
8   print 'Usage: " ptrhon %s layername < example.dxf' % argvs[0]
9   quit()
10
11 line00 = sys.stdin.readline()
12 line01 = sys.stdin.readline()
13 while line00:
14   line00=line00.rstrip()
15   line01=line01.rstrip()
16   if ( line00=="  2" ) and (line01=="ENTITIES"):
17     line10 = sys.stdin.readline()
18     line11 = sys.stdin.readline()
19     line10=line10.rstrip()
20     line11=line11.rstrip()
21     while (( line10!="  0" ) or ( line11!="ENDSEC")) and (line10!=""):
22       # print "+",line10,line11
23       if ( line10=="  0" ):
24         line20 = sys.stdin.readline()
25         line21 = sys.stdin.readline()
26         line20=line20.rstrip()
27         line21=line21.rstrip()
28         layer=[]
29         layer.append(line10)
30         layer.append(line11)
31         layername=""
32         while ( line20 != "  0") and ( line20 != ""):
33           layer.append(line20)
34           layer.append(line21)
35           if ( line20=="  8" ):
36             layername=line21
37             # print "layername=",layername
38           line20 = sys.stdin.readline()
39           line21 = sys.stdin.readline()
40           line20=line20.rstrip()
41           line21=line21.rstrip()
42         if layername=="" or layername==argvs[1]:
43           for dxfline in layer:
44             print dxfline
45         line10=line20
46         line11=line21
47       else:
48         line10 = sys.stdin.readline()
49         line11 = sys.stdin.readline()
50         line10=line10.rstrip()
51         line11=line11.rstrip()
52     print line10
53     print line11
54   else:
55     print line00 
56     print line01 
57   line00 = sys.stdin.readline()
58   line01 = sys.stdin.readline()