Esempio n. 1
0
void Additional_Class::Change_Line( AcDbObjectId LineID, AcGeVector3d deltaVec )
{
	AcDbEntity *pEnt_Temp;
	if (acdbOpenAcDbEntity(pEnt_Temp, LineID, AcDb::kForWrite)!= Acad::eOk)
	{
		acutPrintf(_T("\nOPEN ENTITY ERROR"));
		return;
	}
	if (!pEnt_Temp->isKindOf(AcDbLine::desc()))
	{
		acutPrintf(_T("\nENTITY IS NOT LINE"));
		return;
	}
	AcDbLine *pLineChange;
	pLineChange = AcDbLine::cast(pEnt_Temp);
	AcGePoint3d ptLineS, ptLineE;
	Acad::ErrorStatus es = pLineChange->getStartPoint(ptLineS);
	es = pLineChange->getStartPoint(ptLineE);
	pLineChange->setStartPoint(ptLineS+deltaVec);
	pLineChange->setEndPoint(ptLineE + deltaVec);
	pEnt_Temp->close();
	pLineChange->close();
	return;
}