小弟最近想编写程序完成以下功能:创建一个点,并设置好捕捉方式,为以后的选取做好准备,但就是行不通,望哪位大虾有空指点一下。
void ARXgetosnappoints() { AcDbPoint *p1 = new AcDbPoint(AcGePoint3d(0.0, 0.0, 0.0));
AcDbBlockTable *pBlockTable; acdbHostApplicationServices()->workingDatabase() ->getSymbolTable(pBlockTable, AcDb::kForRead); AcDbBlockTableRecord *pBlockTableRecord; pBlockTable->getAt(ACDB_MODEL_SPACE, pBlockTableRecord, AcDb::kForWrite); pBlockTable->close();
pBlockTableRecord->appendAcDbEntity(p1); pBlockTableRecord->close();
int gsSelectionMark; AcGePoint3d pickPoint; AcGePoint3d lastPoint; AcGeMatrix3d viewXform; AcGePoint3dArray snapPoints; AcDbIntArray geomIds; p1->getOsnapPoints( AcDb::kOsModeNear, gsSelectionMark, pickPoint, lastPoint, viewXform, snapPoints, geomIds);
ads_point result; acedGetPoint(NULL, "请选择一个点:", result);
p1->close(); } |