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 は単一の要素配列になります。

同じ例は、各プロパティの displayName と displayCategory を返す getProperties() にも対応していますが、別の内部名は表示されません。

ここから明らかな何かが欠けているのでしょうか、それとも「名前」を何らかの方法で変換する必要がありますか?

または、誰かがdisplayNameではなく本当の名前をリストする例を持っていますか?

4

1 に答える 1

0

Autodesk.Viewing.Viewer3D.search()メソッドは、テキストパラメータでは大文字と小文字を区別しませんが、 attributeNamesパラメータでは大文字と小文字を区別し、属性の完全な名前を使用する必要があります。

現在 (2016 年 8 月 25 日)、ドキュメントを更新しています。

于 2016-08-25T12:36:57.870 に答える