|
小弟最近想编写程序完成以下功能:创建一个点,并设置好捕捉方式,为以后的选取做好准备,但就是行不通,望哪位大虾有空指点一下。
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();
} |
|