|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Машиностроение, Проектирование Регистрация: 15.09.2003
Москва
Сообщений: 1,113
|
Цитата:
|
|||
|
||||
LISP-программист Регистрация: 25.08.2003
Тутэйшы
Сообщений: 238
|
Цитата:
Бум смотреть. А в каком Автогаде? Писал под 2004.
__________________
Там все есть для счастья - меня там только нет. Так это значит, что я там - буду! |
|||
|
||||
LISP-программист Регистрация: 25.08.2003
Тутэйшы
Сообщений: 238
|
Я только одного не пойму. В первом сообщении пишет, что лисп загрузился успешно. Это понятно. А где запуск функции? Что, вот так сразу сообщение об ошибке?
Может впереди еще Код:
__________________
Там все есть для счастья - меня там только нет. Так это значит, что я там - буду! |
|||
|
||||
LISP-программист Регистрация: 25.08.2003
Тутэйшы
Сообщений: 238
|
Цитата:
__________________
Там все есть для счастья - меня там только нет. Так это значит, что я там - буду! |
|||
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
На домашнем 2005 вариант от 20 сент. работает, на работе на 2004 нет. Попробую перенести из дома. Возможно, у меня некорректно выполнилось CTRL+C/V. Там русского яз. нет, но должно было работать с вопросительными знаками вместо комментариев на русском или с моим переводом. (все знаки при переводе я оставлял как было, предыдущая версия работала) Хорошо, что умеет считать в любых единицах. Результат доложу
|
|||
|
||||
Сообщений: n/a
|
;******************************************************************************
; ; Lsum -функция определяет суммарные длинну и площадь набора линий и полилиний ; ;****************************************************************************** (defun C:lsum (/ cmdold nabor nl i j prima sum_line sum_pline asum_pline pt_list) (vl-load-com) (setq cmdold (getvar "cmdecho")) (setvar "cmdecho" 0) (princ "\n Выберите линии и 2D-полилинии:\n") (if (eq nil (setq nabor (ssget '((-4 . "<OR") (0 . "line") (0 . "lwpolyline") (-4 . "OR>") ) ) ) ) (progn (princ "***** Среди указаных объектов ни линий, ни 2D-полилиний НЕТ! *****\n")(textscr)(princ) ) (progn (setq nl (sslength nabor)) (setq i nl j 0 sum_line 0 sum_pline 0 asum_pline 0) (while (< 0 i) (setq i (1- i)) (setq prima (ssname nabor i)) (if (eq "LWPOLYLINE" (cdr (assoc 0 (entget prima)))) (progn (command "_AREA" "_o" (ssname nabor i)) (setq sum_pline (+ sum_pline (getvar "Perimeter"))) (if (or (eq 1 (cdr (assoc 70 (entget prima)))) (equal (assoc 10 (entget prima)) (assoc 10 (reverse (entget prima)))) ) (setq asum_pline (+ asum_pline (getvar "Area"))) ) ) (progn (setq sum_line (+ sum_line (vla-get-length (vlax-ename->vla-object prima)))) (setq pt_list (append pt_list (cdr (assoc 10 (entget prima))) (cdr (assoc 11 (entget prima))))) (setq j (1+ j)) ) ) ) (setvar "cmdecho" cmdold) (textscr) (princ " Выбрано: Линий - ")(princ j)(princ "; Полилиний - ")(princ (- nl j))(princ ".\n") (princ " Сумма длин линий - ")(princ sum_line)(princ "\n") (princ " Суммарный периметр полилиний - ")(princ sum_pline)(princ "\n") (princ " Сумма площадей \"замкнутых\" полилиний - ")(princ asum_pline)(princ "\n") (princ) ) ) ) (princ "\n Загружена утилита Lsum,\n") (princ " вычисляющая сумму длин линий и суммарный периметр полилиний,\n") (princ " для \"замкнутых\" полилиний вычисляется сумма площадей.\n") (princ " Для работы с утилитой введите в командной строке Lsum.\n") (textscr) (princ) |
|||
|
||||
Регистрация: 11.10.2004
e•burg
Сообщений: 755
|
2 kos
Для книги "САПР на базе AutoCAD. Как это делается" был написан набор функций для подсчёта периметра примитивов. Ссылка на головную библиотечную функцию: http://www.kurganobl.ru/cad/book.jsp...=793&tn=main#b Это библиотечные функции - для создания программы, головная, естественно, должна быть "обёрнута" интерфейсной. |
|||
|
||||
LISP-программист Регистрация: 25.08.2003
Тутэйшы
Сообщений: 238
|
Alaspher, а почему http://www.kurganobl.ru/cad/book.jsp...=793&tn=main#b адресуется только мне? Остальным тоже должно быть интересно...
__________________
Там все есть для счастья - меня там только нет. Так это значит, что я там - буду! |
|||
|
||||
Регистрация: 11.10.2004
e•burg
Сообщений: 755
|
Цитата:
А по ссылке, естественно, может сходить каждый, кому это интересно, она-ж не запаролена. Т.е., это не: "2 kos only" :-) |
|||
|
||||
Сообщений: n/a
|
По наводке Fantomasa
Цитата:
|
|||
|
||||
LISP-программист Регистрация: 25.08.2003
Тутэйшы
Сообщений: 238
|
Цитата:
Цитата:
__________________
Там все есть для счастья - меня там только нет. Так это значит, что я там - буду! |
|||
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
Proekt> Автокад это сплошной велодром, здесь много есть такого, что можно изобрести. LISP от KOS для подсчета суммарной длины отрезков, полилиний, дуг, сплайнов, окружностей и многоугольников, то есть всего линейного, очень хорош. Если грамотно расположить те элементы, что надо будет измерить, по слоям, или выбрать их Qselect, то эта программа моментально все просуммирует и сообщит, сколько объектов она обработала и сколько из них обсчитала, отбраковав нелинейные.
|
|||
|
||||
Регистрация: 13.01.2005
Сообщений: 2
|
Цитата:
Подскажите пожалуйста! |
|||