Я так понимаю, что в методе subMoveGripPointsAt нужно анализировать полученную точку
AcGePoint3d newPos = m_Pos + offset;
и если новые координаты не устраивают условию, то возвращать false.
Тогда курсор будет двигаться дальше, а ручка нет. Тогда все просто.
Я почему то думал, что нужно будет ещё и ограничивать движение самого курсора, с этим думаю
было бы сложнее.