О чем эта книга
Наша книга называется «САПР на базе AutoCAD — как это делается».
Все слова из названия этой книги являются ключевыми для понимания, о чем идет речь. САПР — система автоматизированного проектирования. Именно о системе, а не об отдельных программах и приемах работы пойдет речь. Причем о системе, базирующейся на «системе AutoCAD» фирмы Autodesk (США). Система AutoCAD, одна из самых популярных в мире и наверняка самая популярная в России, является мощным графическим ядром, на котором базируются многие продукты Autodesk (Mechanical Desktop, Architectural Desktop, Land Development Desktop и т.п.) и огромное количество прикладных программ и систем, решающих конкретные задачи.
Сама система AutoCAD в «голом» виде, то есть в объеме базовой поставки, позволяет выполнять чертежные (и не только чертежные) работы любого назначения с использованием только штатных средств. С помощью стандартных примитивов AutoCAD (отрезки, полилинии, круги, тексты и т.п.) можно «нарисовать» все, что угодно. Но конечному пользователю (конструктору-машиностроителю, строителю, сантехнику) нужно рисовать не просто наборы примитивов, а конкретные объекты (здания, оборудование, трубопроводы, изделия, планы городов и многое другое). Делать это надо быстро и качественно, в соответствии со стандартами, действующими в стране и в отрасли.
Все, что требуется всем конечным пользователям во всех странах фирма Autodesk включить в состав AutoCAD не могла, да этого и не нужно делать, так как получился бы некий программный монстр, в котором, при наличии огромного количества средств, конкретному человеку всегда чего-то бы не хватало, а все остальное использовалось бы только на несколько процентов.
Фирма Autodesk пошла, на наш взгляд, по правильному пути — она снабдила базовую систему превосходными средствами разработки прикладных систем. Используя средства разработки AutoCAD можно создавать программы и для вычерчивания зданий, и для проектирования судов, и для «болтов и гаек».
А «как это делается» (крылатое выражение Карела Чапека) мы и попытаемся осветить в нашей книге.
Особенности книги
В СССР и России издано немало книг, посвященных и работе с AutoCAD на уровне обычного пользователя, и его адаптации, и программированию на LISP (основном, или, по крайней мере, самом старом средстве для разработчиков). В этих книгах, как правило, изучается язык программирования, приводятся примеры разработки нескольких программ, публикуются справочные сведения по функциям, командам AutoCAD и его системным переменным. Обычно этого бывает достаточно, чтобы читатель смог начать, и весьма успешно, разработку собственных программ.
Однако, после того, как первые трудности с освоением языка и элементарных приемов работы остаются позади, возникают вопросы другого плана. Сначала смутно, а затем все яснее разработчик начинает понимать, что созданные им десятки (или даже сотни) программ надо приводить в какую-то систему. У него возникает желание распространять свои разработки и получать за это деньги. На этом этапе приходит понимание разницы между программой (даже очень хорошей) и программным продуктом. И, чаще всего, выясняется, что с самого начала многое надо было делать не так, многое требуется переписать заново, обнаруживается, что программы «почему-то» работают только в присутствии автора, на его компьютере, приходится расставаться с мечтами о заработке на продажах.
В этой книге, основанной на собственном опыте, многочисленных ошибках и находках, мы попытаемся раскрыть технику и технологию разработки комплексной САПР, предназначенной для разработки различных чертежей — от идеи и концепции до выпуска продукта в свет. Причем сделаем это на конкретном примере гипотетической «Нашей САПР». Гипотетической, но собранной в виде реального дистрибутива, который можно будет найти на сайтах авторов.
Вопросы, рассматривающиеся в книге не высосаны из пальца. Большинство из них возникало (и более или менее успешно решалось) в ходе разработки реальных прикладных систем. Кроме того, в течение ряда лет мы участвуем в работе нескольких форумов в Internet, в той или иной мере связанных с разработкой приложений для AutoCAD. Анализ тысяч вопросов, задавашихся на этих форумах, помог включить в книгу ряд актуальных и интересных тем.
Эта книга не является справочником, учебником или методическим пособием для изучения AutoCAD или языков программирования. В ней вы не встретите ни перечней команд или системных переменных AutoCAD, ни исчерпывающих перечней функций, процедур и методов, используемых в рассматриваемых языках. Все это можно найти в других книгах, в том числе в книгах Николая Полещука. Все это имеется и в справочной системе самого AutoCAD (увы, локализируемой в последнюю очередь). Сведения справочного характера приводятся только для официально не документированных функций, методов и переменных. В нашей книге мы постарались раскрыть темы или вообще не рассматривавшиеся ранее, или очень смутно освещаемые в технической документации.
Для кого предназначена эта книга
Эта книга позиционируется, как издание, предназначенное для разработчиков прикладных систем на базе AutoCAD. Обратите внимание — не для программистов (хотя, разумеется, может быть прочитана и ими).
Следует отметить, что разработкой прикладных программ на базе AutoCAD занимаются, как правило, не «настоящие» программисты, а обычные инженеры (по крайней мере в России). Вызвано это, по нашим наблюдениям, тем, что проще инженеру освоить не очень сложные средства разработки для AutoCAD (и получать при этом великолепные результаты), чем «заставить» профессионального программиста заниматься этой «грязной» работой. Действительно, задачи, решаемые «под AutoCAD» обычно не требуют ни сложных математических методов, ни хитроумной обработки больших объемов данных, ни умелого обращения с ресурсами операционной системы. Зато решающее значение имеют, казалось бы мелкие нюансы интерфейса пользователя с программой, знание предметной области, глубокое знание самого AutoCAD и, обязательно, любовь к пользователю. Все это приходит только в результате опыта практической работы по проектированию (как «бумажнго», так и «компьютерного»).
Зачастую российский инженер, сделав несколько программ «для себя», заболевает этой неизлечимой болезнью — САПР, и продолжает заниматься разработкой на все более профессиональном уровне. Чаще он продолжает одновременно заниматься проектированием или конструированием, иногда проходит путь до профессионального разработчика. Одной из задач этой книги является помощь в ускорении прохождения этой трудной дороги.
Наверное только в России такое количество людей занимается не своим делом. Архитекторы пишут музыку и учат с телеэкранов секретам приготовления пищи, авиационные инженеры сочиняют и читают со сцены юмористические рассказы, а инженеры-строители разрабатывают информационные системы, не имеющие к строительству никакого отношения (именно этим и занят сейчас один из авторов). А профессиональные программисты, не попавшие в команды, работающие над конкретными проектами, мучаются в поисках «что бы такого сделать плохого» (и делают), в то время, как какой-нибуть конструктор мучительно пытается понять, как из AutoCAD добраться до сервера Interbase. Возможно наша книга наставит «на путь истинный» и кого-то из программистов, и подскажет новые решения для конструкторов.
Остальное вы прочитаете в книге....