@vyzn-tech/lib-acoustic-rating
TypeScript icon, indicating that this package has built-in type declarations

0.0.6 • Public • Published

lib-acoustic-rating

lib-acoustic-rating is a Javascript library which calculates acoustic rating requirements for IFC-data according to SIA 181.

Installation

Use the package manager npm to install lib-acoustic-rating.

npm install @vyzn-tech/lib-acoustic-rating

Usage

import CsvConverter from '@vyzn-tech/lib-acoustic-rating/dist/csv-converter'
import { AcousticRatingCalculator } from '@vyzn-tech/lib-acoustic-rating/dist/calculator'

const items = new CsvConverter().convertToComponents(csvString)

const calculator = new AcousticRatingCalculator(
  items, //                               required => see CSV
  externalAcousticRatings //              required => see External-Acoustic-Ratings
  // additionalNoiseSensitivityMap        optional => see Noise-Sensitivity-Map
  // additionalAirborneNoiseExposureMap   optional => see Airborne-Noise-Exposure-Map
  // additionalFootstepNoiseExposureMap   optional => see Footstep-Noise-Exposure-Map
  // additionalSpectrumAdjustmentTypeMap  optional => see Spectrum-Adjustment-Type-Map
)

console.log(calculator.calculate())

Expected Input

CSV

Column Description Supported Values Example Comment
GUID An IfcGloballyUniqueId holds an encoded string identifier that is used to uniquely identify an IFC object. 22 character length string "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_$" 01$34_67$9_BsbEFbH$JK_M GUID(same as original IFC) or UniqueLabel (unique string)
Entity In an IFC model, project information is represented as a series of IFC entities. Each IFC entity contains a fixed number of IFC attributes as well as any number of additional IFC properties. The IFC schema includes several hundred entities, of which the building element-type entities (such as IfcWall and IfcColumn) represent only 25. IfcWall IfcSlab IfcRoof IfcSpace IfcZone IfcBuilding IfcWall ElementType Could be remapped in an interface to match the request
PredefinedType only required for IfcSlab: The predefined type based on IFC. FLOOR BASESLAB ROOF FLOOR See Entity
ParentIds The ID of the parent element (IfcRelation/ IfcRelToGroup) A value from column “ID” of another row or null (empty cell) 01$34_67$9_BsbEFbH$JK_M Will be the result of the link service
Name only required for IfcZone and IfcBuilding: Bezeichnung respektive Name, welcher sich von anderer Nutzungseinheit oder anderen Gebäude unterscheidet frei (string), beispielsweise Nutzungseinheit_1, Nutzungseinheit_2,... Dach Fluchtweg_1, Bauprojekt, Nachbargebäude Nutzungseinheit_1 User input - ideally to be inputted on the platform / second option would be IFC input
AcousticRatingLevelReq only required for IfcZone Mindestanforderungen, Erhöhte Anforderungen Mindestanforderungen User input
Status only required for IfcZone and IfcBuilding: Status of the element, predominately used in renovation or retrofitting projects. The status can be assigned to as "New" - element designed as new addition, "Existing" - element exists and remains, "Demolish" - element existed but is to be demolished, "Temporary" - element will exists only temporary (like a temporary support structure). new, existing , temporary new ConstructionType Missing option “temporary” should be added
IsExternal Indication whether the element is designed for use in the exterior (TRUE) or not (FALSE). If (TRUE) it is an external element and faces the outside of the building TRUE FALSE TRUE PositionAgainst Could be remapped in an interface to match the request
OccupancyType Occupancy type for this object. It is defined according to the presiding national code. Werkstatt, Empfang, Warteraum, Großraumbüro, Kantine, Restaurant, Bad, WC, Verkauf, Labor, Korridor, Wohnen, Schlafen, Studio, Schulzimmer, Wohnküche, Büroraum, Hotelzimmer, Spitalzimmer, Ruheräume Therapieraum, Lesezimmer, Studierzimmer Wohnküche User input - Since that is a national standard the options should be in german
CelestialDirection Himmelsrichtung 8 options N, NE, E, SE, S, SW, W, NW SW Orientation Could be remapped in an interface to match the request
CenterOfGravityZ Gravitationsschwerpunkt des Raumvolumens [m] -99.99 to 99.99 3.43 Should be produced by the REF model

Example

GUID Entity PredefinedType ParentIds Name AcousticRatingLevelReq Status IsExternal OccupancyType CelestialDirection CenterOfGravityZ
1 IfcWall 47 TRUE NE
2 IfcWall 51 TRUE NE
3 IfcWall 47,54 TRUE NE
4 IfcWall 48,54 TRUE N
5 IfcWall 47,52 FALSE N
6 IfcWall 46,47 FALSE N
7 IfcWall 47,53 FALSE N
8 IfcWall 47,55 FALSE N
9 IfcWall 50,55 FALSE N
10 IfcWall 46,55 FALSE N
11 IfcWall 51,50 FALSE N
12 IfcWall 51,49 FALSE N
13 IfcWall 51,48 FALSE N
14 IfcWall 53,49 FALSE N
15 IfcWall 47,73 FALSE N
16 IfcWall 55,73 FALSE N
17 IfcWall 53,73 FALSE N
18 IfcWall 64,51 FALSE N
19 IfcWall 57,59 TRUE NE
20 IfcSlab FLOOR 56,62 FALSE
21 IfcSlab FLOOR 58,62 FALSE
22 IfcSlab FLOOR 59,62 FALSE
23 IfcSlab FLOOR 60,62 FALSE
24 IfcSlab FLOOR 55,62 FALSE
25 IfcSlab FLOOR 56,63 FALSE
26 IfcSlab FLOOR 56,46 FALSE
27 IfcSlab 48,62 FALSE
28 IfcSlab FLOOR 49,62 FALSE
29 IfcSlab FLOOR 50,57 FALSE
30 IfcSlab ROOF 46,55 TRUE N
31 IfcSlab ROOF 46,52 TRUE N
32 IfcSlab FLOOR 48,53 FALSE
33 IfcSlab FLOOR 47,58 FALSE
34 IfcSlab FLOOR 50,63 FALSE
35 IfcSlab FLOOR 47,65 FALSE
36 IfcSlab FLOOR 47,51 FALSE
37 IfcSlab FLOOR 61,58 FALSE
38 IfcSlab FLOOR 58,64 FALSE
39 IfcSlab FLOOR 58,65 FALSE
40 IfcSlab FLOOR 52,57 TRUE
41 IfcSlab ROOF 46,62 TRUE NE
42 IfcDoor 1 TRUE N
43 IfcSlab ROOF 46 TRUE N
44 IfcRoof 47 TRUE N
45 IfcSpace 70 Wartungsarbeiten 7
46 IfcSpace 66 Terrasse 6
47 IfcSpace 66 Wohnen 6.5
48 IfcSpace 66 Wohnen 6.5
49 IfcSpace 66 Bad 6.5
50 IfcSpace 66 Schlafen 6.5
51 IfcSpace 71 Treppenhaus 6.4
52 IfcSpace 67 Wohnen 3.5
53 IfcSpace 67 Bad 3.5
54 IfcSpace 67 Terrasse 3.5
55 IfcSpace 67 Schlafen 3.5
56 IfcSpace 68 Tiefgarage -3
57 IfcSpace 69 Einfahrt -3
58 IfcSpace 68 Gewerbe -3
59 IfcSpace 68 Keller -3
60 IfcSpace 68 Technik -3
61 IfcSpace 68 Waschraum -6
62 IfcSpace 69 Tiefgarage -6
63 IfcSpace 69 Gewerbe -6
64 IfcSpace 69 Keller -6
65 IfcSpace 69 Technik -6
66 IfcZone 72 Nutzungseinheit_1 Erhoehte Anforderungen new
67 IfcZone 72 Nutzungseinheit_2 Erhoehte Anforderungen new
68 IfcZone 72 Nutzungseinheit_3 Erhoehte Anforderungen new
69 IfcZone 72 Nutzungseinheit_4 Erhoehte Anforderungen new
70 IfcZone 72 Dach Erhoehte Anforderungen new
71 IfcZone 72 Fluchtweg_1 Minimale Anforderungen new
72 IfcBuilding Bauprojekt new
73 IfcBuilding Nachbargebäude existing Wohnen

External-Acoustic-Ratings

Key Description Type
n North object: External-Acoustic-Rating
ne North-East object: External-Acoustic-Rating
e East object: External-Acoustic-Rating
se South-East object: External-Acoustic-Rating
s South object: External-Acoustic-Rating
sw South-West object: External-Acoustic-Rating
w West object: External-Acoustic-Rating
nw North-West object: External-Acoustic-Rating

External-Acoustic-Rating

Key Type Values
day int -2,147,483,647 to 2,147,483,647
night int -2,147,483,647 to 2,147,483,647
spectrumAdjustmentType string: SpectrumAdjustmentType c, ctr

Example

{
  "n": {
    "day": 62,
    "night": 55,
    "spectrumAdjustmentType": "ctr"
  },
  "ne": {
    "day": 62,
    "night": 55,
    "spectrumAdjustmentType": "ctr"
  },
  "e": {
    "day": 0,
    "night": 0,
    "spectrumAdjustmentType": "c"
  },
  "se": {
    "day": 0,
    "night": 0,
    "spectrumAdjustmentType": "c"
  },
  "s": {
    "day": 0,
    "night": 0,
    "spectrumAdjustmentType": "c"
  },
  "sw": {
    "day": 0,
    "night": 0,
    "spectrumAdjustmentType": "c"
  },
  "w": {
    "day": 0,
    "night": 0,
    "spectrumAdjustmentType": "c"
  },
  "nw": {
    "day": 0,
    "night": 0,
    "spectrumAdjustmentType": "c"
  }
}

Noise-Sensitivity-Map

Key Type Values
string: OccupancyType int null = None, 1 = Low, 2 = Medium, 3 = High

Example

{
    "Terrasse": null,
    "Werkstatt": 1,
    "Wohnzimmer": 2,
    "Studierzimmer": 3
}

Airborne-Noise-Exposure-Map

Key Type Values
string: OccupancyType int 1 = Low, 2 = Moderate, 3 = High, 4 = Very High

Example

{
    "Terrasse": 4,
    "Werkstatt": 3,
    "Wohnzimmer": 2,
    "Studierzimmer": 1
}

Airborne-Noise-Exposure-Map

Key Type Values
string: OccupancyType int 1 = Low, 2 = Moderate, 3 = High, 4 = Very High

Example

{
    "Terrasse": 4,
    "Werkstatt": 3,
    "Wohnzimmer": 2,
    "Studierzimmer": 1
}

Spectrum-Adjustment-Type-Map

Key Type Values
string: OccupancyType string: SpectrumAdjustmentType c, ctr

Example

{
    "Terrasse":"c",
    "Werkstatt": "ctr"
}

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

MIT

Readme

Keywords

none

Package Sidebar

Install

npm i @vyzn-tech/lib-acoustic-rating

Weekly Downloads

0

Version

0.0.6

License

MIT

Unpacked Size

148 kB

Total Files

37

Last publish

Collaborators

  • adrian62d
  • markussteinbrecher
  • rti-vyzn
  • martitsc
  • c.lecherbauer.vyzn-tech