Лисп. Полилиния. Характеристики.
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Лисп. Полилиния. Характеристики.

Лисп. Полилиния. Характеристики.

Ответ
Поиск в этой теме
Непрочитано 15.11.2010, 21:09 #1
Лисп. Полилиния. Характеристики.
Serge_}{
 
Регистрация: 15.11.2010
Сообщений: 2

Привет всем.
Хочу написать лисп отрисовки полилинии с неопределенным количеством вершин и далее вычисления центра тяжести и площади. В центре тяжести отрисовываются две перекрещенные линии, а площадь записывается в MTEXT. Пользователь задает полилинию и точку вставку текста.
Есть несколько проблем:
1) куда записать информацию о точках полилинии
2) как отрисовать полилинию по якобы уже известным точкам
3) как вытащить информацию из полилини.
Заранее спасибо.
Просмотров: 2139
 
Непрочитано 15.11.2010, 21:32
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411


1. Зачем? Она и так существует.
2. Вариантов не меньше 4: командой; через entmake / entmakex; использовать ActiveX; использовать .NET-сборки или arx.
3. Прочитать ее свойства
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 16.11.2010, 09:51
#3
Serge_}{


 
Регистрация: 15.11.2010
Сообщений: 2


1) Информации нет. Я её формирую в интерактивном режиме, т.е. необходимо создать лисп, где эта информация создается. Примерно такой:
(SETQ iPoliline 1)
n (GETINT "\nВведите кол-во точек:")
)
(while (< iPoliline n)
(setq pt (GETPOINT "\nВведите точку полилинии:")
iPoliline (+ iPoliline 1)
pl (append pt) ;создаем список
)
) ; while
НО есть существенный недостаток: нужно заранее знать кол-во точек. А если ошибся? Тогда что, все заново?
2) (COMMAND "_pline" pt1 pt2 pt3 "")
(COMMAND "_region" pt1 pt2 pt3 "")
Два метод которые я пока знаю, но они работоют с конкретными точками, а как передать им список pl?
Список предпочтительней, на мой взгляд, т.к. количество элементов не ограниченно.
3) (COMMAND "_massprop" "_c" pt_Bottom_right pt_top_left "" "_y" "square" "")
Могу прочитать свойства и записать их в файл square.mpr, но как отдуда вытащить всю информацию? Читать из файла? Или есть другие варианты?

Последний раз редактировалось Serge_}{, 16.11.2010 в 10:16.
Serge_}{ вне форума  
 
Непрочитано 16.11.2010, 10:34
#4
Лиспер


 
Регистрация: 11.10.2010
Сообщений: 979


1)
Код:
[Выделить все]
(defun test (/ ent)
  (setq ent (entlast))
  (vl-cmdf "_.pline")
  (while (/= (getvar "cmdactive") 0)
    (vl-cmdf pause)
    ) ;_ end of while
  (if (not (equal (entlast) ent))
    (entlast)
    ) ;_ end of if
  ) ;_ end of defun
2)
Код:
[Выделить все]
(defun entmake-pline (lst)
  ;; lst - список координат точек в текущей системе координат
  ;; (entmake-pline '((0. 0.) (10. 20.) (30. 50.)))
  ;; (entmake-pline '((0. 0.) (10. 20.) (30. 50.) (100. 0.)))
  (entmakex (append (list '(0 . "LWPOLYLINE")
                          '(100 . "AcDbEntity")
                          '(100 . "AcDbPolyline")
                          (cons 90 (length lst))
                          ) ;_ end of list
                    (mapcar '(lambda (x) (cons 10 x)) lst)
                    ) ;_ end of append
            ) ;_ end of entmakex
  ) ;_ end of defun
3) вопрос - какую информацию собираешься вытаскивать?
__________________
(/= RegDate StartReadDate)
Лиспер вне форума  
 
Непрочитано 16.11.2010, 10:51
#5
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Цитата:
Сообщение от Serge_}{ Посмотреть сообщение
Могу прочитать свойства и записать их в файл square.mpr, но как отдуда вытащить всю информацию? Читать из файла? Или есть другие варианты?
DwgRuLispLib: Геометрия. Вычисление центра масс (centroid) LW полилинии
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Лисп. Полилиния. Характеристики.

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Лисп. Полилиния Sergiy LISP 3 01.07.2015 13:09
Несоответствие результатов в Лире s.vas Лира / Лира-САПР 19 11.11.2009 07:31
Лисп: моментальное редактирование цифр в предложениях dextron3 LISP 12 27.09.2008 09:33
Лисп для копирования данных нескольких мтекстов по принципу расположения. Red Nova LISP 14 18.06.2008 22:08