Семейство AutoCAD – Русский – только для чтения
Делитесь знаниями, задавайте вопросы, читайте самые популярные темы по AutoCAD.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Есть ли функция одновременного обновления блоков в пределах модели?

7 REPLIES 7
SOLVED
Reply
Message 1 of 8
Vladislav_Valerievich
927 Views, 7 Replies

Есть ли функция одновременного обновления блоков в пределах модели?

Добрый день!

Собственно вопрос задан в теме.

Добавлю, что пользуюсь операцией "Вставка"-"Блок". Если выбрать блок, который уже определён в пространстве модели, то выйдет запрос на переопределение блока. Есть ли такая возможность применительно к нескольким блокам с разными именами?

Если такой функции в базовом Автокаде нет - то, возможно, кто-то уже реализовал данную функцию в своём макросе или в отдельном ПО?

Знаю, что есть в AutoCAD Electrical, но интересует применение касательно базового AutoCAD.

7 REPLIES 7
Message 2 of 8

Привет.
Насколько я знаю, такой возможности нет. Но ребята подправят, может программными методами можно.

Находите сообщения полезными? Поставьте "НРАВИТСЯ" этим сообщениям! | Do you find the posts helpful? "LIKE" these posts!
На ваш вопрос успешно ответили? Нажмите кнопку "УТВЕРДИТЬ РЕШЕНИЕ" | Have your question been answered successfully? Click "ACCEPT SOLUTION" button.



Лена Талхина/Lena Talkhina
Менеджер Сообщества - Русский/Community Manager - Russian

Message 3 of 8

Я делал программную подмену блоков на блок из другого чертежа - ничего сложного (если интересно - команда BReplace) У меня там поиск блока с таким же именем. А как вы представляете замену сразу пачки блоков? Какая логика подмены? Что-то я не представляю...


Plugins for AutoCAD
A>V>C>
AppStore | Facebook | Twitter | YouTube | Blog
Message 4 of 8

Такая, как и в AutoCAD Electrical - активировав команду:

- пользователь указывает папку БД, где лежат актуальные файлы блоков, до которых требуется обновиться;

- после этого все блоки на чертеже заменяются на блоки БД при совпадении имён блоков.

Я бы постарался прокачать ещё до того, что если версия блока на чертеже совпадает с версией блока БД, то не заменять, что, как предполагаю, уменьшило бы нагрузку для больших файлов.

Сложно говорить об операции сравнения - не знаю, какие свойства блока можно взять из блока в модели. Но если есть, то сравнивал бы по размеру блока (байты) и дата+время изменения блока.

Message 5 of 8

Не совсем понимаю необходимость обновления до блока из другого чертежа.

Организационно считаю правильным хранить БД в виде файлов-блоков, нежели в виде 1-го файла.

Если считаете, что это  не так - будет интересным узнать Ваше видение.

Message 6 of 8

Т.е. нет на самом деле ни какой БД, а есть просто папка с файлами, которую всю надо перелопатить и заменить блоки на самые свежие? Вполне простенький алгоритм, может когда нибудь сделаю, не прям сейчас. Я то же самое делал для БД на MSSQL. Прям при загрузке чертежа обновлял автоматом блоки. Как-то я решил вопрос с датой изменения блока... забыл уже  как... Но сравнивать блоки побайтно точно не имеет смысла. И геометрически тоже.

p.s.

Посмотрел старые проекты - я в XData писал дату обновления блока. Сейчас пожалуй я бы предпочел невидимый атрибут создать и в нем версию хранить. И при выкладке в БД инкриминировать.


Plugins for AutoCAD
A>V>C>
AppStore | Facebook | Twitter | YouTube | Blog
Message 7 of 8


@AVCPlugins  написал (-а):

Т.е. нет на самом деле ни какой БД, а есть просто папка с файлами, которую всю надо перелопатить и заменить блоки на самые свежие?


Да, просто папка с файлами. Условно - БД УГО (условно-графических обозначений) элементов/аппаратов. В ней также могут быть подпапки, подподпапки, ...

 


@AVCPlugins  написал (-а):

 

Посмотрел старые проекты - я в XData писал дату обновления блока. Сейчас пожалуй я бы предпочел невидимый атрибут создать и в нем версию хранить. И при выкладке в БД инкриминировать.


Тоже вариант. Вижу минусы:

- данный атрибут можно отредактировать;

- дополнительная нагрузка на мозг обыденного пользователя;

- дополнительная (пусть и небольшая, но всё же) нагрузка при создании блока.

Возможно всё-таки есть свойства блока в пространстве модели, благодаря которым можно инициализировать блок?

Будет круто, если выложишь все свойства обычного блока - подумаем вместе.

Message 8 of 8

Не согласен 🙂

- данный атрибут можно отредактировать;

да, и это плюс. Пользователь может подправить свои и программные косяки без танцев с бубном.

- дополнительная нагрузка на мозг обыденного пользователя;

Если у пользователя обнаружится мозг (редкий случай! ;)), то он сможет использовать атрибуты для выгрузки данных, в Полях текстов, выносок и таблиц. Если мозга нет, то он и не заметит существование невидимого атрибута.

- дополнительная (пусть и небольшая, но всё же) нагрузка при создании блока.

Только и исключительно программное создание атрибута. Пользователь жмет одну кнопку "Обновить". Дальше программа сама ищет блоки в заданой папке, обновляет и записывает атрибут (если его небыло еще).

Я всю эту систему испытал в плагине Крепеж. Никто даже не заметил, что в блоках появилась пачка атрибутов.

 

Есть плагины чтоб посмотреть все доступные в API свойства объектов. Например, мой Похожий показывает.

 


Plugins for AutoCAD
A>V>C>
AppStore | Facebook | Twitter | YouTube | Blog

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report