Forge Viewer开启点、线、面捕捉以及轴网捕捉
// 加载Snapping组件
viewer.loadExtension('Autodesk.Snapping');
// 获取Snapping
let snapper = new Autodesk.Viewing.Extensions.Snapping.Snapper(viewer.viewer, {renderSnappedTopology: true });
viewer.toolController.registerTool(snapper);
// 激活Snapping
viewer.toolController.activateTool(snapper.getName());
// 使得移动鼠标时刷新Snapping
viewer.container.addEventListener('mousemove', (event) => {
snapper.indicator.render();
});
// 获取鼠标点击时的位置
snapper.addDocumentEventListener('mouseup', (event) => {
// 点击时的位置
console.log('mouseup', event);
// 转换成点击时的世界坐标,只有点中构件时生效
console.log('worldPosition', viewer.clientToWorld(event.offsetX, event.offsetY, false).intersectPoint);
});
移除
snapper.indicator.clearOverlays();
snapper.clearSnapped();
viewer.toolController.deactivateTool(snapper.getName());