Содержание:
- Введение
- Особенности книги
- Для кого предназначена эта книга
- Структура книги
- Предупреждения
- Об авторах
- Часть 1. Разработка концепции САПР
- Подготовка к разработке
- Требуется ли техническое задание
- Что нужно знать об авторских правах
- Как собрать команду разработчиков
- Как организовать работу над проектом
- Хранение информации
- Документирование работ
- Планирование
- Стандарты программирования
- Как строить отношения с руководителями
- Как нормировать разработку программных средств
- Пример норм времени на разработку
- Пример расчета трудозатрат
- Как определить стоимость работы
- Анализ и постановка задачи
- Какие САПР существуют
- Какая САПР нам нужна
- Какие разделы проектов мы будем автоматизировать
- Кто будет пользователем нашей системы
- Какие версии Windows и AutoCAD мы будем использовать
- Как узнать, что требуется пользователям для работы с AutoCAD
- Анализ проектов
- Общие данные по рабочим чертежам
- Планы зданий
- Трубопроводы и проводники
- Схемы систем
- Рабочее и монтажное проектирование
- Генеральные планы и наружные сети
- Топографические планы
- Условные обозначения в топографии и на генпланах
- Планы коммуникаций
- Профили
- Схемы, узлы, разрезы
- Изучение специфики работы в AutoCAD
- Классификация пользователей
- "Чайники"
- "Тетки"
- "Обезьяна с гранатой"
- "Нормальные пользователи"
- "Профи"
- "Ламеры"
- "Крутые"
- Как должна работать наша система
- Просто, это как?
- Удобно, это как?
- Надежно, это как?
- Чем наша система должна отличаться от других
- Какие задачи должна решать наша система
- Составление перечня общих задач
- Составление перечня специальных задач
- Как определить методы решения задач
- Как придумать "имя собственное" для нашей системы
- Превращение "нашей системы" в "ruCAD"
- Логотип
- Стадийность разработки
- Техническое задание
- Эскизный проект
- Технический проект
- Рабочий проект
- Внедрение
- Подготовка окончательного текста технического задания
- Титульная часть
- Информационная часть
- Наименование
- Область применения
- Основание для разработки
- Назначение разработки
- Заказчик
- Исполнитель
- Технические требования к программному изделию
- Требования к функциональным характеристикам
- Требования к надежности
- Условия эксплуатации
- Требования к составу и параметрам технических средств
- Требования к информационной и программной совместимости
- Требования к маркировке и упаковке
- Требования к транспортировке и хранению
- Специальные требования
- Технико-экономические показатели
- Стадии и этапы разработки
- Порядок контроля и приемки
- Приложения
- Подписи и согласования
- Формирование базовых принципов
- Как запускать AutoCAD
- Как использовать шаблоны рисунков
- Стандарты
- О соответствии чертежей на бумаге стандартам СПДС
- Форматы и размеры листа
- Вид основной надписи
- Начертание и размер надписей
- Ширина линий
- Избыточная детализация
- Стандартизация приемов работы с AutoCAD
- Стандарт приемов работы ruCAD для строительного проектирования
- Основные термины
- Единицы рисунка
- Масштабы
- Пространства листа и модели
- Системы координат и их описание
- Точка вставки
- Направления осей
- Размеры
- Свойства объектов
- Слои
- Блоки
- Именованные объекты
- Подготовка к архивированию
- Распределение изображений по файлам
- Имена файлов
- Система каталогов
- Примеры обозначений
- Свойства рисунка
- Комментарии к рисункам
- Комментарии к файлам и папкам
- Системные переменные
- Дополнительные комментарии к положениям стандарта
- Масштаб рисунка
- Управление шириной линий
- Как учитывать работу в пространствах листа и модели
- Нанесение размеров
- Как сохранять и восстанавливать настройки ruCAD
- Что хранить в настройках ruCAD
- О специальных папках Windows
- Где можно хранить настройки
- Системный реестр
- Домашний каталог пользователя
- Общий каталог пользователей
- Где мы будем хранить настройки
- О временных файлах
- Как сохранять и читать настройки
- INI-файлы
- Использование XML
- Политика работы с пользователями в ruCAD
- Как правильно организовать систему папок и документов
- Корневой каталог системы
- Соглашение об именах файлов
- Каталоги AutoCAD
- Каталог Bin
- Каталог Temp
- Каталог Source
- Каталог Samples
- Каталог All Users
- Каталог Current User
- Каталог Application Data
- Регистрация каталогов
- Какие программы потребуются для реализации базовых принципов
- Программа-стартер
- ARX-библиотека
- COM-серверы
- LISP-библиотеки
- Миграция из ранних версий AutoCAD
- Как осуществлять переход под Windows
- Миграция приложений, написанных на AutoLISP
- Миграция внешних приложений, работающих в DOS
- Миграция библиотек блоков
- Шрифты
- Штриховки и типы линий
- Файл acad.pgp
- Меню
- Базы данных
- Как выполнять перекодировку рисунков
- Файлы AutoCAD R10
- Файлы AutoCAD R12
- Что придумано Autodesk
- Утилита Amethist CAD Converter
- Какие изменения требуется вносить в программы
- Как учитывать особенности локализованных версий AutoCAD
- Как использовать Migration Assistance
- Переход на работу под AutoCAD 2004
- Учет особенностей AutoCAD 2004
- Новинки AutoCAD 2004
- О совместимости приложений
- Не выбрасывайте старый AutoCAD
- Какие программы требуется разработать нам
- Итоги первой части
- Часть 2. Адаптация AutoCAD без программирования
- Использование блоков
- Какие виды блоков требуется использовать
- Блоки-чертежи
- Блоки-изделия
- Единичные блоки
- Блоки-символы
- Блоки-таблицы
- Какие блоки нам не нужны
- Как правильно создавать блоки
- Как присваивать имена блокам
- Как устанавливать цвет и слой примитивам, входящим в блок
- Как назначать ширину, тип и вес линий
- Как устанавливать точку вставки блока
- Как правильно включать в блоки атрибуты
- Как хранить блоки в каталогах ruCAD
- Как формировать библиотеки блоков
- Какие программы потребуются для работы с блоками
- Использование штриховок и типов линий
- Средства для работы со штриховками
- Средства для работы с типами линий
- Как создавать "лохматые" линии
- Как создавать линии с текстовыми символами
- Особенности использования специальных типов линий
- Какие программы потребуются для работы с типами линий
- Интерфейс пользователя для работы с AutoCAD
- Что хорошо в стандартном интерфейсе AutoCAD
- Командная строка
- Меню
- Панели инструментов
- Центр управления
- Tool Palettes в AutoCAD 2004
- Что плохо в стандартном интерфейсе AutoCAD
- Как мы будем писать главное меню ruCAD
- Какое бы хотелось иметь меню
- Типы файлов меню
- Какие изменения будем вносить в стандартное меню
- Как преодолеть недостатки каскадных меню
- Почему мы отказываемся от слайдовых меню
- Как управлять доступом к пунктам меню
- Использование выражений языка DIESEL
- Использование языка LISP для управления доступом
- Как ставить "галочки" в меню
- Как правильно использовать экранное меню
- Как мы будем писать пункты меню ruCAD
- Правила формирования тегов пунктов меню ruCAD
- Правила формирования текстов пунктов меню ruCAD
- Правила формирования макросов пунктов меню ruCAD
- О сочетании MENUECHO и ^P
- Синтаксис наших макросов
- Как создавать панели инструментов
- Синтаксис описания панелей инструментов
- Как сохраняется конфигурация панелей инструментов
- Как хранить значки для панелей инструментов
- Как изготовить DLL-файл с пиктограммами
- А где брать пиктограммы?
- Как организовать ввод данных
- Как создать иллюстрированное дерево меню
- Какие программы потребуются для реализации интерфейса
- Часть 3. Разработка инструментальных средств для прикладного программирования
- Инструменты разработчика в AutoCAD
- Краткий обзор инструментальных средств программирования
- Сравнение AutoLISP и Visual LISP
- Когда можно и нужно использовать VBA
- Преимущества VBA
- Недостатки VBA
- Как мы будем использовать ObjectARX
- Как мы будем использовать Delphi
- Соглашения о кодировании
- Как добиться единообразия внешнего вида программ
- Имена функций
- Вложенные функции
- Имена команд AutoCAD
- Использование комментариев
- Как единообразно именовать файлы
- Как вести дневники проекта
- Как хранить данные
- Редактор меню
- Дополнительные инструменты
- Приемы программирования на Visual LISP
- Как окончательно перейти на Visual LISP
- Обзор стилей программирования
- "Инженерный" стиль
- Особенности функции command
- Имена команд
- Использование GET-функций
- Прерывание функции command
- Незавершенная команда
- Особенности функции vl-cmdf
- Команда VBASTMT
- "Программистский" стиль
- "Объектный" стиль
- Сравнение скорости работы
- Почему бы окончательно не избавиться от command
- Промежуточный диагноз
- Использование объектной модели AutoCAD
- Пример исследования объектной модели
- Как использовать объектную модель
- Особенности многодокументного режима
- Словари
- Реакторы
- Как использовать библиотеки функций и "конечные" программы
- Как использовать библиотеки сторонних авторов
- Как организовать загрузку библиотек и программ
- Советы по предотвращению ошибок
- Ошибки этапа ввода данных
- Контроль ввода
- Опасайтесь двусмысленных предложений
- Выбор объектов и создание наборов примитивов
- Выбор одного примитива
- Ошибки этапа обработки данных и рисования
- Переменные и значения переменных
- Зачем введена функция quote?
- Контроль типов данных
- Глобальные и локальные переменные
- Откуда берется мусор и как с ним бороться
- Ошибки вычислений
- Что применять: =, eq или equal?
- NOT и NULL
- Ошибки вызова команд
- Неправильный вызов команды TEXT
- Забываем отключить объектную привязку
- Структура программы
- Варианты структуры программы
- Вариант один вход - один выход
- Вариант один вход - несколько выходов
- Программы, использующие диалоговые окна
- Использование диалоговых окон
- Ненаучная классификация диалоговых окон
- Вредные диалоги
- Бесполезные диалоги
- Умеренно полезные диалоги
- Полезные диалоги
- Незаменимые диалоги
- Опасные диалоги
- О выходе из диалогов
- О цветовой гамме
- Разработка диалогов с использованием DCL
- Пример диалоговой функции
- Управляющие конструкции
- Функция cond
- О лишних функциях (progn)
- Циклическая обработка списков
- Рекурсия
- Расследование Петра Лоскутова
- Выводы
- Резюме авторов
- Обработка ошибок
- Ошибки прерывания
- Функция *error*
- Как писать функцию *error*
- Функции начала и завершения приложения
- Типовой обработчик ошибок ruCAD
- Проблемы с откатом
- Ошибки свойств
- Ловушки для ошибок
- Ловля блох в ActiveX
- Отлов ошибок при отладке
- Использование отладочных сообщений
- Встроенные средства отладки Visual LISP
- Как не стать параноиком
- Создание приложений Visual LISP
- Создание FAS-приложений
- Создание VLX-приложений
- Резюме
- План программирования
- Как установить очередность разработки программ и библиотек
- Какие библиотеки будем создавать в первую очередь
- Какие программы нам понадобятся в первую очередь
- Как выполнять тестирование
- Формирование каркаса ruCAD
- Создание системы каталогов
- Запись в реестр Windows
- Создание временного ярлыка
- Пробный запуск системы и ручная настройка профиля ruCAD
- Создание временного файла acaddoc.lsp
- Разработка временного меню для тестирования системы
- Установка библиотеки DOSLib
- Командный файл для регистрации COM-серверов
- Разработка первоочередных библиотечных функций
- Расположение компонентов системы
- Установка свойств рисунка
- Чтение свойств
- Запись свойств
- Особенности AutoCAD 2004
- Как решить проблему-2004
- Вспомогательные функции
- Сохранение свойств в AutoCAD 2002
- Основная функция для AutoCAD 2002
- Работа со свойствами через ActiveX в AutoCAD 2002
- Получение свойств постороннего файла
- Работа с SummaryInfo в AutoCAD 2004
- Кто виноват?
- Что делать?
- Использование свойств рисунка при инициализации системы
- Командный реактор DWGPROPS
- Обеспечение пропорций
- Настройки системы на масштаб
- Функции для работы с объектной моделью AutoCAD
- Как получить объект
- Безопасные манипуляции
- Как сохранять и восстанавливать собственные данные в файле рисунка
- Работа с меню
- Вывод специальных меню
- Загрузка и выгрузка фрагментных меню
- Функции для управления доступом к меню
- Кошмарная пятница
- Как придется выкручиваться
- Ввод данных
- Традиционные функции ввода данных
- Усовершенстованные функции ввода данных
- Функции выбора примитивов
- Резюме
- Разработка библиотеки функций с использованием ObjectARX
- Как установить ObjectARX
- Как настроить Vicrosoft Visual C++ 6.0
- Постановка задачи
- Создание заготовки библиотеки с помощью ObjectARX AppWizard
- Анализ полученного кода
- Как устроен ARX
- Как работает функция acrxEntryPoint
- Как регистрируются функции для Visual LISP
- Как используется буфер результатов
- Работа с ARX-функциями в Visual LISP
- Варианты работы с INI-файлами
- Запуск приложений
- Создание безопасной оболочки для окна сообщений
- Разработка группы функций для вывода диалоговых окон
- Любителям простоты
- Разработка библиотечных функций с использованием Delphi
- Какие библиотеки компонентов мы будем использовать
- Краткое знакомство с COM-технологиями
- Что такое автоматизация в COM
- Как создать внутренний сервер автоматизации
- Разработка первого COM-сервера
- Изменения LISP-библиотеки
- Другие COM-серверы в ruCAD
- Заставка с сообщением для длительных операций
- Диалог выбора из одинарного списка
- Список из двух колонок с возможностью редактирования
- Двухоконный список
- Диалог с пометкой элементов списка
- Диалог просмотра текстового файла
- Визуальное редактирование координат
- Диалог "Советы дня"
- Выбор файла из виртуального дерева
- Системные папки Windows
- Системные папки в ruCAD
- Диалоги в EXE-файлах
- Зачем нужно так делать
- Как запустить внешнее приложение в модальном режиме
- Как передать параметры
- Как получить результаты
- Функция ввода строки
- Резюме
- Реализация работы с деревом меню
- Минимальные сведения по XML
- Как создаются XML-документы
- Как работают программы обработки XML
- Что должно делать наше приложение
- Реализация приложения для просмотра
- Разработка автономного приложения
- Происхождение и назначение некоторых компонентов, влияющих на логику работы приложения
- Исходный текст модуля
- Разработка COM-сервера в виде DLL
- Тестовое приложение для проверки COM-сервера
- Напишем функции для вызова приложения из Visual LISP
- Работа с XML-таблицами
- Постановка задачи
- XML-таблицы
- Создание XML-таблицы
- Программа редактирования XML-таблиц
- LISP-функции для обработки таблиц
- Разработка проводника по файловой системе
- Чем нас не устраивают стандартные диалоги
- Ограничение навигации
- Предварительный просмотр DWG-файлов
- Комментирование файлов и папок
- Логика получения аннотрирующей функции
- Просмотр и редактирование свойств DWG-файлов без AutoCAD
- Разработка диалогового окна
- Просмотр и редактирование расширенного набора свойств файлов не только в файловой системе NTFS
- Создание COM-сервера
- Формирование библиотеки функций для работы с файлами
- Разработка классификатора слоев
- Как реализовать классификатор слоев с использованием XML
- Хранение классификатора в базе данных
- Классификатор слоев в файловой системе
- Какие дополнительные данные можно хранить в классификаторе
- Работа с классификатором
- Разработка программы
- Запуск программы-классификатора
- Формирование библиотеки функций для работы с классификатором
- Работа с базами данных
- Немного об ADO
- Работа с базами данных из Visual LISP
- Подробности технологии ADO
- Нужно ли импортировать библиотеку типов
- Функции для работы с ADO
- Разработка конструктора строки соединения
- Полный пример работы с БД
- Применимость технологии работы с базами данных
- Резюме
- Разработка программы-стартера
- Работа в стартере
- Выбор рабочей всерсии AutoCAD
- Запуск AutoCAD
- Проблемы с файлом автозапуска
- Реализация программы-стартера
- Меню приложений
- Рисование формата
- Формирование окружения программы
- Мастер рисования формата
- Выбор размера листа
- Выбор формы основной надписи
- Формирование обозначения документа
- Сохранение и восстановление данных многострочных граф основной надписи
- Заполнение стадии проектирования и количества листов
- Формирование набора подписей
- Формирование наименования организации
- Ввод граф для чертежей изделий
- Завершение работы Мастера
- Реализация COM-сервера
- Разработка LISP-программы
- Создание блоков основных надписей
- Программа рисования формата
- Включение программы в меню
- Завершение разработки главной библиотеки
- Ширина и вес линий
- Функции для геометрических построений
- Учет особенностей систем координат
- Как преобразовывать координаты
- Где трансформировать координаты
- Результат работы функций рисования
- Реализация координатных функций
- Извлечение списка координат вершин
- Как эффективно использовать блоки
- Вставка блока
- Многократная вставка блока
- Различные способы вставки блоков
- Единичная вставка блоков
- Вставка блоков из файлов
- Изменение ширины линий в блоке
- Врезка блоков и текстов в линии
- Рисование объектов
- Создание отрезков
- Создание полилиний
- Создание текстов
- Изменение веса линий
- Создание кругов
- Семейство функций для рисования трасс и линий
- Программная работа с типами линий
- Загрузка программ
- Резюме
- Итоги разработки библиотек
- Часть 4. Разработка прикладных программ
- Разработка набора инструментов для программистов
- Редактирование меню
- Переключатели режимов в меню
- Массовые операции с файлами
- Методика обработки списка файлов
- Нормализация файлов
- Объектный доступ к другому документу
- Конвертирование файлов
- Ну, тупые!
- Как избежать переименования
- Приведение текстового стиля для всех примитивов к определению
- Обработка штриховок
- Настройка оптимальных масштабов штриховок
- Обработка блоков
- Расстановка блоков
- Запись списка блоков в файл
- Переопределение указанного блока
- Просмотр информации об объектах рисунка
- Резюме
- Программы общего назначения
- Переключение компоновок
- Быстрое стирание
- Текстовая "лупа"
- Быстрое рисование "такого же" объекта
- Программы для быстрого штрихования
- Псевдоштриховка блоком
- Работа со слоями
- Установка слоя по образцу
- Отключение слоя
- Включение всех слоев
- Оставить видимыми указанные слои
- Перелистывание слоев
- Стирание слоя
- Общие средства рисования
- Рисование специальных линий
- Врезка и привязки текстов к линиям
- Рисование контуров
- Рисование прямоугольников
- Рисование тестов различными способами
- Создание и выбор типовых текстов
- Конструктор таблиц
- Заполнение таблиц
- Формирование специализированных программ из универсальных функций
- Эффективные программы длиной в одну строку
- Создание "специального" меню
- Группы команд, использующих одну функцию
- Вставка блоков различных видов
- Рисование трасс
- Рисование любых таблиц
- Как научить пользователя добавлять свои команды
- Примеры программ для архитектурно-строительной части
- Рисование координационных осей
- Рисование стен и перегородок
- Рисование колонн и опор
- Отверстия в стенах и перекрытиях
- Рисование отверстий в стенах
- Составление ведомости отверстий в стенах
- Программы для "генпланистов" и топографов
- Использование городской системы координат
- Названия осей координат
- Работа с координатами объектов
- Ведомость координат
- Несколько способов рисования откосов
- Разбивка кромок
- Рисование трасс
- Рисование дорог
- Несколько программ для сантехников
- Профили
- Технология рисования "аксонометрии"
- Средства рисования аксонометрии в системе ruCAD
- Узлы схем
- Рисование линий схем
- Пересечение линий
- Выноски диаметров
- Рисование элементов трубопроводов в три линии
- Программирование рисования трубопроводов с детализацией
- Организация ввода данных
- Универсальная функция рисования элементов труб
- Программы для рисования вентиляции
- Резюме
- Вывод чертежа на бумагу
- Алгоритм печати
- Шаг 1. Выбор компоновки
- Шаг 2. Выбор устройства печати
- Шаг 3. Выбор формата бумаги
- Шаг 4. Выбор стиля печати
- Шаг 5. Выбор зоны печати
- Шаг 6. Формирование массива
- Шаг 7. Печать
- Реализация алгоритма печати
- Как выполняется печать
- Основная функция печати
- Резюме
- Несколько примеров расчетных программ
- Расчеты объемов работ
- Измерение расстояний
- Определение площадей
- Спецкалькуляторы различного назначения
- Математика с числовыми текстами
- Быстрая прикидка диаметров трубопроводов и воздуховодов
- Особенности программирования расчетов
- Где брать формулы?
- Алгоритм определения диаметров трубопроводов
- Резюме
- Составление спецификаций оборудования
- Что такое спецификация оборудования
- Обзор методик работы со Спецификацией
- Ручное составление
- Использование текстовых процессоров
- Рисование в AutoCAD
- Использование электронных таблиц
- Использование настольных СУБД
- Автоматическое определение объемов работ
- Организация банка данных по оборудованию, изделиям и материалам
- Структура базы данных
- Разработка программы
- Формирование спецификации для конкретного объекта
- Формирование рабочей спецификации
- Пополнение и обслуживание банка данных
- Вывод спецификации на бумагу
- Рисование спецификации в AutoCAD
- Подготовка форм
- Общая схема работы
- Резюме
- Элементы документооборота
- Что требуется исполнителю
- Что требуется руководителю
- Что же мы нечаянно сделали
- Организация архива электронных калек
- Организация архива типовых проектных решений
- Архив топографических планшетов
- Функции для работы с электронными архивами
- Как записать кальки в архив
- Как взять кальки их архива
- Как использовать наборы калек
- Работа с типовыми проектными решениями
- Выбор и вставка типового проектного решения
- Работа с DWF-файлами
- Создание DWF
- Просмотр DWF
- Использование DWF
- Как создать DWF на LISP
- DWF или PDF?
- Резюме
- Интеграция САПР и ГИС
- Возможности ГИС
- Составные части ГИС
- Инструментальные средства ГИС
- Область применения ГИС на базе AutoCAD
- Об электронных картах
- Откуда берутся электронные карты?
- У вас хорошая крыша?
- Где брать исходные материалы?
- Привязка к системе координат
- Процесс создания электронной карты
- Векторизация планшетов
- Формирование сводных планов
- Связь изображений с базами данных
- Вариант пространственной информации в графическом файле
- Вариант пространственной информации в базе данных
- Как это сделано
- Как хранить государственную тайну
- Как создать собственную ГИС-систему
- Резюме
- Часть 5. Выпуск системы в свет
- Создание справочной системы
- Что уже сделано
- HLP, CHM или HTML
- Инструмент для создания справочной системы
- Публикация в Интернете
- Дополнительные справочники
- DWF-справка
- Растровые справочники
- Резюме
- Разработка инсталлятора
- Коротко о безопасности
- Как установить ruCAD вручную
- Присядем "на дорожку" и подумаем
- Кто должен устанавливать ruCAD
- Куда копировать файлы
- Что и куда писать в реестр
- Разборки с AutoCAD
- Не надо унывать!
- Как делаются установочные комплекты
- Подготовка к созданию дистрибутива
- Уменьшение размеров приложений
- Перекомпиляция приложений
- Упаковка файлов
- Упаковка DWG-файлов
- Второй этап чистки
- Установка даты и времени
- Выбор инструмента
- Работа с программой Inno Setup
- Сценарий инсталляции
- Как найти AutoCAD
- Сборка установочного комплекта
- Испытания установочного комплекта
- Испытания в работе
- Корректировка программ
- Новая стратегия работы с пользователями
- Корректировка сценария установки
- Резюме
- Подготовка к распространению
- Особенности приложений для AutoCAD
- Составление бизнес-плана
- Цель вашего предприятия
- Кому нужна ваша программа
- Зачем нужна ваша программа
- Что вы будете продавать
- Сколько стоит ваша программа
- Юридические вопросы
- Авторские права
- Регистрация программ
- Сертификация и лицензирование
- Юридическое лицо
- Проверка собственных прав
- Лицензионные соглашения
- Подведем итоги
- Особенности AutoCAD 2005
- Новинки для разработчиков
- Хорошие новости
- Плохие новости
- Что делать?
- Резюме
- Послесловие
- Список литературы
- Приложение. Описание прилагаемого компакт-диска
|

|