怎样获取当前选择构件的属性并添加自定义事件

发布于 2022-09-07 03:47:40 字数 383 浏览 35 评论 0

1、怎样获取当前选择的构件或者当前选择的构建集
clipboard.png

2、怎样获取选择构件的属性?
clipboard.png

3、怎样给构件添加属性?
clipboard.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

(り薆情海 2022-09-14 03:47:40
  1. 获取当前选择的构件或者当前选择的构建集
// 直接获取
viewer.getSelection();

//或者监听选择集变更事件
var onSelectionChanged = function( event ) {
    console.log( event.dbIdArray );
};

viewer.addEventListener(
    Autodesk.Viewing.SELECTION_CHANGED_EVENT,
    onSelectionChanged
);

2、获取选择构件的属性

//直接获取属性
var onPropsFeteched = function( result ) {
    console.log( result.properties );
}

var onFetchingPropsFailed = function( error, message ) {
    console.error( error, message );
}

viewer.getProperties(
    dbId,
    onPropsFeteched,
    onFetchingPropsFailed
);

// 从给予的 dbId 里获取所有拥有特定属性的构件
// https://forge.autodesk.com/blog/getbulkproperties-method
viewer.model.getBulkProperties( dbIds, ['属性名称'],
   function( elements ) {
     for(var i=0; i<elements.length; i++){
        console.log( elements[i].properties[0] );
     }
   });

// 通过查找功能
// https://segmentfault.com/a/1190000010977818
viewer.search( 
    "属性值",
    function( dbIds ) {
        console.log( dbIds );
    },
    ["属性名称"]
);

3、添加构件属性
你的标题似乎跟内文不符,我先回答标题的问题,Forge 转换的模型跟属性是不可修改的,所以无法添加;或者通过自订属性窗显示自己的属性 https://segmentfault.com/a/11...

至于内文的添加图标部份,可以参考这些样例:

P.S. 建议可以到查找样例 https://github.com/Autodesk-F...

飘落散花 2022-09-14 03:47:40

请问如何给构件添加图标

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文