我正在使用2D Autodesk Forge Viewer,并且正在寻找一种从AutoCAD确定块参考对象的X,Y坐标的方法。
我有几何元素的dbID,并且。我可以通过NOP_VIEWER.getProperties()
和获得一些信息NOP_VIEWER.getDimensions()
,但是这些都没有X,Y坐标。
在下面的Xiaodong的帮助下,我能够设计出以下解决方案,以使用其dbId获取对象的X,Y坐标
const geoList = NOP_VIEWER.model.getGeometryList().geoms;
const readers = [];
for (const geom of geoList) {
if (geom) {
readers.push(new Autodesk.Viewing.Private.VertexBufferReader(geom, NOP_VIEWER.impl.use2dInstancing));
}
}
const findObjectLocation = (objectId) => {
for (const reader of readers) {
let result;
reader.enumGeomsForObject(objectId, {
onLineSegment: (x, y) => {
result = { x, y };
},
});
if (result) {
return result;
}
}
throw new Error(`Unable to find requested object`);
};