You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Forge 2D viewer圆弧测量无法捕捉DWG文件圆弧端点问题咨询

Forge 2D Viewer DWG格式圆弧端点测量捕捉失效修复方案

问题表现

使用Forge 2D Viewer进行圆弧测量操作时,加载DWG格式转换后的二维图纸,测量捕捉功能无法吸附到圆弧端点位置,无法完成精准测量。

问题原因

Forge Viewer内置测量工具默认的捕捉规则未将2D圆弧端点纳入高优先级捕捉范围,DWG转换输出的f2d格式文件中,圆弧端点的几何标识默认被归类为边几何附属信息,测量工具的命中检测逻辑默认跳过该类端点,仅识别圆弧边、圆心位置的捕捉点。

修复代码

在Viewer初始化、几何加载完成后注入以下配置,手动开启圆弧端点捕捉并调整命中优先级:

viewer.addEventListener(Autodesk.Viewing.GEOMETRY_LOADED_EVENT, () => {
  const measureExt = viewer.getExtension('Autodesk.Measure');
  if (!measureExt) return;
  const measureTool = measureExt.measureTool;
  
  // 注册端点捕捉类型
  if (!measureTool.snapTypes.includes(Autodesk.Viewing.MeasureCommon.SnapType.SNAP_ENDPOINT)) {
    measureTool.snapTypes.push(Autodesk.Viewing.MeasureCommon.SnapType.SNAP_ENDPOINT);
  }

  // 调整圆弧端点捕捉优先级
  measureTool.addSnapCandidateFilter(candidate => {
    if (candidate.geomType === Autodesk.Viewing.MeasureCommon.GeomType.ARC) {
      if (candidate.snapType === Autodesk.Viewing.MeasureCommon.SnapType.SNAP_ENDPOINT) {
        candidate.priority = 10; // 优先级高于默认圆弧边捕捉的5
      }
    }
    return true;
  });
});

适配说明

  • 若使用v6及更早版本Viewer,需将代码中Autodesk.Viewing.MeasureCommon替换为Autodesk.Viewing.MeasurementCommon
  • 若圆弧位于嵌套块或外部参照内,需在DWG格式转换时传入generateMasterViews: true参数,保证块内几何端点数据被正确导出
  • 椭圆弧、样条拟合类非标圆弧无法通过上述配置实现端点捕捉,需自行解析几何属性手动添加捕捉点

现象参考

内圆弧捕捉状态
圆弧端点无捕捉效果

原问题配套测试文件可通过Stack Exchange原提问渠道获取


内容的提问来源于stack exchange,提问作者Ján Slivka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 07:06:24