ObjectARX, AutoCAD. Среда программирования библиотеки C++


AcDbDatabase:: wblockCloneObjects () Функция


WblockCloneObjects () функция - элемент AcDbDatase. Это будет глубоко имитировать объекты от одной базы данных до другой и следовать за жесткими ссылками{*справочниками*} так, чтобы все зависимые объекты также имитировались. Поведение отчетов{*записей*} таблицы идентификаторов, когда дубликаты найдены, определено параметром типа. Следующая диаграмма показывает отношениям между типом таблицы идентификаторов (перечисление DuplicateRecordCloning) и глубокий тип аналога (перечисление DeepCloneType).

Отношения между DeepCloneTypes и DuplicateRecordCloning для Различные команды и функции

 

Command or API Function

DeepCloneType

DuplicateRecordCloning

COPY

kDcCopy

kDrcNotApplicable

EXPLODE

kDcExplode

kDrcNotApplicable

BLOCK

kDcBlock

kDrcNotApplicable

INSERT/BIND

kDcXrefInsert

kDrcIgnore

XRESOLVE

kDcSymTableMerge

kDrcXrefMangleName

INSERT

kDcInsert

kDrcIgnore

insert()

kDcInsertCopy

kDrcIgnore

WBLOCK

kDcWblock

kDrcNotApplicable

deepCloneObjects()

kDcObjects

kDrcNotApplicable

wblockObjects()

kDcObjects

kDrcIgnore

wblockObjects()

kDcObjects

kDrcReplace

wblockObjects()

kDcObjects

kDrcMangleName

wblockObjects()

kDcObjects

kDrcUnmangleName

 

Пример

длинной транзакции

Эти простые показы примера, как проверять объекты от другой базы данных, измените их в текущей базе данных, и затем проверьте{*отметьте*} их назад в к первоначальной базе данных. Запросы, которые являются частью длинного операционного процесса,  обозначены в полужирной печати.

 

void

refEditApiExample()

{

AcDbObjectId transId;

AcDbDatabase* pDb;

char *fname;

struct resbuf *rb;

// Get a dwg file from the user.

//

rb = acutNewRb(RTSTR);

acedGetFileD("Pick a drawing", NULL, "dwg", 0, rb);

fname = (char*)acad_malloc(strlen(rb->resval.rstring) + 1);

strcpy(fname, rb->resval.rstring);

acutRelRb(rb);

// Open the dwg file.




Начало  Назад  Вперед



Книжный магазин