ObjectARX_图元镜像MIRROR
static void msddMyGroupMyCommand1 (){ ads_name ss; CStringArray mmm1; resbuf *rbList = acutBuildList(RTDXF0, _T("INSERT"), RTNONE); acutPrintf(_T(" Please select the mirrored blocks: ")); if (RTNORM != acedSSGet(NULL, NULL, NULL, NULL, ss)) { acutRelRb(rbList); acutPrintf(_T(" No valid object selected!")); return; } acutRelRb(rbList); AcGePoint3d ptmir1,ptmir2; ads_point pt; if (acedGetPoint(NULL, _T(" Specify mirror point1:"), pt) != RTNORM) { return; } ptmir1 = asPnt3d(pt); if (acedGetPoint(pt, _T(" Specify mirror point2:"), pt) != RTNORM) { return; } ptmir2 = asPnt3d(pt); CommandMirror( ss, ptmir1 , ptmir2); acedSSFree(ss); } static void CommandMirror(ads_name ss,AcGePoint3d pt1 ,AcGePoint3d pt2){#if _MSC_VER >= 1700 acedCommandS(RTSTR, _T("MIRROR"), RTPICKS, ss, RTSTR, _T(""), RTPOINT, pt1, RTPOINT, pt2, RTSTR, _T("N"), // 此代表是否保留镜像之前实体 RTSTR, _T(""), RTNONE);#else acedCommand(RTSTR, _T("MIRROR"), RTPICKS, ss, RTSTR, _T(""), RTPOINT, pt1, RTPOINT, pt2, RTSTR, _T("N"), // 此代表是否保留镜像之前实体 RTSTR, _T(""), RTNONE); #endif }