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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Библиотека функций > DwgRuLispLib: Геометрия. Вычисление центра масс (centroid) LW полилинии

DwgRuLispLib: Геометрия. Вычисление центра масс (centroid) LW полилинии

Ответ
Поиск в этой теме
Непрочитано 27.05.2009, 13:37 1 | #1
DwgRuLispLib: Геометрия. Вычисление центра масс (centroid) LW полилинии
VVA
 
Инженер LISP
 
Минск
Регистрация: 11.05.2005
Сообщений: 6,788

Алгоритм и код опубликованы gile здесь
Вычисление центра масс производится математически и более чем в 3 раза быстрее, чем конвертирование в регион и получение центра масс из его свойств.
Использованные функции
dwgru-geom-algeb-area - Геометрическое вычисление площади треугольника 3 точкам
dwgru-geom-triangle-centroid - Центр тяжести треугольника, заданного 3 точкам
dwgru-geom-polyarc-centroid - Геометрическое вычисление центра тяжести и площади дугового сегмента полилинии
dwgru-geom-lwpolyline-centroid - Геометрическое вычисление центра масс (centroid) LW полилинии

Код:
[Выделить все]
(defun c:pt-cen	(/ ent elst elv)
;; PT-CEN
;; Creates a point on the selected pline centroid
  (and
    (setq ent (car (entsel)))
    (setq elst (entget ent))
    (setq elv (cdr (assoc 38 elst)))
    (= "LWPOLYLINE" (cdr (assoc 0 elst)))
    (entmake
      (list '(0 . "POINT") (cons 10 (dwgru-geom-lwpolyline-centroid  ent)))
    )
  )
  (princ)
)

Миниатюры
Нажмите на изображение для увеличения
Название: cga5.png
Просмотров: 553
Размер:	12.5 Кб
ID:	21173  

Вложения
Тип файла: lsp dwgru-geom-lwpolyline-centroid.lsp (5.9 Кб, 472 просмотров)


Последний раз редактировалось VVA, 28.05.2009 в 09:37.
Просмотров: 14996
 
Непрочитано 27.05.2009, 21:31
#2
Кулик Алексей aka kpblc
Moderator

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


VVA, может, оформить коды как lsp и присоединить к посту?
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 16.11.2010, 09:49
#3
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,788
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Так же еще одна ссылка на функции Евгения Елпанова
Центроид (центр масс) области, внутри полилинии, имеющей дуговые сегменты.
Центр массы, расположенной вдоль контура полилинии, имеющей дуговые сегменты.
Средняя точка - центр массы, расположенной в вершинах полилинии равными частями
Центроид (центр масс) области, внутри многоугольника
Центр массы, расположенной вдоль контура полилинии, без дуговых сегментов.
Центр массы, средняя точка, пересечение медиан треугольника
Центроид (центр масс) области, внутри дугового сегмента полилинии.
Центроид (центр масс) области, расположенной вдоль контура дугового сегмента полилинии.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Библиотека функций > DwgRuLispLib: Геометрия. Вычисление центра масс (centroid) LW полилинии

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DwgRuLispLib: Геометрия. Принадлежность точки дуге VVA Библиотека функций 3 10.12.2007 12:41
DwgRuLispLib: Геометрия. Пересечение прямой и окружности VVA Библиотека функций 1 07.12.2007 18:59
DwgRuLispLib: Геометрия. Принадлежность точки отрезку VVA Библиотека функций 1 07.12.2007 18:35
DwgRuLispLib: Геометрия. Треугольник VVA Библиотека функций 1 07.12.2007 18:18
определение центра масс здания в SCAD vv SCAD 2 27.01.2004 11:59