LISP для нахождения площади региона - вопрос.
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > LISP для нахождения площади региона - вопрос.

LISP для нахождения площади региона - вопрос.

Ответ
Поиск в этой теме
Непрочитано 19.01.2010, 23:59 #1
LISP для нахождения площади региона - вопрос.
Baires
 
94597
Регистрация: 05.05.2005
Сообщений: 900

Для меня бы очень полезна следующая функция - при клике на автокадовском регионе, в оперативную память загоняется площадь этого региона (или при клике на замкнутую полилинию).
Спецы, ваше мнение - возможно ли создать такую функцию или лисп?
Просмотров: 1785
 
Непрочитано 20.01.2010, 09:09
#2
Кулик Алексей aka kpblc
Moderator

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


Ага, возможно. Например, так:
Код:
[Выделить все]
(vl-load-com)

(defun c:area-to-clip (/ ent fun_copytoclipboard)

  (defun fun_copytoclipboard (text / htmlfile result)
    ;; http://forum.dwg.ru/showpost.php?p=146664&postcount=75
    (setq result
           (vlax-invoke
             (vlax-get
               (vlax-get
                 (setq htmlfile (vlax-create-object "htmlfile"))
                 'parentwindow
                 ) ;_ end of vlax-get
               'clipboarddata
               ) ;_ end of vlax-get
             'setdata
             "Text"
             text
             ) ;_ end of vlax-invoke
          ) ;_ end of setq

    (vlax-release-object htmlfile)
    result
    ) ;_ end of defun

  (if (= (type (setq ent (vl-catch-all-apply
                           (function
                             (lambda ()
                               (ssname (ssget "_:S" '((0 . "LWPOLYLINE,REGION"))) 0)
                               ) ;_ end of lambda
                             ) ;_ end of function
                           ) ;_ end of vl-catch-all-apply
                     ) ;_ end of setq
               ) ;_ end of type
         'ename
         ) ;_ end of =
    (fun_copytoclipboard (rtos (vla-get-area (vlax-ename->vla-object ent)) 2))
    ) ;_ end of if
  (princ)
  ) ;_ end of defun
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 20.01.2010, 19:47
#3
Baires


 
Регистрация: 05.05.2005
94597
Сообщений: 900


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Ага, возможно. Например, так:
.....

Предыдущий вопрос снят - на форуме нашёл инструкцию как запустить этот лисп, огромное спасибо!

Последний раз редактировалось Baires, 20.01.2010 в 20:01.
Baires вне форума  
 
Непрочитано 20.01.2010, 21:08
#4
Кулик Алексей aka kpblc
Moderator

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


Так оно работает как должно? Может, все же проще будет, например, в какой-то сторонний текстовый файл результаты писать? Ну или сразу поле в dwg делать
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > LISP для нахождения площади региона - вопрос.



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите определиться с материалом для ж.б. каркаса с сеткой колонн 16.2х16.2 м G.A.W. Железобетонные конструкции 7 26.09.2009 10:37
ГОСТ Р 53231-2008 UnyqUm Поиск литературы, чертежей, моделей и прочих материалов 5 15.09.2009 14:41
Вопрос по нормам для проектирования встроенной котельной Технадзор Поиск литературы, чертежей, моделей и прочих материалов 11 18.11.2008 17:36
LISP для AutoCAD-2009: проблемы со скобками Лентяй LISP 14 16.11.2008 02:40
Вопрос по LISP - "Тихий выход" Torino LISP 2 31.07.2004 19:44