Autodesk forge 如何获取AutoCAD几何图形的查看器坐标?

Autodesk forge 如何获取AutoCAD几何图形的查看器坐标?,autodesk-forge,autodesk-viewer,Autodesk Forge,Autodesk Viewer,我正在使用二维Autodesk Forge Viewer,正在寻找一种从AutoCAD确定块参照对象的X、Y坐标的方法 我有几何体元素的dbID,和。我可以通过NOP\u VIEWER.getProperties()和NOP\u VIEWER.getDimensions()获得一些信息,但它们都没有X,Y坐标。我记得,位置数据确实不适用于块实体。我将与工程师团队核实是否有任何关于区块原始位置数据的意见。另一种方法是使用AutoCAD的Forge Design Automation自己提取数据,而

我正在使用二维Autodesk Forge Viewer,正在寻找一种从AutoCAD确定块参照对象的X、Y坐标的方法


我有几何体元素的dbID,和。我可以通过
NOP\u VIEWER.getProperties()
NOP\u VIEWER.getDimensions()
获得一些信息,但它们都没有X,Y坐标。

我记得,位置数据确实不适用于块实体。我将与工程师团队核实是否有任何关于区块原始位置数据的意见。另一种方法是使用AutoCAD的Forge Design Automation自己提取数据,而这需要更多的代码

Forge转换源DWG后,图元将转换为基本体。通过API,可以获取图元的几何信息,如直线起点、圆心等。这两个博客详细讲述了:

本质上,它使用回调函数:

  VertexBufferReader.prototype.enumGeomsForObject = function(dbId, callback)
回调对象需要以下可选函数:

•在线段(x0、y0、x1、y1、视口id)

•OnCircularAC(centerX、centerY、startAngle、endAngle、radius、viewport_id)

•onEllipticalArccenterX、centerY、startAngle、endAngle、大、小、倾斜、视口id)

•onTriangleVertex(x、y、视口id)


.

在下面小东的帮助下,我设计了以下解决方案,使用对象的dbId获取对象的X,Y坐标

const geoList=NOP_VIEWER.model.getGeometryList().geoms;
常量读取器=[];
用于(地质列表的常量几何){
如果(几何){
readers.push(新的Autodesk.Viewing.Private.VertexBufferReader(geom,NOP_VIEWER.impl.use2dInstance));
}
}
const findObjectLocation=(objectId)=>{
for(const reader of readers){
让结果;
reader.EnumGeomesFrobject(objectId{
在线段:(x,y)=>{
结果={x,y};
},
});
如果(结果){
返回结果;
}
}
抛出新错误(`无法找到请求的对象');
};

感谢您的帮助,我能够阅读您提供的文章并提出解决方案