• R/O
  • HTTP
  • SSH
  • HTTPS

DXFDIV: Commit

This program is to make one layer DXF file from multi layer DXF file.
ex, sample.DXF include \"a\" layer and \"b\" layer.
This program make to sample-a.DXF and sample-b.DXF.


Commit MetaInfo

Revisionbf89c8f6b5aa6034d0bd0759682845e913372401 (tree)
Time2013-04-05 18:33:29
Authornanbuwks <nanbuwks@nanb...>
Commiternanbuwks

Log Message

dxflaerpickup.py is added.

layer pickup command-line tool.

Change Summary

Incremental Difference

--- /dev/null
+++ b/dxflayerpickup.py
@@ -0,0 +1,58 @@
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()
Show on old repository browser