【问题标题】:Forge viewer markups extension prevent multiple types of tools伪造查看器标记扩展可防止多种类型的工具
【发布时间】:2021-02-11 21:33:37
【问题描述】:

我们在编辑模式下以编程方式添加一个圆圈和一些文本,效果很好。我们希望阻止用户向图层添加更多形状,但仍允许他们在画布周围移动圆圈和文本。如果当前图层中已经有一种类型,是否有阻止画布绘制形状的方法?

【问题讨论】:

    标签: autodesk-forge autodesk-viewer


    【解决方案1】:

    不幸的是,没有官方配置选项仅允许选择/移动,并阻止创建其他标记。您必须进行逆向工程并覆盖 MarkupsCore 扩展对象的一些事件处理方法。例如,onMouseDown 方法如下所示:

    proto.onMouseDown = function(event) {
        dismissLmvHudMessage();
        this.callSnapperMouseDown();
        var bounds = this.getBounds();
        var mousePosition = this.getMousePosition();
    
        if (mousePosition.x >= bounds.x && mousePosition.x <= bounds.x + bounds.width && mousePosition.y >= bounds.y && mousePosition.y <= bounds.y + bounds.height) {
            this.editMode.onMouseDown(event);
        }
    
        if (!this.editMode.creating && event.target === this.svg) {
            this.selectMarkup(null);
        }
        this.ignoreNextMouseUp = false;
    };
    

    她,理论上你可以避免将“鼠标按下”事件传递给“编辑模式”,从而防止创建任何新的标记。

    【讨论】:

      猜你喜欢
      • 2011-01-20
      • 2021-09-19
      • 2020-02-03
      • 2021-11-07
      • 2020-06-15
      • 1970-01-01
      • 2018-12-11
      • 1970-01-01
      • 2021-09-29
      相关资源
      最近更新 更多