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

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

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

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

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

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

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

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


Редактор координат примитива


Иллюстрация к функции
(defun ru-dlg-coord-edit (dlg_header      ent         /
edata lstdata newent
newlstdata newlstver std_lst_coords
)
;;; Диалоговый редактор полилинии
;;; возвращает новый примитив или nil
;;; (ru-dlg-coord-edit "Проба редактора" (entlast))
(if (setq std_lst_coords (ru-pline-list-vertex ent))
(
progn
(setq edata (entget ent)
lstdata (list
(assoc 8 edata) ;Слой
(assoc 62 edata) ;Color
(assoc 43 edata) ;Ширина
(assoc 6 edata) ;Ltype
(assoc 48 edata) ;Ltype scale
(assoc 38 edata) ;Elevation
(assoc 39 edata) ;Thickness
(assoc 70 edata) ;Closed
(assoc 370 edata);LW
) ;_ end of list
) ;_ end of setq
(if
(setq newlstver
(_ru-dlg-coord-edit-2d dlg_header std_lst_coords)
)
;_ end of setq
;; Получили список новых вершин. Теперь применить бы прочие
;; прежние
;; свойства
;; Можно так (ru-obj-map-property-list '("Layer" "Color")
;; object1
;; arc-object2))
(progn
(if (setq newent (ru-pline-entmake
(car newlstver)
(
cadr newlstver)
nil
0
;;width
0
;;lineweight
) ;_ end of ru-pline-entmake
) ;_ end of setq
;; (ru-makenewpoly newlstver closed nil 0))
(progn
(setq newlstdata (entget newent))

(
while lstdata
(if (nth 0 lstdata)
(
setq newlstdata
(if (assoc
(car (nth 0 lstdata))
newlstdata
) ;_ end of assoc
(subst (nth 0 lstdata)
(
assoc
(car (nth 0 lstdata))
newlstdata
) ;_ end of assoc
newlstdata
) ;_ end of subst
(append newlstdata (list (nth 0 lstdata)))
)
;_ end of if
) ;_ end of setq
) ;_ end of if
(setq lstdata (cdr lstdata))
)
;_ end of while
(entmod newlstdata)
(
entupd (cdr (assoc -1 newlstdata)))
(
entdel ent)
)
;_ end of progn
(princ "
Линия не изменена!"
)
)
;_ end of if
) ;_ end of progn
) ;_ end of if
) ;_ end of progn
(princ "
Примитив недопустимого типа!"
)
)
;_ end of if
newent
) ;_ end of defun
24-07-2004 23:34:12