用.Net开发Cad

Cad二次开发

 

用acdbGetAdsName获得图元名,用acedSSAdd加入到选择集,用acedSSSetFirst亮显并选择

static void mydraw_ddd(void)
{
        // Add your code for command mydraw._ddd here
        ads_point pt1,pt2;
        if( acedGetPoint(NULL,_T("\nPlease Enter start point: "),pt1) != RTNORM
                || acedGetPoint(pt1,_T("\nPlease Enter end point: "),pt2)!= RTNORM)
                return;
        AcGePoint3d p1,p2;
        p1 = asPnt3d(pt1);
        p2 = asPnt3d(pt2);

        //创建一条直线并返回其ID
        AcDbObjectId lineId = CreateLine(p1,p2);
        //获得其图元名
        ads_name ent;
        acdbGetAdsName(ent,lineId);
        //加入到一个空的选择集
        ads_name sel;
        acedSSAdd(ent,NULL,sel);

        //创建一个圆,并得到其ID
        AcDbObjectId CircleId = CreateCircle(p1,p2);
        //获得其图元名,并加入到先前的选择集
        acdbGetAdsName(ent,CircleId);
        acedSSAdd(ent,sel,sel);

        //亮显
        acedSSSetFirst(sel,sel);
        return;
}

posted on 2011-09-14 09:30  xuguangren  阅读(768)  评论(0编辑  收藏  举报

导航