通过 dbId 放置自定义标记而不在查看器上显示标记
Posted
技术标签:
【中文标题】通过 dbId 放置自定义标记而不在查看器上显示标记【英文标题】:Placing custom markup by dbId not showing the markups on viewer 【发布时间】:2021-10-30 23:17:34 【问题描述】:所以我想复制this 教程。我得到了与 IconMarkupExtension.js 完全相同的代码。但是我没有在查看器上看到标记,但是自定义扩展被添加到带有图标的工具栏。我想知道这是否与我正在使用的模型有关,但不确定。
我的查看者代码
if (viewer != null)
var thisviewer= viewer;
if (thisviewer)
thisviewer.tearDown();
thisviewer.finish();
thisviewer= null;
$("#forgeViewer").empty();
var options =
env: 'AutodeskProduction',
api: 'derivativeV2',
getAccessToken: function(onTokenReady)
var token = accessToken;
var timeInSeconds = 3600;
onTokenReady(token, timeInSeconds);
;
var documentId = "urn:" + urn;
Autodesk.Viewing.Initializer(options, function()
var htmlDiv = document.getElementById('forgeViewer');
viewer = new Autodesk.Viewing.GuiViewer3D(htmlDiv);
var startedCode = viewer.start();
if (startedCode > 0)
console.error('Failed to create a Viewer: WebGL not supported.');
return;
Autodesk.Viewing.Document.load(documentId, onDocumentLoadSuccess, onDocumentLoadFailure);
);
扩展加载
viewer.loadExtension('IconMarkupExtension',
button:
icon: 'fa-thermometer-half',
tooltip: 'Show The Temperature'
,
icons: [
dbId: 69, label: '300°C', css: 'temperatureHigh fas fa-thermometer-full',
dbId: 70, label: '300°C', css: 'temperatureHigh fas fa-thermometer-full',
dbId: 71, label: '300°C', css: 'temperatureHigh fas fa-thermometer-full'
],
onClick: (id) =>
console.log(' ======================= IconMarkupExtension onClick id: ' + id);
viewer.select(id);
viewer.utilities.fitToView();
switch (id)
case 69:
alert('Sensor offline');
)
这是我正在使用的the 模型。
我正在使用查看器版本 V7*
谢谢
编辑:
我设法获得了图标,但所有图标都居中显示。正如你在下面看到的
即使我选择了一个特定的对象也是一样的。
标签和值根据我添加的模型 ID 正确显示。
这和我的模型有关吗?
【问题讨论】:
控制台有消息吗?您还可以检查当前 dbIds 的可用性(viewer.isolate() 方法可以提供帮助) 嗨@JoãoMartins,控制台上没有消息。是的,我在隔离/选择之前打印了 dbid,以便 ID 可用。 你有没有为 fontawesome 添加脚本来加载 fa fa ?? 嗨@RonakShethia,是的,我已经包含了脚本,也尝试了本地和公共 css @JoãoMartins 对这种情况有什么想法吗?或者你可以推荐其他人检查吗?谢谢 【参考方案1】:Here你可以找到一个实现这个扩展的示例。
请注意,要使其正常工作,您需要添加extension、styles、引用css 和js、add it to viewer,并确保指定的dbids 存在于您的模型中。 Here 是样本来源
【讨论】:
嗨@JoãoMartins,谢谢你,我设法让它工作了。问题是我没有为标签添加 css 。非常感谢干杯 嗨@JoãoMartins,我已经编辑了我原来的问题 别介意我的编辑@JoãoMartins,它与我正在使用的模型有关。你的答案非常好。非常感谢 很高兴它有帮助! :)以上是关于通过 dbId 放置自定义标记而不在查看器上显示标记的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Autodesk Forge Viewer 中通过对象的 dbid 设置对象的自定义属性?
Forge Viewer - 标记 - 我们可以获得当前选择的 xy 坐标吗?