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

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

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

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

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

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

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

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


Создание блока по вставленному образцу из его примитивов



(defun ru-block-obj-make-def-from-insert (insert_ent
                                          name
                                          new_ang
                                          new_layer
                                          new_color
                                          new_lw
                                          new_pline_width
                                          /

                                          insertion_point
                                          obj
                                          vla_array_objs
                                         )
 ;; создаем новый блок по вставленному образцу из его примитивов
 ;|
Возвращает VLA-объект определения блока
Создаются и такие же атрибуты
|;
 (setq
  obj             (vlax-ename->vla-object insert_ent)
  insertion_point (vlax-safearray->list
                   (vlax-variant-value (vla-get-insertionpoint obj))
                  ) ;_ end of vlax-safearray->list
  vla_array_objs  (ru-obj-ent-ss-explode obj)
                  ;; ПРИМИТИВЫ ИМЕЮТ СВОЙСТВА ПО ОПРЕДЕЛЕНИЮ
 ) ;_ end of setq

 (ru-obj-vla-array-move vla_array_objs insertion_point (list 0 0 0))
 ;;; Поворот !??
 (ru-obj-vla-array-rotate vla_array_objs  (list 0 0 0) new_ang)
 (if new_layer
      (ru-obj-vla-array-mod vla_array_objs "Layer" new_layer)
 )
 (print new_color)
 (if new_color
      (ru-obj-vla-array-mod vla_array_objs "Color" new_color)
 )
 (if new_lw
      (ru-obj-vla-array-mod
        vla_array_objs
        "Lineweight"
        new_lw
              ) ;_ end of ru-obj-vla-array-mod
 )
 (if new_pline_width
      (ru-obj-vla-array-mod vla_array_objs "ConstantWidth" new_pline_width)
)

 (ru-block-obj-make-from-vla-array name (list 0 0 0) vla_array_objs)

) ;_ end of defun

24-07-2004 23:34:12