OooCcc 发表于 2023-5-10 15:38:32

ObjectARX如何在当前UCS中获取正确的坐标点用于创建对象

ObjectARX如何在当前UCS中获取正确的坐标点用于创建对象


我们在创建对象时,如果在重新定义过的坐标系(UCS)中创建时,如果不进行坐标系的转换,则会在意想不到的地方创建对象。
如下代码可以将当前坐标系定义的2D点转换为世界坐标系(WCS)的2D点,用于直接创建对象。
static void ReSetPoint2WCS(AcGePoint2d &pt){   
    ads_point ptIn, ptOut;
    SetAdsPt(ptIn, pt);
    acdbUcs2Wcs(ptIn, ptOut, false);
    AdsPt2AcGePt2d(pt, ptOut);
}
static void AdsPt2AcGePt2d(AcGePoint2d& pt, const ads_point& ap) {
    pt.x = ap;
    pt.y = ap;
}
static void SetAdsPt(ads_point& ap, const AcGePoint2d& pt) {
    ap = pt.x;
    ap = pt.y;
    ap = 0.0;
}

页: [1]
查看完整版本: ObjectARX如何在当前UCS中获取正确的坐标点用于创建对象