Создание расширения
С помощью расширений можно дополнять функциональность компонентов работы с BIM-моделями и документами.
Шаг 1. Подключение файла расширения
Расширение должно быть подключено после подключения всех классов ядра компонента PilotWeb3D или PilotWeb2D.
Пример для подключения расширения my-extension.js
:
<script src="https://pilot.ascon.ru/componentkit/components/24.19.0/pilotweb3d/pilotweb3d.min.js"></script>
<script src="my-extension.js"></script>
Шаг 2. Пишем код расширения
Чтобы написать свое расширение для компонентов необходимо:
- Унаследоваться от класса
PilotWeb3D.Extension
илиPilotWeb2D.Extension
. - Зарегистрировать расширение с уникальным именем в системе.
Пример:
class My3DExtension extends PilotWeb3D.Extension {
constructor(viewer) {
super(viewer);
}
getName() {
return 'My3DExtension';
}
load() {
super.load();
alert('My3DExtension is loaded!')
return true;
}
unload() {
super.unload();
alert('My3DExtension is unloaded!')
return true;
}
}
PilotWeb3D.theExtensionManager.registerExtensionType('My3DExtension', My3DExtension);
Шаг 3. Загрузка расширения
Пример загрузки расширения для компонента PilotWeb3D:
let htmlDiv = document.getElementById('pilotViewer')
viewer = PilotWeb3D.CreateViewer(htmlDiv);
await viewer.start();
viewer.extensionsLoader.loadExtension("My3DExtension");
...
await viewer.loadModelPart(...);
Пример загрузки расширения для компонента PilotWeb2D:
let htmlDiv = document.getElementById('pilotViewer')
viewer = PilotWeb2D.CreateViewer(htmlDiv);
await viewer.start();
viewer.extensionsLoader.loadExtension("My2DExtension");
...
await viewer.loadDocument(...);