|
发表于 2004-10-7 19:07:00
|
显示全部楼层
参考:
void getUcsToWcsMatrix(AcGeMatrix3d& m, AcDbDatabase* db)
{
ASSERT(db != NULL);
if (!acdbUcsMatrix(m, db)) {
m.setToIdentity();
ASSERT(0);
}
}
void ucsToWcs(AcGePoint3dArray& ptArray)
{
AcDbDatabase* db = acdbHostApplicationServices()->workingDatabase();
ASSERT(db != NULL);
AcGeMatrix3d m;
getUcsToWcsMatrix(m, db);
int len = ptArray.length();
for (int i=0; iworkingDatabase()->getSymbolTable(pBlockTable, AcDb::kForRead);
AcDbBlockTableRecord *pBlockTableRecord;
pBlockTable->getAt(ACDB_MODEL_SPACE, pBlockTableRecord,AcDb::kForWrite);
pBlockTable->close();
AcGeMatrix3d ucsToWcsMat;
acdbUcsMatrix(ucsToWcsMat);
AcGePoint3dArray vertices;
for(i=1;isetDatabaseDefaults();
pBlockTableRecord->appendAcDbEntity(lineId, pLine);
pBlockTableRecord->close();
pLine->close();
}
|
|