add csv output

This commit is contained in:
Milovann Yanatchkov 2024-02-04 10:16:43 +01:00
parent 7a060025b3
commit 6b5f0b48a8
4 changed files with 189 additions and 16 deletions

57
output/duplex.csv Normal file
View file

@ -0,0 +1,57 @@
1,Level 1,Basic Wall:Interior - Partition (92mm Stud):138584
2,Level 1,Basic Wall:Party Wall - CMU Residential Unit Dimising Wall:139234
3,Level 1,Basic Wall:Party Wall - CMU Residential Unit Dimising Wall:139347
4,Level 1,Basic Wall:Party Wall - CMU Residential Unit Dimising Wall:139374
5,Level 1,Basic Wall:Interior - Partition (92mm Stud):139783
6,Level 1,Basic Wall:Interior - Partition (92mm Stud):139939
7,T/FDN,Basic Wall:Foundation - Concrete (417mm):140479
8,T/FDN,Basic Wall:Foundation - Concrete (417mm):140520
9,T/FDN,Basic Wall:Foundation - Concrete (417mm):140554
10,T/FDN,Basic Wall:Foundation - Concrete (417mm):140602
11,T/FDN,Basic Wall:Foundation - Concrete (435mm):140913
12,T/FDN,Basic Wall:Foundation - Concrete (435mm):140987
13,T/FDN,Basic Wall:Foundation - Concrete (435mm):141018
14,Level 2,Basic Wall:Party Wall - CMU Residential Unit Dimising Wall:143239
15,Level 2,Basic Wall:Interior - Plumbing (152mm Stud):144138
16,Level 2,Basic Wall:Interior - Partition (92mm Stud):144301
17,Level 2,Basic Wall:Interior - Partition (92mm Stud):144684
18,Level 2,Basic Wall:Interior - Plumbing (152mm Stud):144783
19,Level 1,Basic Wall:Exterior - Brick on Block:138157
20,Level 1,Basic Wall:Exterior - Brick on Block:138310
21,Level 2,Basic Wall:Exterior - Brick on Block:143410
22,Level 2,Basic Wall:Exterior - Brick on Block:143534
23,Level 1,Basic Wall:Interior - Partition (92mm Stud):139682
24,Level 1,Basic Wall:Interior - Partition (92mm Stud):139143
25,Level 1,Basic Wall:Interior - Partition (92mm Stud):143856
26,Level 1,Basic Wall:Interior - Partition (92mm Stud):144518
27,Level 2,Basic Wall:Interior - Partition (92mm Stud):143960
28,Level 2,Basic Wall:Interior - Partition (92mm Stud):144633
29,Level 2,Basic Wall:Interior - Partition (92mm Stud):143921
30,Level 2,Basic Wall:Interior - Partition (92mm Stud):144586
31,Level 1,Basic Wall:Exterior - Brick on Block:138062
32,Level 1,Basic Wall:Exterior - Brick on Block:138237
33,Level 2,Basic Wall:Exterior - Brick on Block:143478
34,Level 2,Basic Wall:Exterior - Brick on Block:143590
35,Roof,Basic Wall:Exterior - Brick on Block:184944
36,Roof,Basic Wall:Exterior - Brick on Block:185014
37,Roof,Basic Wall:Exterior - Brick on Block:185064
38,Roof,Basic Wall:Exterior - Brick on Block:185101
39,Level 1,Basic Wall:Interior - Furring (152 mm Stud):189074
40,Level 1,Basic Wall:Interior - Furring (152 mm Stud):189901
41,Level 1,Basic Wall:Interior - Partition (92mm Stud):190140
42,Level 1,Basic Wall:Interior - Furring (152 mm Stud):190774
43,Level 1,Basic Wall:Interior - Furring (152 mm Stud):190933
44,Level 2,Basic Wall:Interior - Furring (152 mm Stud):193247
45,Level 2,Basic Wall:Interior - Furring (152 mm Stud):194166
46,Level 2,Basic Wall:Interior - Partition (92mm Stud):203347
47,Level 2,Basic Wall:Interior - Partition (92mm Stud):203998
48,Level 1,Basic Wall:Interior - Partition (92mm Stud):204300
49,Level 1,Basic Wall:Interior - Partition (92mm Stud):204493
50,Level 2,Basic Wall:Interior - Furring (38 mm Stud):217414
51,Level 2,Basic Wall:Interior - Furring (38 mm Stud):217415
52,Level 2,Basic Wall:Interior - Furring (38 mm Stud):217416
53,Level 2,Basic Wall:Interior - Furring (38 mm Stud):217417
54,Level 2,Basic Wall:Interior - Furring (38 mm Stud):217577
55,Level 2,Basic Wall:Interior - Furring (38 mm Stud):217578
56,Level 2,Basic Wall:Interior - Furring (38 mm Stud):217579
57,Level 2,Basic Wall:Interior - Furring (38 mm Stud):217580
1 1 Level 1 Basic Wall:Interior - Partition (92mm Stud):138584
2 2 Level 1 Basic Wall:Party Wall - CMU Residential Unit Dimising Wall:139234
3 3 Level 1 Basic Wall:Party Wall - CMU Residential Unit Dimising Wall:139347
4 4 Level 1 Basic Wall:Party Wall - CMU Residential Unit Dimising Wall:139374
5 5 Level 1 Basic Wall:Interior - Partition (92mm Stud):139783
6 6 Level 1 Basic Wall:Interior - Partition (92mm Stud):139939
7 7 T/FDN Basic Wall:Foundation - Concrete (417mm):140479
8 8 T/FDN Basic Wall:Foundation - Concrete (417mm):140520
9 9 T/FDN Basic Wall:Foundation - Concrete (417mm):140554
10 10 T/FDN Basic Wall:Foundation - Concrete (417mm):140602
11 11 T/FDN Basic Wall:Foundation - Concrete (435mm):140913
12 12 T/FDN Basic Wall:Foundation - Concrete (435mm):140987
13 13 T/FDN Basic Wall:Foundation - Concrete (435mm):141018
14 14 Level 2 Basic Wall:Party Wall - CMU Residential Unit Dimising Wall:143239
15 15 Level 2 Basic Wall:Interior - Plumbing (152mm Stud):144138
16 16 Level 2 Basic Wall:Interior - Partition (92mm Stud):144301
17 17 Level 2 Basic Wall:Interior - Partition (92mm Stud):144684
18 18 Level 2 Basic Wall:Interior - Plumbing (152mm Stud):144783
19 19 Level 1 Basic Wall:Exterior - Brick on Block:138157
20 20 Level 1 Basic Wall:Exterior - Brick on Block:138310
21 21 Level 2 Basic Wall:Exterior - Brick on Block:143410
22 22 Level 2 Basic Wall:Exterior - Brick on Block:143534
23 23 Level 1 Basic Wall:Interior - Partition (92mm Stud):139682
24 24 Level 1 Basic Wall:Interior - Partition (92mm Stud):139143
25 25 Level 1 Basic Wall:Interior - Partition (92mm Stud):143856
26 26 Level 1 Basic Wall:Interior - Partition (92mm Stud):144518
27 27 Level 2 Basic Wall:Interior - Partition (92mm Stud):143960
28 28 Level 2 Basic Wall:Interior - Partition (92mm Stud):144633
29 29 Level 2 Basic Wall:Interior - Partition (92mm Stud):143921
30 30 Level 2 Basic Wall:Interior - Partition (92mm Stud):144586
31 31 Level 1 Basic Wall:Exterior - Brick on Block:138062
32 32 Level 1 Basic Wall:Exterior - Brick on Block:138237
33 33 Level 2 Basic Wall:Exterior - Brick on Block:143478
34 34 Level 2 Basic Wall:Exterior - Brick on Block:143590
35 35 Roof Basic Wall:Exterior - Brick on Block:184944
36 36 Roof Basic Wall:Exterior - Brick on Block:185014
37 37 Roof Basic Wall:Exterior - Brick on Block:185064
38 38 Roof Basic Wall:Exterior - Brick on Block:185101
39 39 Level 1 Basic Wall:Interior - Furring (152 mm Stud):189074
40 40 Level 1 Basic Wall:Interior - Furring (152 mm Stud):189901
41 41 Level 1 Basic Wall:Interior - Partition (92mm Stud):190140
42 42 Level 1 Basic Wall:Interior - Furring (152 mm Stud):190774
43 43 Level 1 Basic Wall:Interior - Furring (152 mm Stud):190933
44 44 Level 2 Basic Wall:Interior - Furring (152 mm Stud):193247
45 45 Level 2 Basic Wall:Interior - Furring (152 mm Stud):194166
46 46 Level 2 Basic Wall:Interior - Partition (92mm Stud):203347
47 47 Level 2 Basic Wall:Interior - Partition (92mm Stud):203998
48 48 Level 1 Basic Wall:Interior - Partition (92mm Stud):204300
49 49 Level 1 Basic Wall:Interior - Partition (92mm Stud):204493
50 50 Level 2 Basic Wall:Interior - Furring (38 mm Stud):217414
51 51 Level 2 Basic Wall:Interior - Furring (38 mm Stud):217415
52 52 Level 2 Basic Wall:Interior - Furring (38 mm Stud):217416
53 53 Level 2 Basic Wall:Interior - Furring (38 mm Stud):217417
54 54 Level 2 Basic Wall:Interior - Furring (38 mm Stud):217577
55 55 Level 2 Basic Wall:Interior - Furring (38 mm Stud):217578
56 56 Level 2 Basic Wall:Interior - Furring (38 mm Stud):217579
57 57 Level 2 Basic Wall:Interior - Furring (38 mm Stud):217580

44
output/test.ifc Normal file
View file

@ -0,0 +1,44 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
FILE_NAME('','2024-02-04T10:14:55',(),(),'IfcOpenShell v0.7.0-6c9e130ca','IfcOpenShell v0.7.0-6c9e130ca','');
FILE_SCHEMA(('IFC4'));
ENDSEC;
DATA;
#1=IFCPROJECT('1KFg9AVcf7ZA4pKYesd_7q',$,'My Project',$,$,$,$,(#10),#5);
#2=IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.);
#3=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.);
#4=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.);
#5=IFCUNITASSIGNMENT((#4,#2,#3));
#6=IFCCARTESIANPOINT((0.,0.,0.));
#7=IFCDIRECTION((0.,0.,1.));
#8=IFCDIRECTION((1.,0.,0.));
#9=IFCAXIS2PLACEMENT3D(#6,#7,#8);
#10=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,$);
#11=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#10,$,.MODEL_VIEW.,$);
#12=IFCSITE('1JlEpUBhDFjv646Y5GLdO7',$,'My Site',$,$,$,$,$,$,$,$,$,$,$);
#13=IFCBUILDING('2QsuZun2n2zh3_ydmx_pww',$,'Building A',$,$,$,$,$,$,$,$,$);
#14=IFCBUILDINGSTOREY('1DASFbLB9CG8k6pzCZX_ic',$,'Ground Floor',$,$,$,$,$,$,$);
#15=IFCRELAGGREGATES('0NKorMQVPAy9gQEiztO2Dm',$,$,$,#1,(#12));
#16=IFCRELAGGREGATES('29dNMUBgnBKxrhsH2OmJ9o',$,$,$,#12,(#13));
#17=IFCRELAGGREGATES('2HxScpoc98ku076i_YKL9j',$,$,$,#13,(#14));
#18=IFCWALL('3XT2fcxArED8hhnJ$4IYkD',$,$,$,$,#40,#34,$,$);
#24=IFCCARTESIANPOINTLIST2D(((0.,0.),(0.,82.2207884473077),(12517.2093579473,82.2207884473077),(12517.2093579473,0.),(0.,0.)));
#25=IFCINDEXEDPOLYCURVE(#24,$,.F.);
#26=IFCDIRECTION((0.,0.,1.));
#27=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#25);
#28=IFCCARTESIANPOINT((0.,0.,0.));
#29=IFCDIRECTION((0.,0.,1.));
#30=IFCDIRECTION((1.,0.,0.));
#31=IFCAXIS2PLACEMENT3D(#28,#29,#30);
#32=IFCEXTRUDEDAREASOLID(#27,#31,#26,4402.92423431747);
#33=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#32));
#34=IFCPRODUCTDEFINITIONSHAPE($,$,(#33));
#35=IFCRELCONTAINEDINSPATIALSTRUCTURE('1WBz24QBf0pQG9cunlitZn',$,$,$,(#18),#14);
#36=IFCCARTESIANPOINT((0.,0.,0.));
#37=IFCDIRECTION((0.,0.,1.));
#38=IFCDIRECTION((1.,0.,0.));
#39=IFCAXIS2PLACEMENT3D(#36,#37,#38);
#40=IFCLOCALPLACEMENT($,#39);
ENDSEC;
END-ISO-10303-21;

57
python/duplex Normal file
View file

@ -0,0 +1,57 @@
1,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,P,a,r,t,i,t,i,o,n, ,(,9,2,m,m, ,S,t,u,d,),:,1,3,8,5,8,4,|,|,L,e,v,e,l, ,1
2,|,|,B,a,s,i,c, ,W,a,l,l,:,P,a,r,t,y, ,W,a,l,l, ,-, ,C,M,U, ,R,e,s,i,d,e,n,t,i,a,l, ,U,n,i,t, ,D,i,m,i,s,i,n,g, ,W,a,l,l,:,1,3,9,2,3,4,|,|,L,e,v,e,l, ,1
3,|,|,B,a,s,i,c, ,W,a,l,l,:,P,a,r,t,y, ,W,a,l,l, ,-, ,C,M,U, ,R,e,s,i,d,e,n,t,i,a,l, ,U,n,i,t, ,D,i,m,i,s,i,n,g, ,W,a,l,l,:,1,3,9,3,4,7,|,|,L,e,v,e,l, ,1
4,|,|,B,a,s,i,c, ,W,a,l,l,:,P,a,r,t,y, ,W,a,l,l, ,-, ,C,M,U, ,R,e,s,i,d,e,n,t,i,a,l, ,U,n,i,t, ,D,i,m,i,s,i,n,g, ,W,a,l,l,:,1,3,9,3,7,4,|,|,L,e,v,e,l, ,1
5,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,P,a,r,t,i,t,i,o,n, ,(,9,2,m,m, ,S,t,u,d,),:,1,3,9,7,8,3,|,|,L,e,v,e,l, ,1
6,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,P,a,r,t,i,t,i,o,n, ,(,9,2,m,m, ,S,t,u,d,),:,1,3,9,9,3,9,|,|,L,e,v,e,l, ,1
7,|,|,B,a,s,i,c, ,W,a,l,l,:,F,o,u,n,d,a,t,i,o,n, ,-, ,C,o,n,c,r,e,t,e, ,(,4,1,7,m,m,),:,1,4,0,4,7,9,|,|,T,/,F,D,N
8,|,|,B,a,s,i,c, ,W,a,l,l,:,F,o,u,n,d,a,t,i,o,n, ,-, ,C,o,n,c,r,e,t,e, ,(,4,1,7,m,m,),:,1,4,0,5,2,0,|,|,T,/,F,D,N
9,|,|,B,a,s,i,c, ,W,a,l,l,:,F,o,u,n,d,a,t,i,o,n, ,-, ,C,o,n,c,r,e,t,e, ,(,4,1,7,m,m,),:,1,4,0,5,5,4,|,|,T,/,F,D,N
1,0,|,|,B,a,s,i,c, ,W,a,l,l,:,F,o,u,n,d,a,t,i,o,n, ,-, ,C,o,n,c,r,e,t,e, ,(,4,1,7,m,m,),:,1,4,0,6,0,2,|,|,T,/,F,D,N
1,1,|,|,B,a,s,i,c, ,W,a,l,l,:,F,o,u,n,d,a,t,i,o,n, ,-, ,C,o,n,c,r,e,t,e, ,(,4,3,5,m,m,),:,1,4,0,9,1,3,|,|,T,/,F,D,N
1,2,|,|,B,a,s,i,c, ,W,a,l,l,:,F,o,u,n,d,a,t,i,o,n, ,-, ,C,o,n,c,r,e,t,e, ,(,4,3,5,m,m,),:,1,4,0,9,8,7,|,|,T,/,F,D,N
1,3,|,|,B,a,s,i,c, ,W,a,l,l,:,F,o,u,n,d,a,t,i,o,n, ,-, ,C,o,n,c,r,e,t,e, ,(,4,3,5,m,m,),:,1,4,1,0,1,8,|,|,T,/,F,D,N
1,4,|,|,B,a,s,i,c, ,W,a,l,l,:,P,a,r,t,y, ,W,a,l,l, ,-, ,C,M,U, ,R,e,s,i,d,e,n,t,i,a,l, ,U,n,i,t, ,D,i,m,i,s,i,n,g, ,W,a,l,l,:,1,4,3,2,3,9,|,|,L,e,v,e,l, ,2
1,5,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,P,l,u,m,b,i,n,g, ,(,1,5,2,m,m, ,S,t,u,d,),:,1,4,4,1,3,8,|,|,L,e,v,e,l, ,2
1,6,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,P,a,r,t,i,t,i,o,n, ,(,9,2,m,m, ,S,t,u,d,),:,1,4,4,3,0,1,|,|,L,e,v,e,l, ,2
1,7,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,P,a,r,t,i,t,i,o,n, ,(,9,2,m,m, ,S,t,u,d,),:,1,4,4,6,8,4,|,|,L,e,v,e,l, ,2
1,8,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,P,l,u,m,b,i,n,g, ,(,1,5,2,m,m, ,S,t,u,d,),:,1,4,4,7,8,3,|,|,L,e,v,e,l, ,2
1,9,|,|,B,a,s,i,c, ,W,a,l,l,:,E,x,t,e,r,i,o,r, ,-, ,B,r,i,c,k, ,o,n, ,B,l,o,c,k,:,1,3,8,1,5,7,|,|,L,e,v,e,l, ,1
2,0,|,|,B,a,s,i,c, ,W,a,l,l,:,E,x,t,e,r,i,o,r, ,-, ,B,r,i,c,k, ,o,n, ,B,l,o,c,k,:,1,3,8,3,1,0,|,|,L,e,v,e,l, ,1
2,1,|,|,B,a,s,i,c, ,W,a,l,l,:,E,x,t,e,r,i,o,r, ,-, ,B,r,i,c,k, ,o,n, ,B,l,o,c,k,:,1,4,3,4,1,0,|,|,L,e,v,e,l, ,2
2,2,|,|,B,a,s,i,c, ,W,a,l,l,:,E,x,t,e,r,i,o,r, ,-, ,B,r,i,c,k, ,o,n, ,B,l,o,c,k,:,1,4,3,5,3,4,|,|,L,e,v,e,l, ,2
2,3,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,P,a,r,t,i,t,i,o,n, ,(,9,2,m,m, ,S,t,u,d,),:,1,3,9,6,8,2,|,|,L,e,v,e,l, ,1
2,4,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,P,a,r,t,i,t,i,o,n, ,(,9,2,m,m, ,S,t,u,d,),:,1,3,9,1,4,3,|,|,L,e,v,e,l, ,1
2,5,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,P,a,r,t,i,t,i,o,n, ,(,9,2,m,m, ,S,t,u,d,),:,1,4,3,8,5,6,|,|,L,e,v,e,l, ,1
2,6,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,P,a,r,t,i,t,i,o,n, ,(,9,2,m,m, ,S,t,u,d,),:,1,4,4,5,1,8,|,|,L,e,v,e,l, ,1
2,7,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,P,a,r,t,i,t,i,o,n, ,(,9,2,m,m, ,S,t,u,d,),:,1,4,3,9,6,0,|,|,L,e,v,e,l, ,2
2,8,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,P,a,r,t,i,t,i,o,n, ,(,9,2,m,m, ,S,t,u,d,),:,1,4,4,6,3,3,|,|,L,e,v,e,l, ,2
2,9,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,P,a,r,t,i,t,i,o,n, ,(,9,2,m,m, ,S,t,u,d,),:,1,4,3,9,2,1,|,|,L,e,v,e,l, ,2
3,0,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,P,a,r,t,i,t,i,o,n, ,(,9,2,m,m, ,S,t,u,d,),:,1,4,4,5,8,6,|,|,L,e,v,e,l, ,2
3,1,|,|,B,a,s,i,c, ,W,a,l,l,:,E,x,t,e,r,i,o,r, ,-, ,B,r,i,c,k, ,o,n, ,B,l,o,c,k,:,1,3,8,0,6,2,|,|,L,e,v,e,l, ,1
3,2,|,|,B,a,s,i,c, ,W,a,l,l,:,E,x,t,e,r,i,o,r, ,-, ,B,r,i,c,k, ,o,n, ,B,l,o,c,k,:,1,3,8,2,3,7,|,|,L,e,v,e,l, ,1
3,3,|,|,B,a,s,i,c, ,W,a,l,l,:,E,x,t,e,r,i,o,r, ,-, ,B,r,i,c,k, ,o,n, ,B,l,o,c,k,:,1,4,3,4,7,8,|,|,L,e,v,e,l, ,2
3,4,|,|,B,a,s,i,c, ,W,a,l,l,:,E,x,t,e,r,i,o,r, ,-, ,B,r,i,c,k, ,o,n, ,B,l,o,c,k,:,1,4,3,5,9,0,|,|,L,e,v,e,l, ,2
3,5,|,|,B,a,s,i,c, ,W,a,l,l,:,E,x,t,e,r,i,o,r, ,-, ,B,r,i,c,k, ,o,n, ,B,l,o,c,k,:,1,8,4,9,4,4,|,|,R,o,o,f
3,6,|,|,B,a,s,i,c, ,W,a,l,l,:,E,x,t,e,r,i,o,r, ,-, ,B,r,i,c,k, ,o,n, ,B,l,o,c,k,:,1,8,5,0,1,4,|,|,R,o,o,f
3,7,|,|,B,a,s,i,c, ,W,a,l,l,:,E,x,t,e,r,i,o,r, ,-, ,B,r,i,c,k, ,o,n, ,B,l,o,c,k,:,1,8,5,0,6,4,|,|,R,o,o,f
3,8,|,|,B,a,s,i,c, ,W,a,l,l,:,E,x,t,e,r,i,o,r, ,-, ,B,r,i,c,k, ,o,n, ,B,l,o,c,k,:,1,8,5,1,0,1,|,|,R,o,o,f
3,9,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,F,u,r,r,i,n,g, ,(,1,5,2, ,m,m, ,S,t,u,d,),:,1,8,9,0,7,4,|,|,L,e,v,e,l, ,1
4,0,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,F,u,r,r,i,n,g, ,(,1,5,2, ,m,m, ,S,t,u,d,),:,1,8,9,9,0,1,|,|,L,e,v,e,l, ,1
4,1,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,P,a,r,t,i,t,i,o,n, ,(,9,2,m,m, ,S,t,u,d,),:,1,9,0,1,4,0,|,|,L,e,v,e,l, ,1
4,2,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,F,u,r,r,i,n,g, ,(,1,5,2, ,m,m, ,S,t,u,d,),:,1,9,0,7,7,4,|,|,L,e,v,e,l, ,1
4,3,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,F,u,r,r,i,n,g, ,(,1,5,2, ,m,m, ,S,t,u,d,),:,1,9,0,9,3,3,|,|,L,e,v,e,l, ,1
4,4,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,F,u,r,r,i,n,g, ,(,1,5,2, ,m,m, ,S,t,u,d,),:,1,9,3,2,4,7,|,|,L,e,v,e,l, ,2
4,5,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,F,u,r,r,i,n,g, ,(,1,5,2, ,m,m, ,S,t,u,d,),:,1,9,4,1,6,6,|,|,L,e,v,e,l, ,2
4,6,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,P,a,r,t,i,t,i,o,n, ,(,9,2,m,m, ,S,t,u,d,),:,2,0,3,3,4,7,|,|,L,e,v,e,l, ,2
4,7,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,P,a,r,t,i,t,i,o,n, ,(,9,2,m,m, ,S,t,u,d,),:,2,0,3,9,9,8,|,|,L,e,v,e,l, ,2
4,8,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,P,a,r,t,i,t,i,o,n, ,(,9,2,m,m, ,S,t,u,d,),:,2,0,4,3,0,0,|,|,L,e,v,e,l, ,1
4,9,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,P,a,r,t,i,t,i,o,n, ,(,9,2,m,m, ,S,t,u,d,),:,2,0,4,4,9,3,|,|,L,e,v,e,l, ,1
5,0,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,F,u,r,r,i,n,g, ,(,3,8, ,m,m, ,S,t,u,d,),:,2,1,7,4,1,4,|,|,L,e,v,e,l, ,2
5,1,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,F,u,r,r,i,n,g, ,(,3,8, ,m,m, ,S,t,u,d,),:,2,1,7,4,1,5,|,|,L,e,v,e,l, ,2
5,2,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,F,u,r,r,i,n,g, ,(,3,8, ,m,m, ,S,t,u,d,),:,2,1,7,4,1,6,|,|,L,e,v,e,l, ,2
5,3,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,F,u,r,r,i,n,g, ,(,3,8, ,m,m, ,S,t,u,d,),:,2,1,7,4,1,7,|,|,L,e,v,e,l, ,2
5,4,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,F,u,r,r,i,n,g, ,(,3,8, ,m,m, ,S,t,u,d,),:,2,1,7,5,7,7,|,|,L,e,v,e,l, ,2
5,5,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,F,u,r,r,i,n,g, ,(,3,8, ,m,m, ,S,t,u,d,),:,2,1,7,5,7,8,|,|,L,e,v,e,l, ,2
5,6,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,F,u,r,r,i,n,g, ,(,3,8, ,m,m, ,S,t,u,d,),:,2,1,7,5,7,9,|,|,L,e,v,e,l, ,2
5,7,|,|,B,a,s,i,c, ,W,a,l,l,:,I,n,t,e,r,i,o,r, ,-, ,F,u,r,r,i,n,g, ,(,3,8, ,m,m, ,S,t,u,d,),:,2,1,7,5,8,0,|,|,L,e,v,e,l, ,2

View file

@ -2,6 +2,7 @@ import sys
import os import os
import datetime import datetime
import random import random
import csv
import ifcopenshell import ifcopenshell
import ifcopenshell.util.element import ifcopenshell.util.element
import ifcopenshell.util.selector import ifcopenshell.util.selector
@ -19,12 +20,25 @@ def get_container(obj):
if container is not None: if container is not None:
return container.Name return container.Name
def write_csv(path,filename,datalist):
print(f"?{filename}")
f = path + "/" + filename + ".csv"
print(f"writing {f}")
with open(f,'w',newline='') as csvfile:
#writer = csv.writer(csvfile, delimiter=',', quotechar='|', quoting=csv.QUOTE_MINIMAL)
writer = csv.writer(csvfile, delimiter=',')
for item in datalist:
#print("writing",item)
writer.writerow(item)
def get_walls(model): def get_walls(model):
i=1 i=1
lst = [] lst = []
for wall in model.by_type("IfcWall"): for wall in model.by_type("IfcWall"):
print(f"{i}:{wall.Name},container:{get_container(wall)}") #print(f"{i}:{wall.Name},container:{get_container(wall)}")
lst.append(wall) #d = f"{i},{wall.Name},{get_container(wall)}"
l = [i,get_container(wall),wall.Name]
lst.append(l)
i+=1 i+=1
return lst return lst
@ -78,14 +92,16 @@ def create(name,objects):
print("writing " + name) print("writing " + name)
model.write(name) model.write(name)
def compute(p): def compute_local(filename,p):
model = load_model(p) model = load_model(p)
lst = get_walls(model) lst = get_walls(model)
select(model,"IfcBuildingStorey") select(model,"IfcBuildingStorey")
print("writing test.ifc") print("writing test.ifc")
create("../output/test.ifc",lst) create("../output/test.ifc",lst)
localpath = "../output"
write_csv(localpath,filename,lst)
def compute_server(p): def compute_server(filename,p):
model = load_model(p) model = load_model(p)
lst = get_walls(model) lst = get_walls(model)
select(model,"IfcBuildingStorey") select(model,"IfcBuildingStorey")
@ -94,23 +110,22 @@ def compute_server(p):
now = str(datetime.datetime.now()) now = str(datetime.datetime.now())
p = "/home/fordj/SOURCES/FORDJ/fordjx/hackathon-zurich/output/" + arg + "_" + now + ".ifc" p = "/home/fordj/SOURCES/FORDJ/fordjx/hackathon-zurich/output/" + arg + "_" + now + ".ifc"
create(p,lst) create(p,lst)
localpath = "/home/fordj/SOURCES/FORDJ/fordjx/hackathon-zurich/output"
write_csv(localpath,filename,lst)
# Server
if len(sys.argv) == 1: if len(sys.argv) == 1:
arg = "duplex" filename = "duplex"
#p = "../ifc/" + arg + ".ifc" p = "/home/fordj/SOURCES/FORDJ/fordjx/hackathon-zurich/ifc/" + filename + ".ifc"
p = "/home/fordj/SOURCES/FORDJ/fordjx/hackathon-zurich/ifc/" + arg + ".ifc" compute_server(filename,p)
compute_server(p) # Local
elif len(sys.argv) > 1: elif len(sys.argv) > 1:
arg = sys.argv[1] filename = sys.argv[1]
print(f">> filename:{arg}") print(f">> filename:{filename}")
if (arg == "list"): p = "../ifc/" + filename + ".ifc"
print(os.listdir("../ifc"))
p = "../ifc/" + arg + ".ifc"
if os.path.exists(p): if os.path.exists(p):
compute(p) compute_local(filename,p)
else: else:
print(os.listdir("../ifc")) print(os.listdir("../ifc"))
else: else:
print("extract [filepath]") print("extract [filepath]")
# ...........