如何通过API检索ACC创建的DWG Issue位置并创建DWG Issue
关于ACC Docs中DWG文件Issue的两个问题解答
问题1:检索ACC Docs创建的DWG文件Issue位置,返回的issue.linkedDocuments[0].details.position为空
DWG文件的Issue位置信息并不存储在通用的position字段中,ACC针对DWG格式有专门的位置存储结构:
- 查看
issue.linkedDocuments[0].details下的dwgPosition字段,该字段包含图纸坐标系下的x、y坐标,以及scale(缩放比例)、rotation(旋转角度)等关键信息 - 同时可能存在
viewport字段,记录Issue所在的视口参数,用于在图纸中定位
直接解析dwgPosition中的坐标值,结合viewer的图纸坐标转换逻辑,即可在自有应用中渲染Issue位置。
问题2:创建DWG文件Issue时,传入viewer模型box位置成功但ACC Docs不显示
原因
你传入的viewer.model.myData中的box是模型的三维包围盒信息,不符合ACC Docs对DWG Issue位置的格式要求。ACC Docs要求DWG Issue的位置必须基于图纸二维坐标系的精确坐标,而非模型的三维包围盒。
解决方案
- 获取当前viewer中DWG图纸的二维坐标:
- 使用
viewer.getScreenPoint将屏幕点击点转换为图纸坐标,或者通过viewer.model.getData().modelData获取图纸的坐标系参数
- 使用
- 构造符合ACC要求的Issue位置结构:
在linkedDocuments[0].details中添加dwgPosition字段,示例结构如下:"details": { "dwgPosition": { "x": 123.45, "y": 678.90, "scale": 1.0, "rotation": 0 }, "viewport": { "centerX": 123.45, "centerY": 678.90, "height": 100, "width": 100, "scale": 1.0 } } - 确保创建Issue的API请求中,
position字段(如果需要)也匹配DWG的二维坐标格式,而非三维包围盒数据
按此结构创建的Issue即可在ACC Docs中正常显示。
内容的提问来源于stack exchange,提问作者Gustavo da Costa e Silva
相关产品推荐
相关产品推荐

