Заміна одного блоку іншим для autocad 2018

13.02.07
Додав команду -BlockReplace, без виклику діалогового вікна (процедура BlockReplaceSimple). Пропонує спочатку вибрати замінний блок, потім замінює. Атрибути зберігаються, блок з креслення не видаляється.
Також зняв за замовчуванням прапорець "Видалити з креслення".

P.S. Якщо все ж є необхідність використовувати також і Експресівська команди blockreplace і -blockreplace, потрібно в доданому lisp-файлі замінити c: BlockReplace і c: -BlockReplace на будь-які сподобалися імена (не чіпаючи c:)

Заміна одного блоку іншим для autocad 2006

склад архіву

RunBlockReplace.lsp
BlockReplace.BMP
BlockReplace.dvb

Добре, прогрес є (позбулися зайвого елемента управління), тепер залишилося поправити кілька моментів (описую роботу тільки з клавіатурою):
1. При відкритті вікна фокус повинен бути відразу на 1-му рядку списку, і чекати вибору Enter # 'ом;
2. Після натискання Enter можна вибрати наступний блок (як зараз), але після другого натискання Enter (вибір 2-го блоку) фокус повинен бути на кнопці ОК (зараз зовсім по-іншому);
3. Якщо користувач захоче відмовитися він натискає Tab для перекладу фокуса на Скасування і Enter.
4. Переміщення за допомогою Tab - після Скасування, повинні бути рядки з повторним вибором блоків (якщо користувач не став замінювати блоки через те що неправильно їх поставив і хоче змінити свій вибір), далі галочки і далі знову OK. Тут важливий момент якщо користувач захоче міняти вибрані блоки, то програма повинна працювати по пунктам 1 і 2. Якщо ж блоки мінятися не будуть, то за допомогою Tab користувач крокує спочатку по рядках, потім по галочку і потім на ОК.
5. Стрілки, IHMO, можуть використовуватися тільки для роботи зі списком, для переміщення по елементах управління тільки Tab.

Вибір блоку клавішею Enter - думка непогана. В цілому ситуація наступна: кнопку Вибрати я видалив, замість неї додав можливість вибору блоку Enter # 'ом. Але на цьому варто поставити крапку. Взагалі, чіпати налагоджений, працюючий код без особливої ​​необхідності - остання справа. -)