Темы сайта
Интегрированная система ruCAD - приложение к базовой системе AutoCAD.

Система ruCAD - это приложение строительного профиля в широком понимании, то есть предназначенная для автоматизации строительного проектирования, реконструкции и технического перевооружения любых зданий и сооружений.В отличие от других систем, ориентированных на конкретную область применения, в ruCAD включены средства для комплексной разработки проектной документации наиболее распространенных разделов проекта, выполняемых во всех проектных организациях.
Система управления контентом MODx
Ограничения
В соответствии с Договором между издательством и авторами мы не имеем права полностью публиковать в Интернет материалы книги.

Но, в пределах установленной квоты, будут публиковаться отдельные главы. Кроме того, на сайте будут размещаться материалы, не вошедшие в книгу и полные версии сокращенных по техническим причинам глав.

Так помечены материалы, не опубликованные на сайте!

Новинки
Книга была выпущена в 2004 году. С тех пор многое изменилось - появились версии AutoCAD 2005, 2006, 2007, 2008.

Система ruCAD была выпущена в свет, появились замечания и предложения пользователей. Да и у нас появились новые представления по некоторым вопросам.

Поэтому в материалы книги, публикуемые на сайте, мы вносим дополнительные замечания, выделяемые так:
Так выделяются дополнительные замечания, комментарии, указания!
Где спросить
На нашем сайте было уже несколько форумов. На них было зарегистрировано более 400 посетителей, а многие заходили просто так, в гости. Но сейчас мы вывели форумы из открытого режима. Подробнее о наших форумах
Если очень нужно что-то узнать о ruCAD именно в форумном формате, заходите на Форум сайта
AutoCAD и проектирование
Внимание!
Технические решения и исходные тексты, публикуемые на сайте, могут быть устаревшими!

В таком виде они были во время написания книги, но с тех пор прошло несколько лет, в систему было внесено множество изменений и дополнений.


Создание блока для разбивки трасс



(defun ru-block-make-for-measure (unit_block
                                  new_block_size_mm
                                  new_block_rotate
                                  /
                                  new_block_size_unit
                                  new_block_name
                                 )
;;;Создание блока для разбивки трасс
;;; unit_block - единичный блок определенный в рисунке
;;; new_block_size_mm - размер генерируемого блока в мм на  бумаге
;;; new_block_rotate угол наклона блока
;;; масштаб блока в единицах чертежа
;|

(ru-block-make-for-measure (setq unit_block "колонна_1")
(setq new_block_size_mm 10) (setq new_block_rotate 45))
|;
    (if (tblsearch "block" unit_block)
        (progn
            (setq new_block_size_unit
                     (ru-conv-millimeter-in-paper-to-unit new_block_size_mm)
                  ;; имя нового блока =
                  ;; unit_block+масштаб+угол+суффикс
                  ;; ("мм" или "м")
                  new_block_name
                     (strcat unit_block
                             (rtos (ru-scale-current-space) 2 0)
                             "_"
                             (rtos new_block_rotate 2 0)
                             (ru-unit-name)
                     ) ;_ end of strcat
            ) ;_ end of setq
            (if (not (tblsearch "block" new_block_name))
                ;; если такой блок еще не создавался
                (mapcar
                    'entmake
                    (list
                        (list '(0 . "BLOCK")
                              '(100 . "AcDbEntity")
                              '(100 . "AcDbBlockBegin")
                              (cons 2 new_block_name)
                              '(10 0.0 0.0 0.0)
                              '(62 . 256)
                              '(8 . "0")
                              '(70 . 0)
                        ) ;_ end of list
                        (list '(0 . "INSERT")
                              '(100 . "AcDbEntity")
                              '(100 . "AcDbBlockReference")
                              (cons 2 unit_block)
                              '(8 . "0")
                              '(10 0.0 0.0 0.0)
                              '(62 . 0)
                              (cons 41 new_block_size_unit)
                              (cons 42 new_block_size_unit)
                              (cons 43 new_block_size_unit)
                              (cons 50 new_block_rotate)
                        ) ;_ end of list
                        (list '(0 . "ENDBLK")
                              '(100 . "AcDbEntity")
                              '(100 . "AcDbBlockEnd")
                              '(8 . "0")
                        ) ;_ end of list
                    ) ;_ end of list
                ) ;_ end of mapcar
            ) ;_ end of if
            new_block_name
        ) ;_ end of progn
        nil
    ) ;_ end of if
) ;_ end of defun


24-07-2004 23:34:12