Import BREP files #310

This commit is contained in:
kovacsv 2022-10-01 23:03:36 +02:00
parent d0447cfdc0
commit ba6995efc3
8 changed files with 30 additions and 18 deletions

View File

@ -22,7 +22,7 @@ The repository is separated into two parts. See more information in the [Develop
## Supported file formats
* **Import**: obj, 3ds, stl, ply, gltf, glb, off, 3dm, fbx, dae, wrl, 3mf, ifc, stp, igs, bim.
* **Import**: obj, 3ds, stl, ply, gltf, glb, off, 3dm, fbx, dae, wrl, 3mf, ifc, brep, step, iges, bim.
* **Export**: obj, stl, ply, gltf, glb, off, 3dm, bim.
## Features

View File

@ -8,6 +8,8 @@ onmessage = async function (ev)
result = occt.ReadStepFile (ev.data.buffer);
} else if (ev.data.format === 'iges') {
result = occt.ReadIgesFile (ev.data.buffer);
} else if (ev.data.format === 'brep') {
result = occt.ReadBrepFile (ev.data.buffer);
}
postMessage (result);
};

File diff suppressed because one or more lines are too long

Binary file not shown.

18
package-lock.json generated
View File

@ -1,18 +1,18 @@
{
"name": "online-3d-viewer",
"version": "0.8.16",
"version": "0.8.18",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "online-3d-viewer",
"version": "0.8.16",
"version": "0.8.18",
"license": "MIT",
"dependencies": {
"@simonwep/pickr": "1.8.2",
"draco3d": "1.5.3",
"fflate": "0.7.3",
"occt-import-js": "0.0.10",
"occt-import-js": "0.0.11",
"rhino3dm": "7.15.0",
"three": "0.144.0",
"web-ifc": "0.0.35"
@ -4092,9 +4092,9 @@
}
},
"node_modules/occt-import-js": {
"version": "0.0.10",
"resolved": "https://registry.npmjs.org/occt-import-js/-/occt-import-js-0.0.10.tgz",
"integrity": "sha512-DvFitPZswkOqkkM7YvuIlykHp30e3Da1f83hVdVQ0WegcwNe933RF2/iQ0AnpO/T0SNnfjXSA0d68My8XWIr+Q=="
"version": "0.0.11",
"resolved": "https://registry.npmjs.org/occt-import-js/-/occt-import-js-0.0.11.tgz",
"integrity": "sha512-jiEUn5mdWwVOlWRPrfzzNz8KGOMKWP5ZCSL9/EgeHw5Tc+w+wXk+bEMzBBc5/r0pTNwFIz8rjl+vnBxQvlqPew=="
},
"node_modules/omggif": {
"version": "1.0.10",
@ -8542,9 +8542,9 @@
"dev": true
},
"occt-import-js": {
"version": "0.0.10",
"resolved": "https://registry.npmjs.org/occt-import-js/-/occt-import-js-0.0.10.tgz",
"integrity": "sha512-DvFitPZswkOqkkM7YvuIlykHp30e3Da1f83hVdVQ0WegcwNe933RF2/iQ0AnpO/T0SNnfjXSA0d68My8XWIr+Q=="
"version": "0.0.11",
"resolved": "https://registry.npmjs.org/occt-import-js/-/occt-import-js-0.0.11.tgz",
"integrity": "sha512-jiEUn5mdWwVOlWRPrfzzNz8KGOMKWP5ZCSL9/EgeHw5Tc+w+wXk+bEMzBBc5/r0pTNwFIz8rjl+vnBxQvlqPew=="
},
"omggif": {
"version": "1.0.10",

View File

@ -8,9 +8,9 @@
"module": "./source/engine/main.js",
"repository": "github:kovacsv/Online3DViewer",
"keywords": [
"3d", "viewer",
"obj", "3ds", "stl", "ply", "gltf", "glb", "off", "3dm",
"fbx", "dae", "wrl", "3mf", "ifc", "stp", "igs", "bim"
"3d", "viewer", "cad",
"obj", "3ds", "stl", "ply", "gltf", "glb", "off", "3dm", "fbx",
"dae", "wrl", "3mf", "ifc", "brep", "step", "iges", "bim"
],
"files": [
"build/o3dv.min.js",
@ -56,7 +56,7 @@
"rhino3dm": "7.15.0",
"three": "0.144.0",
"web-ifc": "0.0.35",
"occt-import-js" : "0.0.10"
"occt-import-js" : "0.0.11"
},
"eslintConfig": {
"env": {

View File

@ -16,7 +16,7 @@ export class ImporterOcct extends ImporterBase
CanImportExtension (extension)
{
return extension === 'stp' || extension === 'step' || extension === 'igs' || extension === 'iges';
return extension === 'stp' || extension === 'step' || extension === 'igs' || extension === 'iges' || extension === 'brp' || extension === 'brep';
}
GetUpDirection ()
@ -58,6 +58,8 @@ export class ImporterOcct extends ImporterBase
format = 'step';
} else if (this.extension === 'igs' || this.extension === 'iges') {
format = 'iges';
} else if (this.extension === 'brp' || this.extension === 'brep') {
format = 'brep';
} else {
onFinish ();
return;

View File

@ -182,9 +182,17 @@
<td class="center red">&#x2717</td>
<td><a href="https://github.com/mrdoob/three.js">three.js</a></td>
</tr>
<tr>
<td>BREP</td>
<td>brep</td>
<td>text</td>
<td class="center green">&#x2713</td>
<td class="center red">&#x2717</td>
<td><a href="https://github.com/kovacsv/occt-import-js">occt-import-js</a></td>
</tr>
<tr>
<td>STEP</td>
<td>stp</td>
<td>step</td>
<td>text</td>
<td class="center green">&#x2713</td>
<td class="center red">&#x2717</td>
@ -192,7 +200,7 @@
</tr>
<tr>
<td>IGES</td>
<td>igs</td>
<td>iges</td>
<td>text</td>
<td class="center green">&#x2713</td>
<td class="center red">&#x2717</td>