几何尺寸与公差论坛

 找回密码
 注册
查看: 2542|回复: 0

import annotation (Geometrical tolerance)

[复制链接]
发表于 2008-3-24 09:15:33 | 显示全部楼层 |阅读模式
void CSolidWorksGeom::ImportAnnotation()
{
  if (!CheckIsSWConnected() || !m_pModelDoc)
    return;
  // get the first annotation
  LPDISPATCH dAnnotation = NULL;

  IMODELDOC swModelDoc(m_pModelDoc);
  LPDISPATCH dDocExt = swModelDoc.GetExtension();
  if (dDocExt)
  {
    IMODELDOCEXT swModelDocExt(dDocExt);
    long lgCount = swModelDocExt.GetAnnotationCount();
    m_vParameters = swModelDocExt.GetAnnotations();

    LPDISPATCH dNextAnnotation = NULL;
    LPDISPATCH dGeomTol = NULL;
    for(; dAnnotation;  )
    {  
      IANNOTATION swAnnotation(dAnnotation);
      long lgType = 0;
      lgType = swAnnotation.GetType();
      switch (lgType)
      {
      case swGTol:
        dGeomTol = swAnnotation.GetSpecificAnnotation();
        ImportGeomTol(dGeomTol);
        break;
      default:
        break;
      }
      dNextAnnotation = swAnnotation.GetNext();
      if (swAnnotation)
        swAnnotation.DetachDispatch();
      dAnnotation = dNextAnnotation;
    }
    if (swModelDocExt)
      swModelDocExt.DetachDispatch();  
  }
  if (swModelDoc)
    swModelDoc.DetachDispatch();
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|几何尺寸与公差论坛

GMT+8, 2024-12-23 00:17 , Processed in 0.033600 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表