📄 [arx] 创建acdb3dpolyline示例代码.txt
字号:
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; i<len; i++)
ptArray[i] = m * ptArray[i];
}
// ----- asdktest._test command (do not rename)
static void asdktest_test(void)
{
// Add your code for command asdktest._test here
int i;
AcDbObjectId lineId;
AcDbObjectId ptId;
AcGePoint3d Pt;
AcDb3dPolyline *pLine;
AcDbBlockTable *pBlockTable;
acdbHostApplicationServices()->workingDatabase()->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;i<=10;i++)
{
Pt.x=i;
Pt.y=i;
Pt.z=0.0;
vertices.append(Pt);
}
pLine = new AcDb3dPolyline(AcDb::k3dSimplePoly, vertices);
pLine->setDatabaseDefaults();
pBlockTableRecord->appendAcDbEntity(lineId, pLine);
pBlockTableRecord->close();
pLine->close();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -