Тема: Как создать прогу для определения площади замкнутой фигуры.
У меня проблемка не могу создать прогу для определения площади замкнутой фигуры в м кв. Хотя , я черчу в мм. Помогите.
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Autodesk → AutoCAD → Как создать прогу для определения площади замкнутой фигуры.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
У меня проблемка не могу создать прогу для определения площади замкнутой фигуры в м кв. Хотя , я черчу в мм. Помогите.
Я не понял а чем команда _Area плоха, те бе что в ломы результат на 1000000 разделить, чтобы получить м2
Время много тратится на перевод в м кв потому, что у многих объектов приходится считать площади помещений.
Посади на кнопку. Сначала командой "area" меряешь, а потом этой ф-ей вставляешь значение. Переменная popersc - масштаб.
(defun c:setarea ()
(if (= popersc nil)
(setq popersc 1)
)
(setq yp3 (getpoint "Точка вставки"))
(setq hx3 (nth 0 yp3))
(setq hy3 (nth 1 yp3))
(setq triar0 (getvar "area"))
(setq triar0 (/ (* triar0 popersc popersc) 1000 1000))
(setq triar0 (rtos triar0))
(setq triar0 (strcat triar0 "м2"))
(setq xyz1 (list hx3 hy3))
(command "text" xyz1 0 triar0)
)
А, интерестно, есть программа для измерения площади методом ввода точки внутри замкнутого контура?
И (если ее нет) реально ли ее написать на лиспе?
ага , по типу определения облости штриховки..
неплохо бы..
да, да, вот я это и хотел. И заранее задаёшь масштаб
Изучайте Map. В нем есть все что вам надо. Масштаб правда обычно используют тысячный.
Есть лиспка AREAUTIL, ну так в ней та же замороча - если в миллиметрах чертишь, так она в мм2 и выдает...
вот в АДТ вроде можно настроить.... Переходим на?
так несложно поделить на милион :) в тойже лисп проге переключалку/вопросик сделать м/мм/см/т.п. ;)
> Alexander
AREAUTIL - то что? можно подробнее плиз.
>Аркадий Эйдельман
Хотелось бы все-таки в акаде. А програм много хороших и разных, кто ж спорит?!
>murzic
По моему это вообще не проблема - перевести мм2 в м2, благо в начальной школе все учились:) Представляете - получается даже без калькулятора!
Неужели это и правда такая сложность - найти площадь штриховки?
Странно что до сих пор не написали такую прогу, а то при нахождении площадей сложных фигур приходится преобразовывать их в регион, по моему - это недоработка акада.
> Апельсинов-2004
Так Map вообще-то начиная с 2000 включен в состав Акада.
Там можно за день разобраться. Там речь идет вообще то о построении топологии.
кстати пришла на ум еще одна команда:
boundary или просто "bo" может вам ее надо.
> Апельсинов-2004,
Jekki.
Есть такая программка, написанная на Lisp-е. Предназначена для определения площади помещений. Тыкаешь внутрь замкнутого контура - запросы о номере помещения, названии - и все эти данные вставляются в блок с атрибутами. Если потом надо с этими площадями что-нибудь делать, извлекаешь атрибуты с данных блоков в Excel и считай что хочешь. Если надо, могу скинуть. Там будет програмка и блок. Блок вставляется с учетом масштаба (DIMSCALE).
> Аркадий
Эйдельман
>Так Map вообще-то начиная с 2000 включен в состав Акада.
да, ну? И где это он там спрятался-то? Че-то я его найти не могу!
А вот за bo спасиБО:) и правда нужная вещь, сколько мимо ходил, а не замечал.
>Leonid_01
Напишу вам письмо.
Я считаю площади помещений через команду Регион. В свойствах смотришь S и периметр или через команду Площадь-объект. Всё просто и никаких программ не надо. (мне)
> Leonid_01
Я написал тебе письмо!
Заранее спасибо!
Cпасибо Leonid_01 за програмку, я ее переделал, и получилось то, что мне надо, при указании точки внутри замктутого контура, выводится его площадь и периметр:
(defun C:area1 (/ t1 s1 q1 q2 q3)
(setvar"cmdecho"0)
(setq os(getvar"OSMODE"))
(setvar"OSMODE"0)
(setq t1 (getpoint "\nSpecify internal point: "))
(command "_boundary"t1"")
(setq perim(entlast))
(command"_area""ob"(entlast))
(command"_erase"(entlast)"")
(command"_erase"perim"")
(setq ar(getvar"area"))
(setq PR(getvar"perimeter"))
(setvar"cmdecho"1)
(princ"\n Аrea:")(princ ar)(princ" ")(princ"Perimetr:")(princ pr)
(princ))
Одна проблема, при указании незамкнутого контура, программа ведет себя некоректно. Если кто знает как сделать просто сообщение об ошибке - помогите.
У меня написаны процедуры на VBA для подсчета площадей. Площадь выбраной замкнутой полилинии переводится в кв.м и выводится на экран, а также заносится в буфер обмена. Есть вариант с занесением значния площади в соответствующий атрибут соответствующего блока. Но до конца формолизовать задачу поддержки значений площадей при проектирование мне не удается. Вероятно одного ACADа не достаточно.
Я пошел по пути вычисление площадей (а также периметров, поверхностей, объемов и масс) по задаваемым точкам или объектам с выводом значений на экран, в текст или колонку текста. С переводом значений в различных единицах измерения при любом масштабе чертежа. Если задаются только 2 точки, то можно получить автоматом площадь прямоугольника. AREATXT.
http://geol-dh.narod.ru/kai_stru.html
Господа, буду признателен.
Бросьте на мыло, програмку для присвоения атрибуту площади контура. У меня 11-ти этажная больница, замучался. Сил нет.
...>Ромыч
Мне тоже надо... (для експликаций помещений)
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Autodesk → AutoCAD → Как создать прогу для определения площади замкнутой фигуры.
Форум работает на PunBB, при поддержке Informer Technologies, Inc