static void msddMyGroupMyCommand () {
ads_name ent;
ads_point pt;
AcDbObjectId id0;
acedEntSel(_T("\nSelect Object"), ent, pt);
acdbGetObjectId(id0, ent);
AcGePoint3d startPoint;
AcGeVector3d XDir, YDir, ZDir;
startPoint.set(1000, 1000, 0);
XDir.set(0.7071 , 0.4082 , -0.5774 );
YDir.set(-0.7071 , 0.4082 , -0.5774 );
ZDir.set(0, 0.8165, 0.5774 );
AcGeMatrix3d xform;
xform.setCoordSystem(startPoint, XDir,YDir,ZDir);
AcDbEntity *pEnt;
Acad::ErrorStatus es = acdbOpenObject(pEnt, id0, AcDb::kForWrite,false);
pEnt->transformBy(xform);
pEnt->close();
}