|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
09.08.2005, 11:43 | #1 | |
База данных площадей помещений с привязкой к замкн. контуру.
Регистрация: 23.04.2005
Сообщений: 26
|
||
Просмотров: 9641
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
А работа часом не в ADT? Там же можно сделать Properties Definition для стиля Area, на котором и зашарашить все что хочется. И спецификация тоже тогда проблем вызвать не должна. Кстати, насколько мне известно, в 2005-м ADT уже можно встроенными средствами перекидывать спецификации в XLS-файлы. Правда, как это дело повесить на автомат, я не знаю.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 23.04.2005
Сообщений: 26
|
Ситуация такая, в помещениях есть колонны.
Нужна площадь пола за вычетом колонн, чтобы ее значение в метрах с 1 знаком после запятой вставлялось в акад в круг, где сверху номер помещения. . Затем чтобы выводилась общая площадь в виде экспликации. А затем эта экспликация шла в Excel ,. И при изменении контура, менялась бы площадь в акаде - экспликации - Excel. А что такое ADT? |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
ADT = Architectural Desktop. Правда, как там дела с колоннами, не в курсе. Но думаю решаемо. Теперь я лучше послушаю, что умные люди скажут.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
CAD Регистрация: 28.08.2003
Киев
Сообщений: 1,835
|
>elena_din
Честно сказать Вы задали сразу несколько задач. Я решал это в программе ПАРКС в несколько приемов: 1.Команда Маркировка помещений, где Вы указываете: само помещение, можно из участков, добавляемые и удаляемые площади. Например, колонны можно указать один раз и сказать сколько. 2.Команда Экспликация помещений составляется требуемая по ГОСТ таблица. Вывод значений атрибутов блоков в Excel обсуждалось неоднократно, поищите Поиском. Цитата:
|
|||
|
||||
Регистрация: 18.11.2004
Сообщений: 76
|
Если автокад 2005 и выше, то для этого можно воспользоваться полями (field). Естественно, колонны никто автоматически вычитать вам не будет.
Помещение обводится полилинией, в атрибут выводится значение поля, связанное с площадью этой полилинии. Это же значение можно занести в экспликацию помещений. |
|||
|
||||
Регистрация: 23.04.2005
Сообщений: 26
|
цитата: "в атрибут выводится значение поля, связанное с площадью этой полилинии.."
А КАК это сделать - ищу в форуме, не могу найти.......... Как сделать атрибут и ввести в него значение поля, связанное с полилинией? А по-поводу упростить работу - этого всегда хочется |
|||
|
||||
Прораб Регистрация: 16.05.2005
Osh
Сообщений: 52
|
>elena_din
На этом же сайте: http://dwg.ru/dwl/331 есть программка (правда без открытого кода), которая решает не все Ваши задачи, но основные ее части. Применял ее, хорошая программа. |
|||
|
||||
архитектор Регистрация: 10.08.2005
Ростов-на-Дону
Сообщений: 5,295
|
Хочу поделиться свомии наработками:
я обвел комнаты поллилиниями (не печатаемыми) и там где есть колонна, см. рисунок, далее сделал table куда вставил field - area полиинии с conversion factorom поля 0,000001 (чтобы площадь отображалась в м кв.) и drawing units - 0.0 (чтобы площадь отображалась с одной цифрой после запятой.) И так для всех комнат, правда в Exel не носил, но при передвижке стен (полилинию тоже тянем) field-сы сами площадь отслеживают. (да AutoCAD 2006-ой) [ATTACH]1123663189.jpg[/ATTACH] |
|||
|
||||
Регистрация: 23.04.2005
Сообщений: 26
|
Спасибо всем ОГРОМНОЕ за ответы
Проблема в том, что есть помещение, площадью ,например 1500м, и в нем около 50 колонн, каждую так обвести не получится, а конечную площадь за вычетом колонн надо знать точно. И таких помещений МНОГО. По поводу DWL331 я ее скачала, спасибо, Хорошая программа Но не решает проблему с колоннами. ХОтелось бы, чтобы она работала как штриховка, которая колонны огибает. В остальном - почти то, что нужно. Понять бы только как с этой посчитанной площадью сделать атрибут! |
|||
|
||||
архитектор Регистрация: 10.08.2005
Ростов-на-Дону
Сообщений: 5,295
|
> Vook
Просто для наглядности действий >elena_din по адресу: webfile.ru/452438 в течение 7 дней до 09:58 18.08.2005 я положил архив с программой которую нашел где-то на dwg.ru или на autocad.ru я уже не помню. Щелкаете внутри помещения точку - строится штриховка показывающая область измеряемую и потом извлекается значение площади. См. картинку, к сожелению если на приведенной картинке отключить оси, то колонна как островок не включаемый в область штриховки будет проигнорирован. [ATTACH]1123740417.jpg[/ATTACH] |
|||
|
||||
Прораб Регистрация: 16.05.2005
Osh
Сообщений: 52
|
>elena_din
Применяя dwl331, можно воспользоваться командой "_bpoly", конечно, предварительно закрыв слои с осями, сантехникой, фурой и пр. Есть также множество частных лисп программ, похожих на "_bpoly", но с доработками. Например, надо начертить одну полилинию, но на чертеже помещение перерезано множеством линий, "_bpoly" дает много полилиний. Есть лисп, создающий одну полилинию по нескольким замкнутым контурам. Работает примерно как union с регионами. Если интересует, могу выслать. |
|||
|
||||
Arch Регистрация: 21.06.2005
Almaty
Сообщений: 98
|
Привет.
Я не могу объяснять грамотно. Береш контур помещ. и колонны. Переводиш их с помощью Region в ......... потом вырезаеш с помощью subtract периметр помещ. от колонны. Это больше поимут те кто в 3Д работает.
__________________
Интересуюсь всем что связано с Архитектурой |
|||
|
||||
Регистрация: 23.04.2005
Сообщений: 26
|
Спасибо большое!
Получается, что для целей определения площади мне больше подходит программа AREA, которая суммируеплощади из кусочков. Хотелось бы только узнать как в ней изменить количество знаков после запятой на 1. А вот привязка к контуру классная в dwl331. Хотелось бы понять как это объединить . Т потом вставить это в [img] А в номере комнаты чтобы отслеживался порядок по возрастанию, а нижняя цифр как раз и была бы полученной площадью c помощью AREA и привязка с помощью dwl331. [/img] |
|||
|
||||
AutoCAD/AutoLISP Регистрация: 27.08.2003
Seattle/USA
Сообщений: 1,133
|
Работает в Аутокад 2005/2006
(defun plar(/ pt pt1 pt2) (setq pt (getpoint"\nStarting Point: ")) (setq pt1 (getpoint pt "\nNext Point: ")) (command "Pline" pt pt1 "") (while (setq pt2 (getpoint pt1"\nNext Point: ")) (command "pline" "" pt2 "") (command "pedit" pt "j" pt pt2 "" "") (setq pt1 pt2) ) (command "pedit" pt "c" "") (princ) ) (defun ar5 (/ cm fd ar1 ar2 ar3 tab oba lu tpt lin wh) (vl-load-com) (setq cm (getvar "cmdecho")) (setvar"cmdecho" 0) (setq fd (getvar "fielddisplay")) (if (/= fd 0)(setvar"fielddisplay" 0)) (setq ar1 (entsel "\nSelect Area Boundary: ")) (setq ar2 (car ar1)) (setq tab (vlax-ename->vla-object ar2)) (setq oba (vla-get-objectid tab)) (setq lu (getvar "lunits")) (setq tpt (getpoint"\nSelect Area Text Point: ")) (cond ((= lu 2) (setq lin (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu6%qf1\">%"))) ((= lu 4) (setq lin (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu2%ct4%qf1 SQ. FT.\">%"))) ((= lu 5) (setq lin (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu5\">%"))) ((= lu 3) (setq lin (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu2%ct4%qf1 SQ. FT.\">%"))) ((= lu 1) (setq lin (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu1\">%"))) ) (command "mtext" tpt "w" "0" lin "") (princ) ) (defun c:arb (/ key) (initget 1 "Boundary/label-area Label-area") (setq key (getkword "\nWould you like Boundary/label-area[b] or Label-area<L>: ")) (cond ((= key "Boundary/label-area")(plar)(ar5)) ((= key "Label-area")(ar5)) ) (princ) ) |
|||