Сообщество программистов Autodesk в СНГ

ADN Club => ObjectARX => Тема начата: Kruvcraft от 06-09-2023, 13:43:20

Название: Копирование объектов в новый черчеж
Отправлено: Kruvcraft от 06-09-2023, 13:43:20
Здраствуйте, интересует такой вопрос.
Я копирую не все объекты с помощью wblock. Этот метод, в свою очередь копирует не все слои.
Можно как-то скопировать их отдельно, или заставить это делать wblock ?
используется ObjectArx и AutoCad 2022.
Название: Re: Копирование объектов в новый черчеж
Отправлено: Александр Ривилис от 06-09-2023, 16:12:32
Kruvcraft,
Не пробовал AcDbDatabase::wblockCloneObjects ?
Название: Re: Копирование объектов в новый черчеж
Отправлено: Kruvcraft от 07-09-2023, 08:46:26
Получается для копирования именно слоёв (Не объектов внутри слоя), мне надо указать AcDbLayerTable, в качестве owner
Название: Re: Копирование объектов в новый черчеж
Отправлено: Александр Ривилис от 07-09-2023, 20:02:13
Получается для копирования именно слоёв (Не объектов внутри слоя), мне надо указать AcDbLayerTable, в качестве owner
Точнее AcDbObjectId для AcDbLayerTable.
Название: Re: Копирование объектов в новый черчеж
Отправлено: Kruvcraft от 08-09-2023, 08:21:13
Да, я изучил документацию данного метода.
Я сделал копирование слоёв попробовал его, и все вышло.
Отдал приложение на тестирование и мне сказали, что все равно не все слои копируются в новый чертеж. Мне интресно есть какие-то условия, при котором этот метод может не сработать.
Я бегу по AcDbLayerTable, с помощью итераторов, по идее я должен через неё получить все слои, но на тестировании что-то пошло не так.
Название: Re: Копирование объектов в новый черчеж
Отправлено: Александр Ривилис от 08-09-2023, 13:43:46
Мне интресно есть какие-то условия, при котором этот метод может не сработать.
Например, если в исходном чертеже слой открыт для записи. Или в чертеже, в который копируешь, есть уже слой с таким именем. Ну и возможны нюансы, если слой их чертежа внешней ссылки. Проще всего будет тебе отладить программу на чертежах тех, которым передаешь программу.