<script>
function myFunction() {
const ifcFile = document.getElementById('myFile').files[0];
}
</script>
Step 4
Use the FileReader API to read the content of the IFC file. We will assume that the input is a correct IFC file. In other words, we will assume that the file contains text. That's why we call reader.readAsText(file).
<script>
function myFunction() {
var file = document.getElementById('myFile').files[0];
var reader = new FileReader();
reader.onload = function(e) {
// TODO
};
reader.readAsText(file);
}
</script>
Step 5
The onload property will handle the actual reading of the file. See FileReader.onload for more info. Notice that we split each line.
<script src="https://cdn.jsdelivr.net/gh/andrewisen/bim-whale/dist/BIMWHALE.min.js"></script>
<script>
function myFunction() {
var file = document.getElementById('myFile').files[0];
var reader = new FileReader();
reader.onload = function(e) {
var lines = e.target.result.split(/\r\n|\n/);
// TODO
};
reader.readAsText(file);
}
</script>
Step 6
Use BIMWHALE.js. by:
Creating a new BIMWHAlE object
newBIMWHALE.file(lines, config);
Calling the method parseIfcFile()
var ifcEntites =file.parseIfcFile();
Please note that the config object is missing at this moment.
Final result
The final result should look like this:
<!DOCTYPE html>
<html>
<body>
<h3>Example</h3>
<input type="file" id="myFile">
<button onclick="myFunction()">Click me</button>
<script src="https://cdn.jsdelivr.net/gh/andrewisen/bim-whale/dist/BIMWHALE.min.js"></script>
<script>
function myFunction() {
var file = document.getElementById('myFile').files[0];
var reader = new FileReader();
reader.onload = function(e) {
var lines = e.target.result.split(/\r\n|\n/);
var ifcFile = new BIMWHALE.IfcFile(lines, config);
var ifcEntites = ifcFile.parseIfcFile();
};
reader.readAsText(file);
}
</script>
</body>
</html>
Please note that this code doesn'toutput the result.
You won't see anything on your screen.
Simply log the IFC Entities like this:
var ifcEntites =file.parseIfcFile();console.log(ifcEntites)
Congratulations, you are now ready for the Simple Example.