1121443108qaz 发表于 2018-8-26 17:52:59

面域转多段线这样写为什么弹出莫名其妙的错误啊

本帖最后由 1121443108qaz 于 2018-8-26 17:54 编辑

出错在一个winmain.cpp上,我看描述是说mfc用的啊,问题是我建的这项目不支持mfc,我也没用到mfc啊。有人遇到这问题吗,求指点
void CRegionUtil::r2p(AcDbRegion* pRegion)
{
      AcDbObjectId entId = pRegion->objectId();
      AcDbFullSubentPath path(entId, AcDbSubentId());
      AcBrBrep brep;
      brep.setSubentPath(path);
      AcDbCurve* pCurve = NULL;
      AcGeCurve3d* pCurve3d=NULL;
      AcBr::ErrorStatus es;
      AcBrBrepEdgeTraverser edgeTr;
      es=edgeTr.setBrep(brep);
      AcBrEdge edge;
      if (es==AcBr ::eOk)
      {
                for (edgeTr.restart(); !edgeTr.done(); edgeTr.next())
                {
                        es = edgeTr.getEdge(edge);
                        if (es == AcBr::eOk)
                        {
                              es = pEdge->getCurve(pCurve3d);
                              if (es == AcBr::eOk)
                              {
                                        acutPrintf(L"\n进入getcurve");
                                        pCurve->setFromAcGeCurve(*pCurve3d);
                                        CDwgDatabaseUtil::postToMOdelSpace(pCurve);
                                        delete pCurve3d;
                              }
                              else
                              {
                                        acutPrintf(L"\n失败在获得曲线上,es is %d", es);
                              }
                        }
                        else
                        {
                              acutPrintf(L"\n失败在获得edge,es is %d", es);
                        }
                }
      }
      else
      {
                acutPrintf(L"\n失败在setbrep上,es is %d", es);
      }
      
}


static void xxxMyGrouptest()
      {
                AcDbObjectId entId = CSSUtil::selectOne(L"\n select ");
                if (entId==AcDbObjectId::kNull)
                {
                        return;
                }
                AcDbRegion* pRegion = NULL;
                if (acdbOpenObject(pRegion,entId,AcDb::kForRead)==Acad ::eOk)
                {
                        CRegionUtil::r2p(pRegion);
                        pRegion->close();
                }
      }


newer 发表于 2018-8-26 18:38:17

应该是项目设置的问题

1121443108qaz 发表于 2018-8-26 21:01:31

newer 发表于 2018-8-26 18:38
应该是项目设置的问题

主要我没写这个函数前没有一点问题的,用了acbr库,就在附加依赖项加了acbr23.lib,其他没了

newer 发表于 2018-8-26 21:08:35

1121443108qaz 发表于 2018-8-26 21:01
主要我没写这个函数前没有一点问题的,用了acbr库,就在附加依赖项加了acbr23.lib,其他没了

那你就试试设置,把工程使用MFC

28952996 发表于 2018-8-28 15:56:35

有可能是项目设置

1030510327 发表于 前天 21:09

不错不错
页: [1]
查看完整版本: 面域转多段线这样写为什么弹出莫名其妙的错误啊