Задача – взять значение из текста

Когда я слышу / вижу / читаю подобное задание, мне становится плохо. К сожалению, приходится очень долго объяснять некоторые простые вещи. Чтобы не повторяться, распишу здесь. Текст ориентирован прежде всего на заказчиков, а не на программистов ;)
Далее

Падение AutoCAD при переключении между листами

Мне не понравился автоматический перевод оригинала, поэтому я позволил себе здесь разместить более литературный вариант.
Далее

В чем разница между описанием блока и его вхождением?

Частенько начинающие программисты путают понятия "описания" и "вхождения". В чем же разница?
Далее

Метки начала и конца отмены

Почитав про транзакции в .NET, задумался: а если в лиспе сделать вложенные метки начала / конца отмены? А заодно и доказать утвержение в статье Ошибка отмены в AutoCAD о нежелательности вложенных отмен.
Далее

Аналог txt2mtxt

В продолжение темы Аналог attout – attin выкладываю старый вариант преобразования однострочных текстов в многострочные.
Далее

Аналог attout – attin

Последнее время все чаще и чаще стал задумываться о написании некоего аналога знаменитых команд из ExpressTools - ATTOUT и ATTIN.
Далее

Что делать, если не работает ActiveX

Редко, но бывает, что (vl-load-com) вроде бы сработал, но при этом любая попытка обращения к vl-*, vla-*, vlax-* функциям приводит к ошибке.
Далее

Значение координаты Z в строку текста

Поступила мне тут просьба - в файле dwg есть большое (больше 1000) объектов TEXT и MTEXT, у которых изменена точка вставки по оси 0z. В эти объекты надо "вбить" значение их высоты с точностью до 2 знаков после запятой.
Далее

Lisp из-под VBA

В теме Interop в AutoCAD всплыл старый-старый vba-шный код, позволявший из-под VBA работать с LISP-выражениями, переменными и т.п.
Далее

О пользе сообщений аудита

При проверке файла (стандартная команда _.audit) в ком.строку выводится масса информации. Частенько ее хочется скрыть, но иногда она может принести ощутимую пользу.

Пришел тут файл, после выполнения проверки все равно постоянно выводятся сообщения типа:

1
AcDbBlockReference(5314E1)  scale invalid               uniform

Это становится интересным. Понятно, что проблема кроется во вхождении блока. В скобках указывается хендл проблемного примитива. Дальше, как правило, указывается причина, по которой примитив распознан как "ошибочный". Можно получить указатель на вхождение (через, например, handent), и потом уже творить с ним все что угодно - добавлять в выбор, получать дампы свойств и т.д.

Часто бывает, что достаточно переназначить объекту его имеющиеся свойства (чтобы не порушить чертеж) - ручное или программное, неважно. Но в некоторых случаях спасает только полная перезапись чертежа.