Building Demolition Weight Calculator

Building Demolition Weight Calculator & Guide :root { –primary-color: #004a99; –success-color: #28a745; –background-color: #f8f9fa; –text-color: #333; –border-color: #ddd; –card-background: #fff; –shadow: 0 2px 5px rgba(0,0,0,0.1); } body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background-color: var(–background-color); color: var(–text-color); line-height: 1.6; margin: 0; padding: 0; } .container { max-width: 1000px; margin: 20px auto; padding: 20px; background-color: var(–card-background); border-radius: 8px; box-shadow: var(–shadow); } header { text-align: center; margin-bottom: 30px; padding-bottom: 20px; border-bottom: 1px solid var(–border-color); } header h1 { color: var(–primary-color); margin-bottom: 10px; } .calculator-section { margin-bottom: 40px; padding: 30px; background-color: var(–card-background); border-radius: 8px; box-shadow: var(–shadow); } .calculator-section h2 { color: var(–primary-color); text-align: center; margin-bottom: 25px; } .loan-calc-container { display: flex; flex-direction: column; gap: 20px; } .input-group { display: flex; flex-direction: column; gap: 8px; } .input-group label { font-weight: bold; color: var(–primary-color); } .input-group input[type="number"], .input-group select { padding: 12px; border: 1px solid var(–border-color); border-radius: 5px; font-size: 1rem; box-sizing: border-box; } .input-group input[type="number"]:focus, .input-group select:focus { outline: none; border-color: var(–primary-color); box-shadow: 0 0 0 2px rgba(0, 74, 153, 0.2); } .input-group .helper-text { font-size: 0.85rem; color: #666; } .error-message { color: #dc3545; font-size: 0.85rem; margin-top: 5px; min-height: 1.2em; /* Prevent layout shift */ } .button-group { display: flex; gap: 15px; margin-top: 25px; justify-content: center; flex-wrap: wrap; } .btn { padding: 12px 25px; border: none; border-radius: 5px; font-size: 1rem; font-weight: bold; cursor: pointer; transition: background-color 0.3s ease, transform 0.2s ease; text-transform: uppercase; } .btn-primary { background-color: var(–primary-color); color: white; } .btn-primary:hover { background-color: #003366; transform: translateY(-1px); } .btn-secondary { background-color: #6c757d; color: white; } .btn-secondary:hover { background-color: #5a6268; transform: translateY(-1px); } .btn-success { background-color: var(–success-color); color: white; } .btn-success:hover { background-color: #218838; transform: translateY(-1px); } #results { margin-top: 30px; padding: 25px; background-color: var(–primary-color); color: white; border-radius: 8px; text-align: center; box-shadow: inset 0 0 10px rgba(0,0,0,0.2); } #results h3 { margin-top: 0; margin-bottom: 15px; font-size: 1.5rem; } #results .main-result { font-size: 2.5rem; font-weight: bold; margin-bottom: 15px; display: block; } #results .intermediate-values div, #results .formula-explanation { margin-bottom: 10px; font-size: 1.1rem; } #results .formula-explanation { font-style: italic; opacity: 0.9; } .chart-container, .table-container { margin-top: 30px; padding: 25px; background-color: var(–card-background); border-radius: 8px; box-shadow: var(–shadow); } .chart-container h3, .table-container h3 { color: var(–primary-color); text-align: center; margin-bottom: 20px; } canvas { display: block; margin: 0 auto; max-width: 100%; height: auto !important; /* Ensure canvas scales */ } table { width: 100%; border-collapse: collapse; margin-top: 15px; } th, td { padding: 12px 15px; text-align: left; border-bottom: 1px solid var(–border-color); } th { background-color: var(–primary-color); color: white; font-weight: bold; } tr:nth-child(even) { background-color: #f2f2f2; } tr:hover { background-color: #e9ecef; } .article-section { margin-top: 40px; padding: 30px; background-color: var(–card-background); border-radius: 8px; box-shadow: var(–shadow); } .article-section h2, .article-section h3 { color: var(–primary-color); margin-bottom: 15px; } .article-section h2 { text-align: center; margin-bottom: 30px; } .article-section p, .article-section ul, .article-section ol { margin-bottom: 15px; } .article-section li { margin-bottom: 8px; } .faq-item { margin-bottom: 15px; padding: 10px; border-left: 3px solid var(–primary-color); background-color: #eef7ff; } .faq-item strong { color: var(–primary-color); } .internal-links-list { list-style: none; padding: 0; } .internal-links-list li { margin-bottom: 10px; } .internal-links-list a { color: var(–primary-color); text-decoration: none; font-weight: bold; } .internal-links-list a:hover { text-decoration: underline; } .internal-links-list span { font-size: 0.9rem; color: #666; display: block; margin-top: 3px; } .highlight { background-color: var(–primary-color); color: white; padding: 2px 5px; border-radius: 3px; } .text-center { text-align: center; } .mb-15 { margin-bottom: 15px; } .mb-20 { margin-bottom: 20px; } .mt-20 { margin-top: 20px; } .pt-20 { padding-top: 20px; } .pb-20 { padding-bottom: 20px; } .bold { font-weight: bold; }

Building Demolition Weight Calculator

Estimate the total weight of materials generated from a building demolition project.

Demolition Weight Estimator

Residential (Wood Frame) Light Commercial (Steel Frame, Masonry) Heavy Industrial (Concrete, Steel) Mixed-Use (Typical Urban)
Select the primary construction type of the building.
Enter the total ground floor area of the building.
Enter the average height from ground to roof.
A multiplier representing the average density of building materials (e.g., 50 lbs/cu ft for mixed materials).

Estimated Demolition Weight

Estimated Volume: —
Estimated Weight per Sq Ft: —
Estimated Weight per Cu Ft: —
Formula: Total Weight = Building Footprint Area * Average Height * Material Density Factor

Weight Distribution by Building Type

Comparison of estimated demolition weight per square foot for different building types.

Material Weight Breakdown (Assumptions)

Material Type Estimated Density (lbs/cu ft) Typical Contribution (%) Estimated Weight (lbs/sq ft)
Typical material densities and their contribution to the overall demolition weight.

What is Building Demolition Weight?

Building demolition weight refers to the total estimated mass of all materials that will be generated from the process of dismantling and removing a structure. This is a critical metric in demolition planning, impacting logistics, transportation costs, disposal fees, and recycling efforts. Understanding the building demolition weight is essential for accurate project budgeting and environmental management. It's not just about the sheer volume of debris, but the density and type of materials involved.

Who should use this calculator? Demolition contractors, project managers, site supervisors, environmental consultants, and property developers can all benefit from using a building demolition weight calculator. It provides a quick, initial estimate for project feasibility studies, bid preparation, and resource allocation.

Common Misconceptions: A common misconception is that demolition weight is directly proportional to the building's size alone. However, the type of construction materials (e.g., concrete vs. wood) significantly alters the density and thus the total weight. Another misconception is that all demolition debris is waste; a substantial portion can often be recycled or salvaged, influencing the net weight requiring disposal.

Building Demolition Weight Formula and Mathematical Explanation

The core calculation for estimating building demolition weight relies on fundamental principles of volume and density. The process involves determining the total volume of the structure's materials and then multiplying that by an average material density factor.

Step-by-Step Derivation:

  1. Calculate Building Volume: The first step is to estimate the total volume of the building's structure. This is approximated by multiplying the building's footprint area by its average height.
    Volume (cubic feet) = Building Footprint Area (sq ft) × Average Building Height (ft)
  2. Estimate Material Density: Buildings are composed of various materials, each with a different density (weight per unit volume). A Material Density Factor is used as an average to simplify the calculation. This factor accounts for the mix of concrete, steel, wood, brick, drywall, etc.
    Material Density Factor (lbs/cu ft)
  3. Calculate Total Weight: The total demolition weight is then found by multiplying the estimated volume by the material density factor.
    Total Weight (lbs) = Volume (cu ft) × Material Density Factor (lbs/cu ft)

This simplified model provides a reasonable estimate, but actual weights can vary based on specific construction details, foundation types, and the presence of heavy machinery or specialized components.

Variables Table:

Variable Meaning Unit Typical Range
Building Footprint Area The total ground-level area occupied by the building. Square Feet (sq ft) 100 – 100,000+
Average Building Height The average vertical dimension of the structure. Feet (ft) 10 – 200+
Material Density Factor An average weight per unit volume for mixed demolition materials. Pounds per Cubic Foot (lbs/cu ft) 30 – 100+ (varies greatly)
Estimated Volume The calculated total volume of the building's structure. Cubic Feet (cu ft) Calculated
Estimated Demolition Weight The total estimated weight of debris from demolition. Pounds (lbs) Calculated

Practical Examples (Real-World Use Cases)

Let's illustrate the building demolition weight calculator with practical scenarios:

Example 1: Residential House Demolition

Consider a standard two-story residential house with a footprint of 1,500 sq ft and an average height of 25 ft. The construction is primarily wood frame with some brick and concrete elements. We'll use a Material Density Factor of 45 lbs/cu ft, typical for wood-heavy structures.

  • Inputs:
    • Building Footprint Area: 1,500 sq ft
    • Average Building Height: 25 ft
    • Material Density Factor: 45 lbs/cu ft
  • Calculation:
    • Estimated Volume = 1,500 sq ft * 25 ft = 37,500 cu ft
    • Estimated Demolition Weight = 37,500 cu ft * 45 lbs/cu ft = 1,687,500 lbs
  • Outputs:
    • Estimated Demolition Weight: 1,687,500 lbs (approx. 844 tons)
    • Estimated Volume: 37,500 cu ft
    • Estimated Weight per Sq Ft: 1,125 lbs/sq ft
    • Estimated Weight per Cu Ft: 45 lbs/cu ft
  • Interpretation: This estimate helps in planning for dumpster rentals, truck capacity, and landfill fees. The weight suggests a significant volume of debris requiring careful management.

Example 2: Small Commercial Building Demolition

Imagine a single-story commercial building with a footprint of 5,000 sq ft and an average height of 18 ft. This building features a steel frame, concrete floors, and masonry walls. A higher Material Density Factor of 70 lbs/cu ft is appropriate here.

  • Inputs:
    • Building Footprint Area: 5,000 sq ft
    • Average Building Height: 18 ft
    • Material Density Factor: 70 lbs/cu ft
  • Calculation:
    • Estimated Volume = 5,000 sq ft * 18 ft = 90,000 cu ft
    • Estimated Demolition Weight = 90,000 cu ft * 70 lbs/cu ft = 6,300,000 lbs
  • Outputs:
    • Estimated Demolition Weight: 6,300,000 lbs (approx. 3,150 tons)
    • Estimated Volume: 90,000 cu ft
    • Estimated Weight per Sq Ft: 1,260 lbs/sq ft
    • Estimated Weight per Cu Ft: 70 lbs/cu ft
  • Interpretation: The substantial weight indicates the need for heavy-duty equipment, multiple large-capacity dumpsters or trucks, and potentially specialized disposal sites. This estimate is crucial for securing adequate resources and managing project timelines effectively.

How to Use This Building Demolition Weight Calculator

Using the Building Demolition Weight Calculator is straightforward. Follow these steps to get an accurate estimate for your project:

  1. Select Building Type: Choose the option that best describes the primary construction material of the building (e.g., Wood Frame, Steel Frame, Concrete). This selection influences the default Material Density Factor.
  2. Enter Building Footprint Area: Input the total square footage of the building's ground floor. Ensure this measurement is accurate.
  3. Enter Average Building Height: Provide the average height of the building in feet. If the building has varying heights, use an average value.
  4. Adjust Material Density Factor (Optional): The calculator provides a default Material Density Factor based on the building type. You can adjust this value if you have specific knowledge about the building's materials (e.g., a building with exceptionally thick concrete walls might require a higher factor).
  5. Click 'Calculate Weight': Once all inputs are entered, click the button to see the estimated demolition weight and intermediate values.

How to Read Results:

  • Estimated Demolition Weight: This is the primary result, showing the total estimated weight in pounds. It's often useful to convert this to tons (1 ton = 2,000 lbs) for practical logistics.
  • Estimated Volume: The total cubic footage of the building's structure, providing context for the weight.
  • Estimated Weight per Sq Ft: Useful for comparing demolition costs or planning based on building footprint.
  • Estimated Weight per Cu Ft: Reflects the density factor used in the calculation.

Decision-Making Guidance:

The results from this building demolition weight calculator can inform several key decisions:

  • Logistics Planning: Determine the number and size of dumpsters or trucks needed.
  • Cost Estimation: Estimate disposal fees, transportation costs, and potential recycling revenue.
  • Resource Allocation: Plan for labor and equipment requirements.
  • Environmental Compliance: Understand the scale of waste management needed.

Remember, this is an estimate. For precise figures, a detailed site assessment by a professional demolition expert is recommended. Consider exploring resources on demolition project management to further refine your planning.

Key Factors That Affect Building Demolition Weight Results

While the calculator provides a solid estimate, several factors can influence the actual building demolition weight:

  • Material Composition: The most significant factor. Buildings with high amounts of concrete, steel, and brick will have a much higher demolition weight per cubic foot than those primarily made of wood or lighter materials. Our calculator uses a general factor, but specific material breakdowns are key.
  • Building Age and Design: Older buildings might have different construction methods and materials (e.g., lead paint, asbestos) that affect density and handling requirements. Modern designs might incorporate lighter materials or advanced structural elements.
  • Foundation Type: The type and depth of the foundation (e.g., slab, basement, pilings) contribute significantly to the overall volume and weight. Deep concrete basements add substantial mass.
  • Presence of Heavy Equipment or Machinery: Industrial buildings may contain heavy machinery, tanks, or large structural steel components that add considerably to the demolition weight beyond the basic structure.
  • Salvage and Recycling Efforts: Active efforts to salvage valuable materials (e.g., structural steel, copper wiring, architectural elements) before or during demolition can reduce the final weight of debris requiring disposal. This impacts the net weight calculation.
  • Moisture Content: Wet materials, especially wood and soil, can add significant weight. Demolition conducted after heavy rain or in damp conditions might yield heavier debris.
  • Subterranean Structures: Underground tanks, tunnels, or basements not accounted for in the primary footprint and height can add unexpected weight.
  • Regulatory Requirements: Environmental regulations might dictate specific demolition methods or material segregation, indirectly affecting how weight is managed and accounted for. Understanding waste management in construction is crucial.

Frequently Asked Questions (FAQ)

Q1: How accurate is this building demolition weight calculator?
A: This calculator provides an estimate based on typical material densities and building dimensions. Actual weight can vary significantly based on the specific materials, construction methods, and any unforeseen elements within the building. It's a useful tool for initial planning but not a substitute for a professional assessment.
Q2: What is a typical Material Density Factor?
A: The Material Density Factor can range widely. For wood-frame residential buildings, it might be around 30-50 lbs/cu ft. For steel and concrete structures, it can be 70-100+ lbs/cu ft. Our calculator uses defaults, but site-specific knowledge is best.
Q3: How do I convert pounds to tons?
A: There are 2,000 pounds in one US ton. To convert pounds to tons, divide the total weight in pounds by 2,000.
Q4: Does the calculator account for asbestos or hazardous materials?
A: No, this calculator focuses purely on the physical weight of structural materials. Hazardous materials require specialized handling and disposal procedures that are separate from basic weight calculations. Proper hazardous material abatement planning is essential.
Q5: What is the difference between demolition weight and demolition volume?
A: Weight is the mass of the materials (typically measured in pounds or tons), while volume is the space the materials occupy (measured in cubic feet or cubic yards). Density links these two concepts (Weight = Volume x Density). Demolition planning often requires considering both.
Q6: Can I use this for demolition cost estimation?
A: Yes, the estimated weight is a key input for demolition cost estimation. Disposal fees are often charged by weight or volume, and transportation costs are influenced by the total mass and number of loads required.
Q7: What if the building has a basement? How does that affect the calculation?
A: A basement, especially a concrete one, significantly increases both the volume and weight. If the basement footprint is similar to the main building's footprint, you might consider doubling the height input or adding the basement volume separately if it's substantial. Our calculator uses average height, so significant basements may require manual adjustment or a more detailed calculation.
Q8: How does recycling impact the demolition weight?
A: Recycling reduces the *net* weight of debris that needs to be disposed of in landfills. While the initial demolition weight calculation estimates the total material generated, successful recycling programs decrease the final tonnage sent to disposal sites, potentially lowering costs and environmental impact. Effective demolition waste recycling strategies are vital.

Related Tools and Internal Resources

© 2023 Your Company Name. All rights reserved.

var buildingTypeSelect = document.getElementById('buildingType'); var buildingAreaInput = document.getElementById('buildingArea'); var averageHeightInput = document.getElementById('averageHeight'); var materialDensityFactorInput = document.getElementById('materialDensityFactor'); var buildingTypeErrorDiv = document.getElementById('buildingTypeError'); var buildingAreaErrorDiv = document.getElementById('buildingAreaError'); var averageHeightErrorDiv = document.getElementById('averageHeightError'); var materialDensityFactorErrorDiv = document.getElementById('materialDensityFactorError'); var mainResultSpan = document.getElementById('mainResult'); var volumeResultDiv = document.getElementById('volumeResult'); var weightPerSqFtDiv = document.getElementById('weightPerSqFt'); var weightPerCuFtDiv = document.getElementById('weightPerCuFt'); var chart; var chartContext = document.getElementById('weightDistributionChart').getContext('2d'); var materialTableBody = document.getElementById('materialTableBody'); var defaultValues = { buildingType: 1.5, // Residential (Wood Frame) buildingArea: 2000, averageHeight: 30, materialDensityFactor: 50 }; var materialData = [ { type: "Concrete", density: 150, contribution: 0.40 }, { type: "Steel", density: 490, contribution: 0.15 }, { type: "Wood", density: 40, contribution: 0.25 }, { type: "Brick/Masonry", density: 120, contribution: 0.15 }, { type: "Drywall/Insulation", density: 5, contribution: 0.05 } ]; function validateInput(value, id, errorDiv, min, max) { var errorMsg = ""; if (value === null || value === "") { errorMsg = "This field is required."; } else { var numValue = parseFloat(value); if (isNaN(numValue)) { errorMsg = "Please enter a valid number."; } else if (numValue < 0) { errorMsg = "Cannot be negative."; } else if (min !== undefined && numValue max) { errorMsg = "Value too high."; } } errorDiv.textContent = errorMsg; return errorMsg === ""; } function calculateDemolitionWeight() { var buildingType = parseFloat(buildingTypeSelect.value); var buildingArea = parseFloat(buildingAreaInput.value); var averageHeight = parseFloat(averageHeightInput.value); var materialDensityFactor = parseFloat(materialDensityFactorInput.value); var isValid = true; isValid &= validateInput(buildingAreaInput.value, 'buildingArea', buildingAreaErrorDiv, 1); isValid &= validateInput(averageHeightInput.value, 'averageHeight', averageHeightErrorDiv, 1); isValid &= validateInput(materialDensityFactorInput.value, 'materialDensityFactor', materialDensityFactorErrorDiv, 1); if (!isValid) { mainResultSpan.textContent = "–"; volumeResultDiv.textContent = "Estimated Volume: –"; weightPerSqFtDiv.textContent = "Estimated Weight per Sq Ft: –"; weightPerCuFtDiv.textContent = "Estimated Weight per Cu Ft: –"; updateChart([]); // Clear chart if inputs are invalid return; } var estimatedVolume = buildingArea * averageHeight; var totalWeight = estimatedVolume * materialDensityFactor; var weightPerSqFt = totalWeight / buildingArea; var weightPerCuFt = totalWeight / estimatedVolume; mainResultSpan.textContent = totalWeight.toLocaleString(undefined, { maximumFractionDigits: 0 }) + " lbs"; volumeResultDiv.textContent = "Estimated Volume: " + estimatedVolume.toLocaleString(undefined, { maximumFractionDigits: 0 }) + " cu ft"; weightPerSqFtDiv.textContent = "Estimated Weight per Sq Ft: " + weightPerSqFt.toLocaleString(undefined, { maximumFractionDigits: 1 }) + " lbs/sq ft"; weightPerCuFtDiv.textContent = "Estimated Weight per Cu Ft: " + weightPerCuFt.toLocaleString(undefined, { maximumFractionDigits: 1 }) + " lbs/cu ft"; updateChartData(buildingArea, materialDensityFactor); updateMaterialTable(buildingArea, materialDensityFactor); } function resetCalculator() { buildingTypeSelect.value = defaultValues.buildingType; buildingAreaInput.value = defaultValues.buildingArea; averageHeightInput.value = defaultValues.averageHeight; materialDensityFactorInput.value = defaultValues.materialDensityFactor; buildingTypeErrorDiv.textContent = ""; buildingAreaErrorDiv.textContent = ""; averageHeightErrorDiv.textContent = ""; materialDensityFactorErrorDiv.textContent = ""; calculateDemolitionWeight(); } function copyResults() { var mainResultText = mainResultSpan.textContent; var volumeText = volumeResultDiv.textContent; var weightPerSqFtText = weightPerSqFtDiv.textContent; var weightPerCuFtText = weightPerCuFtDiv.textContent; var formulaText = "Formula: Total Weight = Building Footprint Area * Average Height * Material Density Factor"; var assumptions = [ "Building Type Factor: " + buildingTypeSelect.options[buildingTypeSelect.selectedIndex].text + " (" + buildingTypeSelect.value + ")", "Building Area: " + buildingAreaInput.value + " sq ft", "Average Height: " + averageHeightInput.value + " ft", "Material Density Factor: " + materialDensityFactorInput.value + " lbs/cu ft" ]; var textToCopy = "— Demolition Weight Estimate —\n\n"; textToCopy += "Primary Result:\n" + mainResultText + "\n\n"; textToCopy += "Details:\n" + volumeText + "\n"; textToCopy += weightPerSqFtText + "\n"; textToCopy += weightPerCuFtText + "\n\n"; textToCopy += "Formula Used:\n" + formulaText + "\n\n"; textToCopy += "Key Assumptions:\n" + assumptions.join("\n"); navigator.clipboard.writeText(textToCopy).then(function() { alert('Results copied to clipboard!'); }).catch(function(err) { console.error('Failed to copy: ', err); alert('Failed to copy results. Please copy manually.'); }); } function updateChartData(area, densityFactor) { var chartData = { labels: materialData.map(function(item) { return item.type; }), datasets: [ { label: 'Estimated Weight per Sq Ft (lbs/sq ft)', data: materialData.map(function(item) { // Simplified: assumes density factor is an average, and contribution is percentage of total weight // A more complex model would be needed for precise breakdown based on area/height // For this example, we'll show contribution based on the overall density factor return (item.density * item.contribution * (densityFactor / 50)).toFixed(2); // Adjusting based on default density factor }), backgroundColor: 'rgba(0, 74, 153, 0.6)', borderColor: 'rgba(0, 74, 153, 1)', borderWidth: 1 }, { label: 'Typical Contribution (%)', data: materialData.map(function(item) { return item.contribution * 100; }), backgroundColor: 'rgba(40, 167, 69, 0.6)', borderColor: 'rgba(40, 167, 69, 1)', borderWidth: 1 } ] }; updateChart(chartData); } function updateMaterialTable(area, densityFactor) { materialTableBody.innerHTML = "; // Clear existing rows materialData.forEach(function(item) { var estimatedWeightPerSqFt = (item.density * item.contribution * (densityFactor / 50)).toFixed(2); // Simplified calculation var row = materialTableBody.insertRow(); row.insertCell(0).textContent = item.type; row.insertCell(1).textContent = item.density.toLocaleString(); row.insertCell(2).textContent = (item.contribution * 100).toFixed(1) + '%'; row.insertCell(3).textContent = parseFloat(estimatedWeightPerSqFt).toLocaleString(undefined, { maximumFractionDigits: 2 }); }); } function updateChart(data) { if (chart) { chart.data.labels = data.labels; chart.data.datasets[0].data = data.datasets[0].data; chart.data.datasets[1].data = data.datasets[1].data; chart.update(); } else { chart = new Chart(chartContext, { type: 'bar', data: data, options: { responsive: true, maintainAspectRatio: false, scales: { y: { beginAtZero: true, ticks: { callback: function(value) { if (value % 1 === 0) { return value; } } } } }, plugins: { legend: { position: 'top', }, title: { display: true, text: 'Material Breakdown Comparison' } } } }); } } // Initial setup document.addEventListener('DOMContentLoaded', function() { resetCalculator(); // Set default values and calculate // Initial chart data population updateChartData(defaultValues.buildingArea, defaultValues.materialDensityFactor); updateMaterialTable(defaultValues.buildingArea, defaultValues.materialDensityFactor); }); // Add event listeners for real-time updates (optional, but good UX) buildingAreaInput.addEventListener('input', calculateDemolitionWeight); averageHeightInput.addEventListener('input', calculateDemolitionWeight); materialDensityFactorInput.addEventListener('input', calculateDemolitionWeight); buildingTypeSelect.addEventListener('change', calculateDemolitionWeight);

Leave a Comment