ObjectARX_图元镜像MIRROR

发布时间: 访问量:16

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 
		}



 

更多文章