-
Notifications
You must be signed in to change notification settings - Fork 313
Closed
Description
See the tutorial for more information.
Usage
import {Viewer, XKTLoaderPlugin} from "../dist/xeokit-sdk.min.es.js";
const viewer = new Viewer({
canvasId: "myCanvas"
});
const xktLoader = new XKTLoaderPlugin(viewer);
const model = xktLoader.load({
id: "myModel",
src: "rac_sample_project.ifc.xkt"
});
model.on("loaded", ()=> {
const metaModel = viewer.metaScene.metaModels["myModel"];
console.log(metaModel.id); // "myModel"
console.log(metaModel.projectId); // 131073
console.log(metaModel.revisionId); // 65539
console.log(metaModel.author); // "Autodesk"
console.log(metaModel.createdAt); // eg. "24 August, 2021"
console.log(metaModel.creatingApplication); // eg. "Revit"
console.log(metaModel.schema); // eg. "IFC4"
console.log(metaModel.propertySets); // [..]
console.log(metaModel.rootMetaObject}; // MetaObject
const stairWayMetaObject = metaModel.metaObjects["09H8bZdNrFqAgGbw11nlyy"];
console.log(stairWayMetaObject.id); // "09H8bZdNrFqAgGbw11nlyy"
console.log(stairWayMetaObject.name); // "Escalera:150mm max riser 300mm tread"
console.log(stairWayMetaObject.type); // "IfcStair"
// Get the IDs of the objects that comprise our stairway
const stairwayObjectIds = stairWayMetaObject.getObjectIDsInSubtree();
// Make all objects X-rayed, then undo X-ray on our stairway
viewer.scene.setObjectsXRayed(viewer.scene.objectIds, true);
viewer.scene.setObjectsXRayed(stairwayObjectIds, false);
// Hide all objects, then show our stairway
viewer.scene.setObjectsVisible(viewer.scene.objectIds, false);
viewer.scene.setObjectsVisible(stairwayObjectIds, true);
const railingMetaObject = metaModel.metaObjects["0LUOqC48DCsBp1FbwV8J5Y"];
console.log(railingMetaObject.id); // "0LUOqC48DCsBp1FbwV8J5Y"
console.log(railingMetaObject.name); // "Barandilla:900mm Pipe:173061"
console.log(railingMetaObject.type); // "IfcRailing"
console.log(railingMetaObject.parent); // "09H8bZdNrFqAgGbw11nlyy"
const propertySet0 = railingMetaObject.propertySets[0];
console.log(propertySet0.name); // "Pset_QuantityTakeOff"
console.log(propertySet0.id); // "1ZmUBg2f17Gxz3xZ52e7U9"
const property0 = propertySet0.properties[0];
console.log(property0.name); // "Handrail"
console.log(property0.id); // "Gxz3xZ52e7U91ZmUBg2f17"
console.log(property0.type); // 2
console.log(property0.value); // "900mm Pipe"
console.log(property0.valueType); // 4
});
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request