admin 发表于 2024-9-25 13:29:37

如何拷贝将一个AcDbDatabase拷贝到另一张dwg里面


Acad::ErrorStatus insert(
    const AcGeMatrix3d& xform,
    AcDbDatabase* pDb,
    bool preserveSourceDatabase = true
);
Parameters
ParametersDescription
const AcGeMatrix3d& xformInput transformation matrix applied to all objects being inserted
AcDbDatabase* pDbInput pointer to database to insert from
bool preserveSourceDatabase = trueInput to determine whether the source database pDb will be left intact

Description
Inserts the Model Space of the database pointed to by pDb into the Model Space of the database invoking the insert() function. All objects being inserted have the xform matrix passed into their transformBy() function during the insertion process.

The preserveSourceDatabase argument determines whether the source database pDb is left intact or not. The default value of the argument is true. In that case, objects from the source database are copied to the destination database and the source database is not changed. If the caller passes false for this argument, objects from the source database could be physically moved into the destination database. The latter runs faster, but it leaves the source database dependent on the destination database. The caller should make sure that the source database is deleted either immediately or at least before the destination database is deleted.

When preserveSourceDatabase is false, the deep clone context will be AcDb::kInsert during the cloning that occurs during AcDbDatabase::insert(). When preserveSourceDatabase is true, the deep clone context will be AcDb::kInsertCopy during the cloning that occurs during AcDbDatabase::insert().

Returns Acad::eOk if operation is successful.
代码如下:
          将pFromDataSrc拷贝到pToDataDes;
         AcDbDatabase *pFromDataSrc;
          AcDbDatabase *pToDataDes;
        pToDataDes->insert(AcGeMatrix3d::kIdentity,pFromDataSrc);
页: [1]
查看完整版本: 如何拷贝将一个AcDbDatabase拷贝到另一张dwg里面