VetCAD

Замена одного блока другим для AutoCAD 2006/2007

    0 оценок

den001

размещено: 12 Февраля 2007
обновлено: 21 Февраля 2007
Программка на VBA взамен экспрессовской команды blockreplace для AutoCAD 2006/2007. Заменяет во всем чертеже один блок на другой. Блоки могут быть динамическими и содержать атрибуты. Такие свойства, как слой, цвет, вес и тип линий, масштаб, OCS, сохраняются. Выбрать нужный блок можно из списка клавишей Enter или двойным кликом, а также указать на экране. Есть возможность сохранения значений атрибутов заменяемого блока, а также удаление его из чертежа после замены.

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

P.S. Если все же есть необходимость использовать также и экспрессовские команды blockreplace и -blockreplace, нужно в прилагаемом lisp-файле заменить c:BlockReplace и c:-BlockReplace на любые понравившиеся имена (не трогая c: )
Замена одного блока другим для AutoCAD 2006/20071

Комментарии

Комментарии могут оставлять только зарегистрированные участники
Авторизоваться
Комментарии 21-30 из 39
, 20 февраля 2007 в 20:48
#21
Поправлюсь п. 4, как с помощью двойного клика изменить первый блок?
Dr. Dron. , 20 февраля 2007 в 21:06
#22
Чтобы с помощью двойного клика изменить первый блок, нужно удалить его название из TextBox1. По двойному клику, елси TextBox1 пуст - имя выбранного блока помещается в него, если нет - то в TextBox2.
, 21 февраля 2007 в 07:49
#23
den001, а что Вы думаете по другим пунктам - мое сообщение от 20-02-2007 20:45.
Dr. Dron. , 21 февраля 2007 в 08:58
#24
Дмитрий, по этим вопросам мое мнение не изменилось. Я уже ответил на них 20-02-2007 06:34. Программа с возложенными на нее задачами прекрасно справляется. Что касается горизонтальной прокрутки в ListBox'e - то это по аналогии с "резиновым" окном. Мне инструменты, позволяющие сделать такое, пока не попадались. От наличия кнопки Выбрать мир точно не рухнет, может, польза от нее и небольшая, но и вреда никакого. Посему, кнопке Выбрать - быть. :-)
, 21 февраля 2007 в 19:05
#25
Так, а как быть с работой без мыши - мой ответ на п.2.
Dr. Dron. , 21 февраля 2007 в 22:26
#26
Выбор блока клавишей Enter - мысль неплохая. В целом ситуация следующая: кнопку Выбрать я удалил, вместо нее добавил возможность выбора блока Enter'ом. Но на этом стоит поставить точку. Вообще, трогать отлаженный, работающий код без особой необходимости - последнее дело. :-)
, 22 февраля 2007 в 19:19
#27
Хорошо, прогресс налицо (избавились от лишнего элемента управления), теперь осталось поправить несколько моментов (описываю работу только с клавиатурой):
1. При открытии окна фокус должен быть сразу на 1-й строке списка, и ждать выбора Enter'ом;
2. После нажатия Enter можно выбрать следующий блок (как сейчас), но после второго нажатия Enter (выбор 2-го блока) фокус должен быть на кнопке ОК (сейчас совсем по-другому);
3. Если пользователь захочет отказаться он нажимает Tab для перевода фокуса на Отмена и Enter.
4. Перемещение с помощью Tab - после Отмена, должны быть строки с повторным выбором блоков (если пользователь не стал заменять блоки из-за того что не правильно их задал и хочет изменить свой выбор), далее галочки и далее опять OK. Здесь важный момент если пользователь захочет менять выбранные блоки, то программа должна работать по пунктам 1 и 2. Если же блоки меняться не будут, то с помощью Tab пользователь шагает сначала по строкам, затем по галочкам и потом на ОК.
5. Стрелки, IHMO, могут использоваться только для работы со списком, для перемещения по элементам управления только Tab.
, 01 июля 2007 в 07:48
#28
А можно чотб касперский не ругался
Zavaran , 27 июня 2008 в 11:11
#29
Работает ли программка в autocad 2008? Как ее установить?
den001 , 04 июля 2008 в 09:52
#30
Все прекрасно работает. Устанавливается как обычно, просто нужно добавить в список автозагрузки (Сервис -> Приложения -> Автозагрузка)
zip

0.02 МБ

СКАЧАТЬ