importing csv cost schedules now allows using selector queries for effortless product assignments to cost items, and add new ods and csv format templates (in french)

This commit is contained in:
Sigma Dimensions (Yass)
2023-09-29 16:10:16 +01:00
parent d838e1808d
commit f2097c0c5f
3 changed files with 178 additions and 3 deletions
+31 -3
View File
@@ -20,6 +20,8 @@ import csv
import ifcopenshell import ifcopenshell
import ifcopenshell.api import ifcopenshell.api
import ifcopenshell.util.unit import ifcopenshell.util.unit
import ifcopenshell.util.selector
import ifcopenshell.util.element
import locale import locale
@@ -67,11 +69,15 @@ class Csv2Ifc:
identification = row[self.headers["Identification"]] if "Identification" in self.headers else None identification = row[self.headers["Identification"]] if "Identification" in self.headers else None
quantity = row[self.headers["Quantity"]] quantity = row[self.headers["Quantity"]]
unit = row[self.headers["Unit"]] unit = row[self.headers["Unit"]]
assignments = {
"PropertyName": row[self.headers["Property"]],
"Query": row[self.headers["Query"]],
}
if self.has_categories: if self.has_categories:
cost_values = { cost_values = {
k: locale.atof(row[v]) k: locale.atof(row[v])
for k, v in self.headers.items() for k, v in self.headers.items()
if k not in ["Hierarchy", "Identification", "Name", "Quantity", "Unit", "Subtotal"] and row[v] if k not in ["Hierarchy", "Identification", "Name", "Quantity", "Unit", "Subtotal", "Property", "Query"] and row[v]
} }
else: else:
cost_values = row[self.headers["Value"]] cost_values = row[self.headers["Value"]]
@@ -82,6 +88,7 @@ class Csv2Ifc:
"Quantity": float(quantity) if quantity else None, "Quantity": float(quantity) if quantity else None,
"Unit": str(unit) if unit else None, "Unit": str(unit) if unit else None,
"CostValues": cost_values, "CostValues": cost_values,
"assignments": assignments,
"children": [], "children": [],
} }
@@ -107,7 +114,7 @@ class Csv2Ifc:
cost_item["ifc"].Name = cost_item["Name"] cost_item["ifc"].Name = cost_item["Name"]
cost_item["ifc"].Identification = cost_item["Identification"] cost_item["ifc"].Identification = cost_item["Identification"]
if not cost_item["CostValues"]: if not cost_item["CostValues"] and cost_item["children"]:
if not self.is_schedule_of_rates: if not self.is_schedule_of_rates:
cost_value = ifcopenshell.api.run("cost.add_cost_value", self.file, parent=cost_item["ifc"]) cost_value = ifcopenshell.api.run("cost.add_cost_value", self.file, parent=cost_item["ifc"])
cost_value.Category = "*" cost_value.Category = "*"
@@ -115,7 +122,11 @@ class Csv2Ifc:
for category, value in cost_item["CostValues"].items(): for category, value in cost_item["CostValues"].items():
cost_value = ifcopenshell.api.run("cost.add_cost_value", self.file, parent=cost_item["ifc"]) cost_value = ifcopenshell.api.run("cost.add_cost_value", self.file, parent=cost_item["ifc"])
cost_value.AppliedValue = self.file.createIfcMonetaryMeasure(value) cost_value.AppliedValue = self.file.createIfcMonetaryMeasure(value)
cost_value.Category = category if category != "Rate" or category != "Price":
if "Rate" in category or"Price" in category:
category = category.replace("Rate","")
category = category.strip()
cost_value.Category = category
else: else:
cost_value = ifcopenshell.api.run("cost.add_cost_value", self.file, parent=cost_item["ifc"]) cost_value = ifcopenshell.api.run("cost.add_cost_value", self.file, parent=cost_item["ifc"])
cost_value.AppliedValue = self.file.createIfcMonetaryMeasure(cost_item["CostValues"]) cost_value.AppliedValue = self.file.createIfcMonetaryMeasure(cost_item["CostValues"])
@@ -144,6 +155,15 @@ class Csv2Ifc:
"cost.add_cost_item_quantity", self.file, cost_item=cost_item["ifc"], ifc_class=quantity_class "cost.add_cost_item_quantity", self.file, cost_item=cost_item["ifc"], ifc_class=quantity_class
) )
quantity[3] = cost_item["Quantity"] quantity[3] = cost_item["Quantity"]
if cost_item["assignments"]["PropertyName"] and cost_item["assignments"]["Query"]:
print("for query",cost_item["assignments"]["Query"])
results = ifcopenshell.util.selector.filter_elements(self.file, cost_item["assignments"]["Query"])
results = [r for r in results if has_property(self.file, r, cost_item["assignments"]["PropertyName"])]
if results:
ifcopenshell.api.run("cost.assign_cost_item_quantity", self.file, cost_item=cost_item["ifc"], products=results, prop_name=cost_item["assignments"]["PropertyName"])
self.create_cost_items(cost_item["children"], cost_item["ifc"]) self.create_cost_items(cost_item["children"], cost_item["ifc"])
def create_unit(self, symbol): def create_unit(self, symbol):
@@ -158,3 +178,11 @@ class Csv2Ifc:
def create_boilerplate_ifc(self): def create_boilerplate_ifc(self):
self.file = ifcopenshell.file(schema="IFC4") self.file = ifcopenshell.file(schema="IFC4")
def has_property(self, product, property_name):
qtos = ifcopenshell.util.element.get_psets(product, qtos_only=True)
for qset, quantities in qtos.items():
for quantity, value in quantities.items():
if quantity == property_name:
return True
return False
+147
View File
@@ -0,0 +1,147 @@
Hierarchy,Identification,Name,Quantity,Unit,Contract,Rate,Material Rate,Labor Rate,Subtotal,Property,Query
1,DB,Design and build,,,,,,,,,
2,DB.1,Design,,,,,,,,,
3,DB.1.1,Architecte,1,unit,40000,,,,40000,,
3,DB.1.2,Bet structure,1,unit,10000,,,,10000,,
3,DB.1.3,Bet lots techniques,1,unit,8000,,,,8000,,
2,DB.2,Construction,,,,,,,,,
3,DB.2.1,Go & etancheite,,,,,,,,,
4,DB.2.1.1,Gros oeuvre,,,,,,,,,
4,DB.2.1.2,Etancheite,,,,,,,,,
5,DB.2.1.2.1,Forme de pente et chape de lissage,,,,97,,,,NetArea,"IfcSlab, location=Roof"
5,DB.2.1.2.2,Ecran pare-vapeur et isolation thermique,,,,47,,,,NetArea,"IfcSlab, location=Roof"
5,DB.2.1.2.3,Systeme detancheite bicouche,,,,23,,,,NetArea,"IfcCovering, type=Etancheite_H"
5,DB.2.1.2.4,Reliefs detancheite bicouche,,,,7,,,,Length,"IfcWall, type=”BLK150”, location=Roof"
5,DB.2.1.2.5,Protection horizontales detancheite par carreaux de ciment,,,,,,,,NetArea,"IfcCovering, type=Etancheite_H"
5,DB.2.1.2.6,Protection des reliefs detancheite,,,,,,,,,
5,DB.2.1.2.7,Etancheite legere,,,,,,,,,
5,DB.2.1.2.8,Fourniture et pose de gargouilles y compris crapaudines,3,unit,,,,,,,
,,,,,,,,,,,
4,DB.2.1.3,Gros oeuvre piscine,,,,,,,,,
5,DB.2.1.3.1,Fouilles en pleine masse dans tous terrains y compris rocher,,,,,,,,,
5,DB.2.1.3.2,Remblaiement ou evacuation aux decharges publiques,,,,,,,,,
5,DB.2.1.3.3,Beton de proprete,,,,,,,,,
5,DB.2.1.3.4,Beton hydrofuge pour tous les ouvrages en fondation et elevation,,,,,,,,,
5,DB.2.1.3.5,Aciers a haute limite elastique fe500 pour les ouvrages en fondation et elevation,,,,,,,,,
,,,,,,,,,,,
4,DB.2.1.4,Maconnerie et briquetage en elevation,,,,,,,,,
5,DB.2.1.5.1,Cloisons en briques creuses 7t,,,,,,,,,
5,DB.2.1.5.2,Doubles cloisons en briques creuses 7t+vide10+7t,,,,,,,,,
,,,,,,,,,,,
,,,,,,,,,,,
4,DB.2.1.5,Enduits interieurs et exterieurs,,,,,,,,,
5,DB.2.1.5.1,"Enduit interieur au mortier de ciment sur murs et plafonds y
Compris baguettes d'angles",,,,,,,,,
5,DB.2.1.5.1.1,Enduit interieur au platre,,,,,,,,,
5,DB.2.1.5.1.2,"Enduit projete exterieur au mortier de ciment y compris baguettes
D'angles",,,,,,,,,
5,DB.2.1.5.1.3,Enduit de couronnement d'acroteres y compris facon de larmier,,,,,,,,,
,,,,,,,,,,,
4,DB.2.1.5,Reseaux sous dallage,,,,,,,,,
5,DB.2.1.5.1,Canalisation en buse pvc type assainissement serie i,,,,,,,,,
6,DB.2.1.5.1.1,Tranchee ,,,,,,,,,
6,DB.2.1.5.1.2,P.v.c diametre de 200 mm,,,,,,,,,
,,,,,,,,,,,
5,DB.2.1.5.2,Regards en beton arme ,,,,,,,,,
6,DB.2.1.5.2.1,Regards visitable de 50x50 cm,,,,,,,,,
6,DB.2.1.5.2.2,Regards non visitable de 40x40 cm,,,,,,,,,
4,DB.2.1.5,Divers,,,,,,,,,
5,DB.2.1.5.1,Gaine technique daeration et habillage des descentes des eaux ,,,,,,,,,
,,,,,,,,,,,
3,DB.2.2,Fluides,,,,,,,,,
4,DB.2.2.1,Plomberie,,,,,,,,,
4,DB.2.2.2,Climatisation,,,,,,,,,
4,DB.2.2.3,Sanitaire,,,,,,,,,
3,DB.2.3,Electricite,,,,,,,,,
4,DB.2.3.1,Eclairage et appareillage,,,,,,,,,
4,DB.2.3.2,Panneaux solaires,,,,,,,,,
3,DB.2.4,Architecture interieure,,,,,,,,,
4,DB.2.4.1,Menuiserie metallique,,,,,,,,,
5,DB.2.4.1.1,G.c 1 en vitrage bord àbord 10*10*2(1unite) rail en alu encastre,,,,,,,,,
5,DB.2.4.1.2,G.c 2 en vitrage bord àbord 10*10*2(1unite) rail en alu encastre,,,,,,,,,
,,,,,,,,,,,
4,DB.2.4.2,Menuiserie bois,,,,,,,,,
5,DB.2.4.2.1,Portes,,,,,,,,,
6,DB.2.4.2.1.1,P1,,,,,,,,Count,"IfcDoor, type=P1"
6,DB.2.4.2.1.2,P2,,,,,,,,Count,"IfcDoor, type=P2-LEFT + IfcDoor, type=P2-RIGHT"
6,DB.2.4.2.1.3,P3,,,,,,,,Count,"IfcDoor, type=P3-LEFT + IfcDoor, type=P3-RIGHT"
,,,,,,,,,,,
5,DB.2.4.2.2,Placards et habillage,,,,,,,,,
6,DB.2.4.2.2.1,Fourniture placard type 1,,,,,,,,,
6,DB.2.4.2.2.2,Fourniture placard type 2,,,,,,,,,
6,DB.2.4.2.2.3,Fourniture placard type 3 ,,,,,,,,,
6,DB.2.4.2.2.3,Fourniture placard type 4,,,,,,,,,
,,,,,,,,,,,
4,DB.2.4.3,Revetement sol parquet,,,,,,,,,
5,DB.2.4.3.1,Fourniture parquet contrecolle 18mm dont epaisseur noyer americain 3mm,,,,,300,,,NetArea,"IfcCovering, type=RS-2"
5,DB.2.4.3.2,Fournitur basic underlay,,,,,50,,,NetArea,"IfcCovering, type=RS-2"
5,DB.2.4.3.3,"Fourniture profilpas finition laiton 2,5mm",,,,,20,,,Width,IfcDoor
5,DB.2.4.3.4,"Pose du parquet y compris isolant acoustique, chappe de ciment, sous-couche et barre de seuil",,,,,,74,,NetArea,"IfcCovering, type=RS-2"
,,,,,,,,,,,
4,DB.2.4.4,Revetement sol marbre,,,,,,,,,
5,DB.2.4.4.1,Fourniture marbre sols,,,,,,,,NetArea,"IfcCovering, type=RS-5"
5,DB.2.4.4.2,Fourniture marbre- sols sdb,,,,,,,,NetArea,"IfcCovering, type=RS-2"
5,DB.2.4.4.3,Fourniture marbre murs sdb ,,,,,,,,,
5,DB.2.4.4.4,Fourniture marbre marche escalier y/c nez,,,,,,,,,
5,DB.2.4.4.5,Pose marbre sols y compris chappe de ciment,,,,,,,,,
5,DB.2.4.4.6,Pose marbre murs,,,,,,,,,
5,DB.2.4.4.7,Pose marbre marches,,,,,,,,,
,,,,,,,,,,,
4,DB.2.4.5,Revetement carreaux,,,,,,,,,
5,DB.2.4.5.1,Revetements,,,,,,,,,
6,DB.2.4.5.1.1,Revêtement sol: cuisine - carreaux - gres cerame (30*60cm) - choix sous validation d'echantillons par l'architecte et le maitre d'ouvrage,,,,,,,,,
6,DB.2.4.5.1.2,Revêtement sol: salle de jeux - carreaux - gres cerame (30*60cm) - choix sous validation d'echantillons par l'architecte et le maitre d'ouvrage,,,,,,,,,
6,DB.2.4.5.1.3,Revêtement sol: (reserve) - gres cerame (30*60cm) - choix sous validation d'echantillons par l'architecte et le maitre d'ouvrage - ,,,,,,,,,
6,DB.2.4.5.1.4,Revêtement mural cuisine - carreaux - effet vitrage noir,,,,,,,,,
5,DB.2.4.5.2,Plinthes,,,,,,,,,
6,DB.2.4.5.2.1,Plinthes - duropolymer orac decor ref : sx157,,,,,,,,,
6,DB.2.4.5.2.2,Plinthes marches - - duropolymer orac decor ref : sx157,,,,,,,,,
,,,,,,,,,,,
4,DB.2.4.6,Peinture,,,,,,,,,
5,DB.2.4.6.1,Fourniture et pose peinture murs - marmorex astral y/c preparation (5 couches),,,,,,,,,
5,DB.2.4.6.2,Fourniture et pose peinture contremarche escalier - marmorex astral y/c preparation (5 couches,,,,,,,,,
5,DB.2.4.6.3,Fourniture et pose peinture murs cuisine - alpha tacto astral y/c preparation (5 couches),,,,,,,,,
5,DB.2.4.6.4,Foruniture et pose peinture faux-plafond - jotun acrylique mate blanc y/c preparation (5 couches),,,,,,,,,
5,DB.2.4.6.5,Fourniture et pose peinture murs sdb - jotun acrylique semi-brillant blanc special piece humide y/c preparation (5 couches),,,,,,,,,
5,DB.2.4.6.6,Fourniture et pose peinture faux-plafond sdb + cuisine - jotun acrylique semi-brillant blanc special piece humide y/c preparation (5 couches),,,,,,,,,
,,,,,,,,,,,
4,DB.2.4.7,Faux plafonds,,,,,,,,,
5,DB.2.4.7.1,Type 1,,,,,,,,,
5,DB.2.4.7.2,Type 2,,,,,,,,,
5,DB.2.4.7.3,Type 3 hydrofuge exterieur,,,,,,,,,
5,DB.2.4.7.4,Trappes dacces,,,,,,,,,
,,,,,,,,,,,
4,DB.2.4.8,Cuisine,1,unit,,,,,,,
,,,,,,,,,,,
3,DB.2.5,Facade,,,,,,,,,
4,DB.2.5.1,Revetement exterieur ,,,,,,,,,
5,DB.2.5.1.1,Revetement mural: plus value enduit mural hydrofuge (monocouche),,,,,,,,,
5,DB.2.5.1.2,Revetement mural: pierre volcanique grise ,,,,,,,,,
5,DB.2.5.1.3,Revetement mural: bardage en bois iroko ou tole alu section carre ou rectangulaire avec habillage bois technowood (voir detail architecte),,,,,,,,,
5,DB.2.5.1.4,Revêtement sol: terrasses et cour - tech - choix sous validation d'echantillons par l'architecte et le maitre d'ouvrage ,,,,,,,,,
5,DB.2.5.1.5,Revetement sol: seuill entree en pierre de taza,,,,,,,,,
5,DB.2.5.1.6,Revetement sol: sous bassement perimetre villa en pierre de taza ,,,,,,,,,
,,,,,,,,,,,
4,DB.2.5.2,Menuiserie aluminium,,,,,,,,,
5,DB.2.5.2.1,Fenetres,,,,,,,,,
6,DB.2.5.2.1.1,F1,,,,,,,,,
6,DB.2.5.2.1.2,F2,,,,,,,,,
,,,,,,,,,,,
5,DB.2.5.2.2,Chassis ouvrants,,,,,,,,,
6,DB.2.5.2.2.1,Ch1,,,,,,,,,
6,DB.2.5.2.2.2,Ch2,,,,,,,,,
6,DB.2.5.2.2.3,Ch3,,,,,,,,,
,,,,,,,,,,,
5,DB.2.5.2.3,Portes coulissantes/ mur rideau,,,,,,,,,
6,DB.2.5.2.3.1,P4,,,,,,,,,
6,DB.2.5.2.3.2,P5,,,,,,,,,
6,DB.2.5.2.3.3,P6,,,,,,,,,
,,,,,,,,,,,
5,DB.2.5.2.4,Volets roulants,,,,,,,,,
6,DB.2.5.2.4.1,Type 1,,,,,,,,,
6,DB.2.5.2.4.2,Type 2,,,,,,,,,
6,DB.2.5.2.4.3,Type 3,,,,,,,,,
3,DB.2.6,Exterieur,,,,,,,,,
4,DB.2.6.1,Cloture,,,,,,,,,
4,DB.2.6.2,Piscine,,,,,,,,,
4,DB.2.6.3,Jardin,,,,,,,,,
1 Hierarchy Identification Name Quantity Unit Contract Rate Material Rate Labor Rate Subtotal Property Query
2 1 DB Design and build
3 2 DB.1 Design
4 3 DB.1.1 Architecte 1 unit 40000 40000
5 3 DB.1.2 Bet structure 1 unit 10000 10000
6 3 DB.1.3 Bet lots techniques 1 unit 8000 8000
7 2 DB.2 Construction
8 3 DB.2.1 Go & etancheite
9 4 DB.2.1.1 Gros oeuvre
10 4 DB.2.1.2 Etancheite
11 5 DB.2.1.2.1 Forme de pente et chape de lissage 97 NetArea IfcSlab, location=Roof
12 5 DB.2.1.2.2 Ecran pare-vapeur et isolation thermique 47 NetArea IfcSlab, location=Roof
13 5 DB.2.1.2.3 Systeme d’etancheite bicouche 23 NetArea IfcCovering, type=Etancheite_H
14 5 DB.2.1.2.4 Reliefs d’etancheite bicouche 7 Length IfcWall, type=”BLK150”, location=Roof
15 5 DB.2.1.2.5 Protection horizontales d’etancheite par carreaux de ciment NetArea IfcCovering, type=Etancheite_H
16 5 DB.2.1.2.6 Protection des reliefs d’etancheite
17 5 DB.2.1.2.7 Etancheite legere
18 5 DB.2.1.2.8 Fourniture et pose de gargouilles y compris crapaudines 3 unit
19
20 4 DB.2.1.3 Gros oeuvre piscine
21 5 DB.2.1.3.1 Fouilles en pleine masse dans tous terrains y compris rocher
22 5 DB.2.1.3.2 Remblaiement ou evacuation aux decharges publiques
23 5 DB.2.1.3.3 Beton de proprete
24 5 DB.2.1.3.4 Beton hydrofuge pour tous les ouvrages en fondation et elevation
25 5 DB.2.1.3.5 Aciers a haute limite elastique fe500 pour les ouvrages en fondation et elevation
26
27 4 DB.2.1.4 Maconnerie et briquetage en elevation
28 5 DB.2.1.5.1 Cloisons en briques creuses 7t
29 5 DB.2.1.5.2 Doubles cloisons en briques creuses 7t+vide10+7t
30
31
32 4 DB.2.1.5 Enduits interieurs et exterieurs
33 5 DB.2.1.5.1 Enduit interieur au mortier de ciment sur murs et plafonds y Compris baguettes d'angles
34 5 DB.2.1.5.1.1 Enduit interieur au platre
35 5 DB.2.1.5.1.2 Enduit projete exterieur au mortier de ciment y compris baguettes D'angles
36 5 DB.2.1.5.1.3 Enduit de couronnement d'acroteres y compris facon de larmier
37
38 4 DB.2.1.5 Reseaux sous dallage
39 5 DB.2.1.5.1 Canalisation en buse pvc type assainissement serie i
40 6 DB.2.1.5.1.1 Tranchee
41 6 DB.2.1.5.1.2 P.v.c diametre de 200 mm
42
43 5 DB.2.1.5.2 Regards en beton arme
44 6 DB.2.1.5.2.1 Regards visitable de 50x50 cm
45 6 DB.2.1.5.2.2 Regards non visitable de 40x40 cm
46 4 DB.2.1.5 Divers
47 5 DB.2.1.5.1 Gaine technique d’aeration et habillage des descentes des eaux
48
49 3 DB.2.2 Fluides
50 4 DB.2.2.1 Plomberie
51 4 DB.2.2.2 Climatisation
52 4 DB.2.2.3 Sanitaire
53 3 DB.2.3 Electricite
54 4 DB.2.3.1 Eclairage et appareillage
55 4 DB.2.3.2 Panneaux solaires
56 3 DB.2.4 Architecture interieure
57 4 DB.2.4.1 Menuiserie metallique
58 5 DB.2.4.1.1 G.c 1 en vitrage bord àbord 10*10*2(1unite) rail en alu encastre
59 5 DB.2.4.1.2 G.c 2 en vitrage bord àbord 10*10*2(1unite) rail en alu encastre
60
61 4 DB.2.4.2 Menuiserie bois
62 5 DB.2.4.2.1 Portes
63 6 DB.2.4.2.1.1 P1 Count IfcDoor, type=P1
64 6 DB.2.4.2.1.2 P2 Count IfcDoor, type=P2-LEFT + IfcDoor, type=P2-RIGHT
65 6 DB.2.4.2.1.3 P3 Count IfcDoor, type=P3-LEFT + IfcDoor, type=P3-RIGHT
66
67 5 DB.2.4.2.2 Placards et habillage
68 6 DB.2.4.2.2.1 Fourniture placard type 1
69 6 DB.2.4.2.2.2 Fourniture placard type 2
70 6 DB.2.4.2.2.3 Fourniture placard type 3
71 6 DB.2.4.2.2.3 Fourniture placard type 4
72
73 4 DB.2.4.3 Revetement sol parquet
74 5 DB.2.4.3.1 Fourniture parquet contrecolle 18mm dont epaisseur noyer americain 3mm 300 NetArea IfcCovering, type=RS-2
75 5 DB.2.4.3.2 Fournitur basic underlay 50 NetArea IfcCovering, type=RS-2
76 5 DB.2.4.3.3 Fourniture profilpas finition laiton 2,5mm 20 Width IfcDoor
77 5 DB.2.4.3.4 Pose du parquet y compris isolant acoustique, chappe de ciment, sous-couche et barre de seuil 74 NetArea IfcCovering, type=RS-2
78
79 4 DB.2.4.4 Revetement sol marbre
80 5 DB.2.4.4.1 Fourniture marbre sols NetArea IfcCovering, type=RS-5
81 5 DB.2.4.4.2 Fourniture marbre- sols sdb NetArea IfcCovering, type=RS-2
82 5 DB.2.4.4.3 Fourniture marbre murs sdb
83 5 DB.2.4.4.4 Fourniture marbre marche escalier y/c nez
84 5 DB.2.4.4.5 Pose marbre sols y compris chappe de ciment
85 5 DB.2.4.4.6 Pose marbre murs
86 5 DB.2.4.4.7 Pose marbre marches
87
88 4 DB.2.4.5 Revetement carreaux
89 5 DB.2.4.5.1 Revetements
90 6 DB.2.4.5.1.1 Revêtement sol: cuisine - carreaux - gres cerame (30*60cm) - choix sous validation d'echantillons par l'architecte et le maitre d'ouvrage
91 6 DB.2.4.5.1.2 Revêtement sol: salle de jeux - carreaux - gres cerame (30*60cm) - choix sous validation d'echantillons par l'architecte et le maitre d'ouvrage
92 6 DB.2.4.5.1.3 Revêtement sol: (reserve) - gres cerame (30*60cm) - choix sous validation d'echantillons par l'architecte et le maitre d'ouvrage -
93 6 DB.2.4.5.1.4 Revêtement mural cuisine - carreaux - effet vitrage noir
94 5 DB.2.4.5.2 Plinthes
95 6 DB.2.4.5.2.1 Plinthes - duropolymer orac decor ref : sx157
96 6 DB.2.4.5.2.2 Plinthes marches - - duropolymer orac decor ref : sx157
97
98 4 DB.2.4.6 Peinture
99 5 DB.2.4.6.1 Fourniture et pose peinture murs - marmorex astral y/c preparation (5 couches)
100 5 DB.2.4.6.2 Fourniture et pose peinture contremarche escalier - marmorex astral y/c preparation (5 couches
101 5 DB.2.4.6.3 Fourniture et pose peinture murs cuisine - alpha tacto astral y/c preparation (5 couches)
102 5 DB.2.4.6.4 Foruniture et pose peinture faux-plafond - jotun acrylique mate blanc y/c preparation (5 couches)
103 5 DB.2.4.6.5 Fourniture et pose peinture murs sdb - jotun acrylique semi-brillant blanc special piece humide y/c preparation (5 couches)
104 5 DB.2.4.6.6 Fourniture et pose peinture faux-plafond sdb + cuisine - jotun acrylique semi-brillant blanc special piece humide y/c preparation (5 couches)
105
106 4 DB.2.4.7 Faux plafonds
107 5 DB.2.4.7.1 Type 1
108 5 DB.2.4.7.2 Type 2
109 5 DB.2.4.7.3 Type 3 – hydrofuge – exterieur
110 5 DB.2.4.7.4 Trappes d’acces
111
112 4 DB.2.4.8 Cuisine 1 unit
113
114 3 DB.2.5 Facade
115 4 DB.2.5.1 Revetement exterieur
116 5 DB.2.5.1.1 Revetement mural: plus value enduit mural hydrofuge (monocouche)
117 5 DB.2.5.1.2 Revetement mural: pierre volcanique grise
118 5 DB.2.5.1.3 Revetement mural: bardage en bois iroko ou tole alu section carre ou rectangulaire avec habillage bois technowood (voir detail architecte)
119 5 DB.2.5.1.4 Revêtement sol: terrasses et cour - tech - choix sous validation d'echantillons par l'architecte et le maitre d'ouvrage
120 5 DB.2.5.1.5 Revetement sol: seuill entree en pierre de taza
121 5 DB.2.5.1.6 Revetement sol: sous bassement perimetre villa en pierre de taza
122
123 4 DB.2.5.2 Menuiserie aluminium
124 5 DB.2.5.2.1 Fenetres
125 6 DB.2.5.2.1.1 F1
126 6 DB.2.5.2.1.2 F2
127
128 5 DB.2.5.2.2 Chassis ouvrants
129 6 DB.2.5.2.2.1 Ch1
130 6 DB.2.5.2.2.2 Ch2
131 6 DB.2.5.2.2.3 Ch3
132
133 5 DB.2.5.2.3 Portes coulissantes/ mur rideau
134 6 DB.2.5.2.3.1 P4
135 6 DB.2.5.2.3.2 P5
136 6 DB.2.5.2.3.3 P6
137
138 5 DB.2.5.2.4 Volets roulants
139 6 DB.2.5.2.4.1 Type 1
140 6 DB.2.5.2.4.2 Type 2
141 6 DB.2.5.2.4.3 Type 3
142 3 DB.2.6 Exterieur
143 4 DB.2.6.1 Cloture
144 4 DB.2.6.2 Piscine
145 4 DB.2.6.3 Jardin
Binary file not shown.