1

我关注了这个Search demo,并试图将其扩展为仅搜索指定的属性名称。

它在没有属性名称的情况下工作,并返回一个匹配的 id 数组。但是,如果我为属性名称提供任何内容,则搜索将返回一个空数组。我猜我需要一些神奇的属性名称格式。

所以目前我有:

function search() {
    var txtArea = document.getElementById("TextAreaResult");
    var searchStr = document.getElementById("SearchString").value;
    var searchProperties = document.getElementById("SearchProperties").value;

    if (searchStr.length == 0) {
        txtArea.value = "no search string.";
        return;
    }

    var viewer = viewerApp.getCurrentViewer();
    viewer.clearSelection();

    if (searchProperties.length == 0)
        viewer.search(searchStr, searchCallback, searchErrorCallback);
    else {
        var searchPropList = searchProperties.split(',');
        viewer.search(searchStr, searchCallback, searchErrorCallback, searchPropList);
    }
}

其中searchProperties 是用户输入,例如“姓名”,而searchPropList 成为单元素数组。

同一个示例还包括 getProperties(),它为每个属性返回 displayName 和 displayCategory,但我没有看到单独的内部名称。

我是否遗漏了一些明显东西,或者我需要以某种方式转换“名称”。

或者有人有一个例子可以列出真实姓名而不是 displayName?

4

1 回答 1

0

Autodesk.Viewing.Viewer3D.search()方法在text参数上不区分大小写,但在attributeNames参数上区分大小写,您需要使用属性的全名。

我们现在(2016 年 8 月 25 日)正在更新文档。

于 2016-08-25T12:36:57.870 回答