【问题标题】:How to costumize options and style in Autodesk Forge Viewer Extensions如何在 Autodesk Forge Viewer Extensions 中自定义选项和样式
【发布时间】:2021-04-26 23:55:13
【问题描述】:

我正在使用 Autodesk forge Section Extension,我发现有一些我可以更改的选项和样式。例如,加载扩展时需要一些选项(此代码是 Autodesk.Forge/SectionTool.js):

    export var SectionTool = function(viewer, options)
{
    var _viewer  = viewer.impl;

    var _names = ["section"];
    ...
    var _tintColor = options.tintColor;
    var _tintIntensity = options.tintIntensity;
    ...
    var _gizmoOffsetRight = isNaN(options.gizmoOffsetRight) ? 200 : options.gizmoOffsetRight; 

但是无法更改该值,我尝试在加载扩展时添加一个选项对象:

const options = {tintColor: {r: 0, g: 1, b: 0},gizmoOffsetRight:10}
this.section = await this.viewer.loadExtension('Autodesk.Section',options);

但我不能,我在选项对象末尾所做的任何事情都具有相同的值:{tintColor:r:1,g:1,b:0},而且我不知道它在哪里获取这些值等等。 .

所有这一切都是因为我不喜欢小玩意儿的外观,例如我想把它放在不同的位置。

请帮忙:(

【问题讨论】:

    标签: autodesk-forge forge


    【解决方案1】:

    请注意 Section extension 和 Section tool 之间的区别。您将自定义选项传递给扩展本身,但扩展不会将它们传递给工具。这是扩展的load 方法的样子:

    proto.load = function() {
        var that = this;
        var viewer = this.viewer;
    
        this.tool = new SectionTool(viewer, {
            tintColor: { r: 1, g: 1, b: 0 },
            tintIntensity: 0.2
        });
    
        viewer.toolController.registerTool(this.tool, this.setActive.bind(this));
        this.sectionStyle = null;
        this.supportedStyles = ["X", "Y", "Z", "BOX"];
        // ...
    }
    

    如您所见,工具选项并不意味着可以公开访问。不过,您可以尝试破解它,方法是在加载后覆盖扩展的tool 属性。您可能还需要注销原来的 SectionTool 实例,然后注册新实例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-13
      • 2020-05-15
      • 2017-11-29
      • 2020-05-06
      • 2020-12-07
      • 2018-12-06
      • 2019-07-06
      • 2019-09-03
      相关资源
      最近更新 更多