天气与日历 切换到窄版

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

objectarx之两条曲线最短距离

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

    [LV.6]常住居民II

    410

    主题

    167

    回帖

    2704

    积分

    管理员

    积分
    2704
    发表于 2024-6-22 09:46:18 | 显示全部楼层 |阅读模式
    double CCommonFuntion::GetLineDistance(AcDbObjectId& Line1, AcDbObjectId& Line2)
    {
    AcGeLineSeg2d geLine1 = GetGeLineObj(Line1);
    AcGeLineSeg2d geLine2 = GetGeLineObj(Line2);

    //计算并输出两者之间的最短距离
    double distance = geLine1.distanceTo(geLine2);
    return distance;
    }

    //根据输入的实体ID获得相同参数的AcGeLineSeg2d对象
    AcGeLineSeg2d CCommonFuntion::GetGeLineObj(AcDbObjectId lineId)
    {
    AcGeLineSeg2d geLine; //AcGeLineSeg2d:在二维空间中表示一个有界的线段。
    AcDbLine *pLine = NULL;
    if (acdbOpenObject(pLine, lineId, AcDb::kForRead) == Acad::eOk)
    //指针pLine指向打开的对象lineId
    {
    geLine.set(ToPoint2d(pLine->startPoint()),
    ToPoint2d(pLine->endPoint()));
    pLine->close();
    }
    return geLine;
    }

    // 二维点和三维点之间的转换
    AcGePoint2d CCommonFuntion::ToPoint2d(const AcGePoint3d &point3d)
    {
    return AcGePoint2d(point3d.x, point3d.y);
    }

     

     

     

     

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

    本版积分规则

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

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

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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