|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Помогите с программкой=)
Технический контроль
Москва
Регистрация: 25.01.2008
Сообщений: 53
|
||
Просмотров: 2713
|
|
||||
Регистрация: 12.01.2006
Донецк
Сообщений: 30
|
;****************************************************************
; Функция возвращает список всех точек полилинии, отрезка ; первый элемент кол-во точек полилинии ; ( 5 (0.0 0.0) (1.0 0.0) (0.0 2.0) (5.0 5.0) (10.0 -20.0) ;**************************************************************** (defun POLY (A1 / _P1 _A1 _A2 _TIP _A200 _N_MAX _N1 _N2 _I) (setq _A2 (entget A1)) (setq _TIP (cdr (assoc 0 _A2))) (setq _A200 NIL) ;************************************************************** (if (= _TIP "LWPOLYLINE") (progn (setq _N_MAX (length _A2)) (setq _I 0) (setq _ii 0) (repeat _N_MAX (setq _SP (nth _I _A2)) (if (= (car _SP) 10) (progn (setq _A200 (cons (cdr _SP) _A200)) (if (= _ii 0) (setq _T0 (cdr _SP))) (setq _ii 1) )) (setq _I (+ 1 _I)) ) ;Repeat (setq _CLOSE (cdr (assoc 70 _A2))) (IF (= _CLOSE 1) (setq _A200 (cons _T0 _A200))) (setq _N_MAX (length _A200)) (setq _A200 (reverse _A200)) (setq _A200 (cons _N_MAX _A200)) ) ;progn ) ;if ;************************************************************** (if (= _TIP "LINE") (progn (setq N1 (cdr (assoc 10 _A2))) (setq N2 (cdr (assoc 11 _A2))) (setq _A200 (list 2 N1 N2)) ) ;progn ) ;if ;*************************************************************** (setq _A200 _A200) );END DEFUN |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,408
|
Какой именно полилинии? Облегченной? 3д? Возвращать в мировой системе координат или объектной (если таковая существует)? Или, может, в текущей?
Добавлю: для любых полилиний (без проверок) Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. Последний раз редактировалось Кулик Алексей aka kpblc, 25.01.2008 в 14:11. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Может так понятней будет. Для работы со списками есть функции foreach и assoc
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите умным советом... | Agens | Программирование | 43 | 30.12.2007 10:43 |
Помогите Пожалуйста найти и скачать книгу Ф. А. Байтемиров, В. М. Головина, Э. М. Улицкая Расчет кон | DenIZ | Поиск литературы, чертежей, моделей и прочих материалов | 0 | 27.12.2007 22:45 |
ПОМОГИТЕ!! при выводе на печать ПУСТО | nikashkoda | AutoCAD | 11 | 16.12.2007 19:11 |
ANSYS 10 Помогите разобраться. | Aндрeй | ANSYS | 6 | 12.12.2007 00:03 |