天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 7|回复: 0

EllipseToPline 椭圆转多段线Pline

[复制链接]
  • TA的每日心情
    开心
    昨天 15:23
  • 签到天数: 69 天

    [LV.6]常住居民II

    410

    主题

    167

    回帖

    2704

    积分

    管理员

    积分
    2704
    发表于 2024-6-22 09:46:18 | 显示全部楼层 |阅读模式
    AcDbPolyline* ConvertEllipseToPline(AcDbEllipse* pEllipse)
    {
            if(!pEllipse)
                    return NULL;

            double dParam;
            double dLength;
            double dStep;
            BOOL bClosed=TRUE;
            AcGePoint3d pt3d;
            std::vector<AcGePoint3d> arPt3;
            pEllipse->getEndParam(dParam);
            pEllipse->getDistAtParam(dParam,dLength);

            const unsigned dSegments=100;//divide ellipse into 100 segments
            dStep=(dLength/dSegments)>1?(dLength/dSegments):1;

            if(!pEllipse->isClosed())
                    bClosed=FALSE;

            for(double dDist=0.0;dDist<dLength;dDist=dDist+dStep)
            {
                    pEllipse->getPointAtDist(dDist,pt3d);
                    arPt3.push_back(pt3d);
            }

            pEllipse->getEndPoint(pt3d);
            if(pt3d.distanceTo(arPt3.back())>0.0001)
                    arPt3.push_back(pt3d);

            AcDbPolyline* pPline=new AcDbPolyline();
            for(size_t i=0;i<arPt3.size();i++)
                    pPline->addVertexAt(i,AcGePoint2d(arPt3[i].x,arPt3[i].y));

            pPline->setClosed(bClosed);
            pPline->setPropertiesFrom(pEllipse);

            return pPline;
    }


                    double dParamStart;
                    es = pEllipse->getStartParam(dParamStart);
                    dStep = (dParam - dParamStart) / dSegments;
                    for (double par = dParamStart; par<= dParam; par+=dStep)
                    {
                            es = pEllipse->getPointAtParam(par, pt3d);
                            arPt3.push_back(pt3d);
                    }

     

     

     

     

    EllipseToPline 椭圆转多段线Pline
    中国膜结构网打造全中国最好的膜结构综合平台 ,统一协调膜结构设计,膜结构施工,膜材采购,膜材定制,膜结构预算全方位服务。 中国空间膜结构协会合作单位。
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|中国膜结构网|中国膜结构协会|进口膜材|国产膜材|ETFE|PVDF|PTFE|设计|施工|安装|车棚|看台|污水池|

    GMT+8, 2024-7-1 05:52 , Processed in 0.057533 second(s), 22 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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