还要检查你的函数……我会这样做:
- void someFunction(void)
- {
- ads_name entName;
- ads_point entPt;
- if (acedEntSel("\nselect Entity",entName,entPt)==RTNORM)
- {
- AcDbObjectId entId;
- acdbGetObjectId(entId,entName);
- AcDbEntity* pEnt;
- if (acdbOpenObject(pEnt,entId,AcDb::kForWrite) == Acad::eOk)
- {
- AcGeMatrix3d mform;
- mform.setToRotation(PI/3,AcGeVector3d::kZAxis);
- SHBOHangerA* sa = SHBOHangerA::cast(pEnt);
- if(sa)
- {
- sa->transformBy(mform);
- // why you were adding a new one since you just
- // are selecting an existing one and want to make a rotation to it...
- //addEntity(sa);
- }
- pEnt->close();
- }
- }
- }
|