天气与日历 切换到窄版

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

objectarx之获得LWPolyLine节点坐标

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

    [LV.6]常住居民II

    410

    主题

    167

    回帖

    2704

    积分

    管理员

    积分
    2704
    发表于 2024-6-22 09:46:18 | 显示全部楼层 |阅读模式
        objectarx之获得LWPolyLine节点坐标

    static AcGePoint2dArray ToLWPolyLine(AcDbObjectId &pCurverId, double segs)
        {
            AcGePoint2dArray pts;   
            AcDbEntity *pEnt = NULL;
            Acad::ErrorStatus es = acdbOpenAcDbEntity(pEnt, pCurverId, AcDb::kForRead);

            if (pEnt->isKindOf(AcDbPolyline::desc()))
            {
                AcDbPolyline *pPolyLine = AcDbPolyline::cast(pEnt);
                int plineNum;
                AcGePoint2d pt;
                for(size_t j = 0; j < pPolyLine->numVerts(); j++)
                {
                    pPolyLine->getPointAt(j, pt);
                    pts.append(pt);
                }
                pPolyLine->close();
            }
            else
            {
                AcDbCurve *pCurve = AcDbCurve::cast(pEnt);
                double dEndParam;
                pCurve->getEndParam(dEndParam);
                double dDist;
                pCurve->getDistAtParam(dEndParam, dDist);
                int iIntdex = (int)(dDist / segs) + 1;
                for (int i = 0; i < iIntdex; i++)
                {
                    double len = i * segs;
                    AcGePoint3d pt;
                    pCurve->getPointAtDist(len, pt);
                    pt = UcsToWcsPoint(pt);
                    pts.append(AcGePoint2d(pt.x, pt.y));
                }
                if (pCurve->isClosed())
                {
                    AcGePoint3d startPt;
                    pCurve->getStartPoint(startPt);
                    pts.append(AcGePoint2d(startPt.x, startPt.y));
                }
                else
                {
                    AcGePoint3d endPt;
                    pCurve->getEndPoint(endPt);
                    pts.append(AcGePoint2d(endPt.x, endPt.y));
                }
            }
            pEnt->close();
            return pts;
        }

     

     

     

     

    objectarx之获得LWPolyLine节点坐标
    中国膜结构网打造全中国最好的膜结构综合平台 ,统一协调膜结构设计,膜结构施工,膜材采购,膜材定制,膜结构预算全方位服务。 中国空间膜结构协会合作单位。
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

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

    GMT+8, 2024-7-1 05:24 , Processed in 0.060328 second(s), 23 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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