2016-08-22 5 views
1

これに続いてSearch demoを展開し、指定された属性名のみを検索するように拡張しようとしています。ビューアーモデルを属性名で検索する

属性名なしで動作し、一致するIDの配列を返します。しかし、属性名に何かを指定すると、空の配列が返されます。私は、属性名のためにいくつかの魔法が必要であると推測しています。

ので、現在私が持っている:

searchPropertiesは、ユーザ入力、例えば「名前」で、searchPropListは、単一の要素の配列となり
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); 
    } 
} 

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

明らかなものがありません。from here、または何らかの形で「名前」を変換する必要がありますか。

または、displayNameではなく実際の名前をリストする例がありますか?

+0

私はこれを調べていますが、 'attributeNames'パラメータで大文字と小文字が区別されているようです。 –

+0

検索がsearchProperties = 'name'で機能するので、私はまだカスタムプロパティを取得できません。 属性名のない「いいえ」、「いいえ」、または「いいえ」を検索すると、多くのIDが取得され、プロパティパネルで「非表示」と「必須」が強調表示されます。 属性として「非表示」、「非表示」、「必須」または「必須」をそれぞれ追加すると、空のまま返されます。 –

+0

"name"が動作し、 "Name"プロパティが表示されないのに、displayNameプロパティが "Name"である場合、内部 "name"は "Name"として報告されますか? –

答えて

0

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

ドキュメントを更新中です(2016年8月25日)。

+0

[getProperties](https://developer.autodesk.com/jp/docs/viewer/v2/reference/javascript/model/#getproperties-dbid-onsuccesscallback-onerrorcallback)からプロパティの完全な名前を取得する例がありますか? ) または類似? また、完全な名前が返されたdisplayNameと一致する必要がありますか? –

+0

申し訳ありませんが、私はこれを逃しました:viewer.getProperties()は現在displayNameを返しています。 displayNameが存在しない場合、属性名が返されます。 –

関連する問題