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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как посчитать площадь помещения на плане?

Как посчитать площадь помещения на плане?

Ответ
Поиск в этой теме
Непрочитано 01.03.2011, 02:08 #1
Как посчитать площадь помещения на плане?
lbmoney
 
Архитектор
 
Минск
Регистрация: 01.03.2011
Сообщений: 12

Автокад 2011. Не могу найти Ареа. Раньше работал со старыми версиями и все нормально было.
Просмотров: 63649
 
Непрочитано 01.03.2011, 05:47
#2
Disney

Геодезист
 
Регистрация: 12.03.2009
Сибирь (где медведи по улицам ходят)
Сообщений: 860
Отправить сообщение для Disney с помощью Skype™


Цитата:
Сообщение от lbmoney Посмотреть сообщение
Не могу найти Ареа
Способ доступа:
  • из справки:
    Лента: Вкладка "Главная"панель "Утилиты""Площадь".
    Меню: СервисСведенияПлощадь
  • из истории:
    Панель: СведенияПлощадь
__________________
Почему все вдруг становятся умными, когда уже не надо?
Disney вне форума  
 
Непрочитано 01.03.2011, 06:59
#3
skkkk


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


Кстати, где-то на форуме, вроде, в теме Мои макрокоманды есть макрос, который сразу вставляет значение площади замкнутого контура в виде текста. Сейчас не могу посмотреть, если интересно, позже подскажу.
skkkk вне форума  
 
Непрочитано 01.03.2011, 08:01
#4
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,337


lbmoney, в комстроке набери _area
Хмурый вне форума  
 
Непрочитано 01.03.2011, 08:36
#5
Ыых


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


зачем Тебе ареа...берешь полилинию...обходишь по углам..смотришь в свойствах площадь...и все...
Ыых вне форума  
 
Непрочитано 01.03.2011, 08:47
#6
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Цитата:
Сообщение от Ыых Посмотреть сообщение
зачем Тебе ареа...берешь полилинию...обходишь по углам..смотришь в свойствах площадь...и все...
А где ее взять-то, эту полилинию?
Profan вне форума  
 
Непрочитано 01.03.2011, 09:43
#7
Ыых


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


В смысле..? кликаешь на пиктограмму(панель рисование,третья кнопка сверху)..это и есть полилиния..обводишь углы..выступы если есть...замыкаешь..смотришь свойства...площадь...и все...Я всегда площадь полилинией считаю..она у меня отдельным слоем..потом просто слой выключаю..и все..удобно...
Ыых вне форума  
 
Непрочитано 01.03.2011, 13:45
#8
sasha_lif

Дизайнер-конструктор
 
Регистрация: 29.05.2004
Kiev
Сообщений: 1,187
<phrase 1=


skkkk,
Измерение площади и периметра
Классная штука, попробуйте
Вдобавок, при изменении контура, АВТОМАТИЧЕСКИ изменяются значения площади и периметра
__________________
Kiev, Ukraine
sasha_lif вне форума  
 
Автор темы   Непрочитано 01.03.2011, 17:08
#9
lbmoney

Архитектор
 
Регистрация: 01.03.2011
Минск
Сообщений: 12


Спасибо всем большое. Оказывается существует множество вариантов.
П.С. Не в тему. Есть на этом форуме раздел посвященный различным библиотекам сантехники, мебели и т.п.
lbmoney вне форума  
 
Непрочитано 30.08.2011, 15:55
#10
kubo


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


Цитата:
Сообщение от Ыых Посмотреть сообщение
зачем Тебе ареа...берешь полилинию...обходишь по углам..смотришь в свойствах площадь...и все...
А еще легче сделать заливку,и посмотреть в свойствах её площадь...
kubo вне форума  
 
Непрочитано 30.08.2011, 16:04
#11
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Расскажи, как сделать заливку помещения.
Profan вне форума  
 
Непрочитано 30.08.2011, 16:27
#12
Ыых


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


Заливка не всегда показывает площадь..и муторно...
Ыых вне форума  
 
Непрочитано 30.08.2011, 16:36
#13
kubo


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


Чтобы залить помещение конечно придется закрывать все двери,удобнее полилиниями. Но ведь площади не только у помещений бывают. А если форма неправильная,с кривыми,то заливкой однозначно лучше.
kubo вне форума  
 
Непрочитано 30.08.2011, 17:31
#14
Ыых


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


поставте утилиту ""Дополнительные панели для работы с полилинией""..и любая кривизна помещения Вам покорится...
Ыых вне форума  
 
Непрочитано 30.08.2011, 21:21
#15
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,095


Цитата:
Сообщение от kubo Посмотреть сообщение
Чтобы залить помещение конечно придется закрывать все двери........
Когда-то решил сделать прогу, которая автоматически определяет контуры помещений. Точный подсчет площадей не входил в планы, важно было сопоставить контуры и номера помещений. В рамках этой затеи сделал "автоматический закрыватель дверей" - прогу, которая определяет, что некоторые отрезки олицетворяют "открытые двери" и прочерчивает "дублеров" в закрытом положении. Кому-то надо?
Но оказалось, что определение контуров заливкой или с помощью boundary - весчь настолько нестабильная, что я отказался от всей этой идеи

Offtop: PS на вопрос, почему бы с самого начала не прочерчивать дверь в обоих положениях (например, с помощью блока и разных слоев) сразу отвечу, что работаю с чужими подосновами.

Последний раз редактировалось kp+, 30.08.2011 в 21:28.
kp+ вне форума  
 
Непрочитано 30.08.2011, 22:15
#16
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от kp+ Посмотреть сообщение
Кому-то надо?
Опубликуй, если не жалко
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 31.08.2011, 00:01
#17
Yujeene


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


Я всегда штрихую, а потом в свойствах штриховки смотрю площадь!Очень быстро и удобно!
Yujeene вне форума  
 
Непрочитано 31.08.2011, 08:23
#18
Ыых


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


Не всегда свойства показывают площадь штриховки..не всегда...а полилиниями удобно...обвел все...посмотрел и площадь..и длину...удобно для подсчета отделки...Что касается дверей.....мы рисуем двери..уже в размер..и с открыванием..и на чертеже видно..мешаю ли они друг другу...или нет...
Ыых вне форума  
 
Непрочитано 31.08.2011, 20:14
#19
Yujeene


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


Цитата:
Сообщение от Ыых Посмотреть сообщение
а полилиниями удобно
Ну не скажи, допустим площадь нужно найти тела сложной геометрической вормы, либо нескольких тел сразу, тогда удобнее штриховать
Yujeene вне форума  
 
Непрочитано 01.09.2011, 08:30
#20
Ыых


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


в моих чертежах нет тел сложной формы...чисто 2Д...но и при 3Д моделировании есть функции подсчета..но никак не штриховка...у меня бывает в ГП штриховка вообще площадь не показывает...
Ыых вне форума  
 
Непрочитано 02.09.2011, 12:06
#21
Spiteful Berkut

Инженер-конструктор
 
Регистрация: 13.12.2007
Россошь, Воронежская обл.
Сообщений: 307
<phrase 1=


Эх. Вот мой скриптик.
Код:
[Выделить все]
 (defun C:qwa()
  (setq
    ds 15     ; Толщина штукатурки 15 мм
    sc 1000   ; В 1 метре — 1000 единиц чертежа
  )

  (setq Pt (getpoint "Укажите точку внутри комнаты: "))
  (command 
    "_-boundary" "д" "о" "н" "+X" "" Pt "" ; Создание контура комнаты
    "_offset" (* ds (/ sc 1000)) (entlast) Pt ""           ; Штукатурка ds мм
    "_area" "_o" (entlast)                 ; Площадь с учетом штукатурки
    "_erase" (entlast) ""                  ; Удаление контура и штукатурки
    "_erase" (entlast) ""
  )
  
  (princ (strcat "\n\nПлощадь: " (rtos (/ (getvar "area") (* sc sc)) 2 2) " м2\n"))
  (princ)

  (setq
    qwas (rtos (/ (getvar "area") (* sc sc)) 2 2)   ; Преобразуем полученную площадь в число
    qwas (vl-string-translate "." "," qwas)         ; Меняем в числе точку на запятую
  )
  
  (command
    "_text" "В" "НП" Pt 250 0 (strcat "%%U" qwas) ""
    "_move" (entlast) "" "_from" Pt "@300,-300"
  )
)
Для корректной работы нужно замыкать проёмы (например двери). Я это делаю парой отрезков в непечатаемом слое. Работает на ура. На изменение контура не реагирует.

UPD
Да. Нужно упомянуть, что скрипт будет работать только в русской версии.
Spiteful Berkut вне форума  
 
Непрочитано 03.09.2011, 19:32
1 | #22
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,095


А вот мой "закрыватель дверей". Принимайте как есть. Гуру, не пинайте по поводу низкого штиля программирования.

Открытые двери должны быть нарисованы в отдельном слое DOORS (так рисуют наши архитекторы), закрытые двери рисуются в слое door_plug.
Если надо поменять на свои обозначения - автозамена рулит.

Использованы некоторые фрагменты кода с этого форума и Express tools. Респект авторам.
запуск командой dc2

Код:
[Выделить все]
 

(defun pbsel(samBl vlaPoly /  utilObj ordLst
         Index curOrd stopFlag blSet curVar
	 filLst)

  (if(and vlaPoly samBl)
    (progn
    (setq utilObj(vla-get-Utility
       (vla-get-ActiveDocument
         (vlax-get-acad-object)))
    ordLst '()
    Index 0
    filLst(vl-remove-if
	    '(lambda(x)(not(member(car x) '(0 2))))dxfLst)
    ); end setq

    (setq dxfLst(entget samBl))
    
    (while(not stopFlag)
 (if
  (not
    (vl-catch-all-error-p
      (setq curOrd (vl-catch-all-apply
        'vla-get-Coordinate(list vlaPoly Index)))))
  (progn
    (setq curOrd
	   (append
	     (vlax-safearray->list
	       (vlax-variant-value curOrd))
	        (list(vla-Get-Elevation vlaPoly))))
    (setq curVar(vlax-make-safearray 5 '(0 . 2)))
    (vlax-safearray-fill curVar curOrd)
    (setq curOrd(vlax-make-variant curVar))
    (setq ordLst
     (append ordLst
       (list
       (vlax-safearray->list
         (vlax-variant-value
           (vla-TranslateCoordinates utilObj
              curOrd acOCS acUCS :vlax-false
	       (vla-get-Normal vlaPoly))))
       ); end list
       ); end append
    ); end setq
    ); end progn
  (setq stopFlag T)
  ); end if
      (setq Index(1+ Index))
      ); end while

      (setq blSet  (ssget "_CP" ordLst filLst))
      (if blSet
	(progn
    	 (setq blSet_res (ssnamex blSet))
    	 (setq blSet nil)
	 (setq blSet_res (mapcar 'cadr blSet_res));выкидывание номеров набора из списка
	 (setq blSet_res (vl-remove-if-not '(lambda (x) (eq (type x) 'ENAME)) blSet_res))
	)
      )
);eo progn
);eo if
blSet_res
    
); end of c:pbsel




;проверка пересечений линий с блоками
(defun iw (drova line / I INTER_LST)

	(foreach a1 drova
	 (if (and
	       (vlax-method-applicable-p a1 'INTERSECTWITH)
	       (not (or (= (vla-get-objectname a1) "AcDbAttributeDefinition")
	                (= (vla-get-objectname a1) "AcDbPoint")
			(= (vla-get-objectname a1) "AcDbHatch")
	       ))
	     )
	   
	  (if (not
	        (vl-catch-all-error-p
	          (setq i (vl-catch-all-apply
	            (function vlax-safearray->list)
		     (list
		       (vlax-variant-value
			 (VLA-INTERSECTWITH line a1 0)))));точки пересечения с очередным поленом
	        )
	      )
	    
	  (foreach a2
	   (mapcar (function (lambda (x1 x2 x3) (list x1 x2 x3))) i (cdr i) (cddr i))
	   (setq inter_lst (cons a2 inter_lst))
	  );end of foreach a2
	  );end of if
	  );end of if
	);end of foreach a1
 INTER_LST
)



(defun R2d (nbrOfRadians)
  (* 180.0 (/ nbrOfRadians pi))
)


(defun p2ppl (point fuzz)
      		  (list
                   (list (- (car point) fuzz) (- (cadr point) fuzz))
                   (list (- (car point) fuzz) (+ (cadr point) fuzz))
                   (list (+ (car point) fuzz) (+ (cadr point) fuzz))
                   (list (+ (car point) fuzz) (- (cadr point) fuzz))
                  )
      
  )


;;;;;;;;СОБСТВЕННО ЗАКРЫВАТЕЛЬ
(defun c:dc2
       (/ ss fuzz
	door_list
	door_points_list
	point_list
	hinges hing_list hing_list1
	box_points
	FREE_POINT HING_POINT
	ATT_DIA ATT_REQ CMD_ECHO CURRENT_LAYER DOOR_ANGLE_U DRAW_FLAG FREE_POINT_U HING_POINT_U SNAP_MODE
	ucs_icon
	AOBJ DOOR_LENGTH3 P_LINE VL-POINT_LIST
	LINE_POINT_LIST L_LINE VL-POINT_LIST1
	END_POINTS LINE_POINT_LIST1 SS2
	WALLS
	DIST1 DIST2  I K POINT_LIST1
	)
  ;(load "pltools.fas")
  (vla-StartUndoMark (vla-get-ActiveDocument (vlax-get-acad-object)))
  (load "overkill")
  (setq fuzz 10.0)
  (setq hp_gap_tol (getvar "hpgaptol"))
  (setvar "hpgaptol" fuzz)
	(vl-load-com)
  	(vl-cmdf "_zoom" "_all")
        (vl-cmdf "_-layer" "_m" "door_plug" "")
  	(setq aobj (vla-get-ActiveDocument (vlax-get-acad-object)))
	(setq current_layer (getvar "clayer"))
	(setq snap_mode (getvar "osmode"));сохранение режима привязок
	(setvar "osmode" 0);выкл привязки
	(setq cmd_echo (getvar "cmdecho"))
	(setvar "cmdecho" 0)
	(setq att_dia (getvar "attdia"))
	(setvar "attdia" 0)

	(setq att_req (getvar "attreq"))
	(setvar "attreq" 0)

  	(setq ucs_icon (getvar "UCSICON"))
	(setvar "UCSICON" 0)



  (setq ss (ssget "_X" '((0 . "LINE") (8 . "DOORS"))));выбор всех дверей в чертеже, если архитекторы не нагадили
  (setq door_list (ssnamex ss));преобразование набора в список
  (setq ss nil)
  (setq door_list (mapcar 'cadr door_list));выкидывание номеров набора из списка
  ;(setq vl_door_list (mapcar 'vlax-ename->vla-object door_list));преобразование во VLA-объекты
  (setq door_list (mapcar 'entget door_list))

  ;окрестности конечных точек дверей  и сами двери
  (foreach x door_list
    (setq door_points_list (append door_points_list (list
						      (list
							(cons "points" (list
									(list
									 (cons "point" (cdr (assoc 10 x)))
									 (cons "box_points" (p2ppl (cdr (assoc 10 x)) fuzz))
									)
									(list
									 (cons "point" (cdr (assoc 11 x)))
									 (cons "box_points" (p2ppl (cdr (assoc 11 x)) fuzz))
									)
								       )
							)
							(assoc -1 x)
						      )
				   		    )
		           )
    )
  )

  ;на что завешены двери
  (foreach x door_points_list

   (setq hinges nil hing_point nil) 
   (setq point_list (cdr (assoc "points" x)))

   (foreach z point_list
     (setq box_points (cdr (assoc "box_points" z)))
     (setq ss (ssget "_CP" box_points
		     	      '(
				(0 . "*LINE")
				(-4 . "<NOT") (8 . "DOORS") (-4 . "NOT>")
			       )
	      )
     )

     
	
     (if ss
       (progn
	 (setq hinges (ssnamex ss))
	 (setq hinges (mapcar 'cadr hinges));выкидывание номеров набора из списка
	 (setq hinges (vl-remove-if-not '(lambda (x) (eq (type x) 'ENAME)) hinges))
;;;;;;;;;;;;;;;;
;;;
;;;	 (setq vl_hing_list (mapcar 'vlax-ename->vla-object hinges));преобразование во VLA-объекты
;;;	 (foreach w vl_hing_list (vla-put-color w 3))
;;;;;;;;;;;;;;;;;
	 (setq hinges (cons "hinges" hinges))
	 (setq ss nil)
	 (setq hing_point (cons "hing_point" (cdr (assoc "point" z))))
       );eoPROGN
       ;else
       (setq free_point (cons "free_point" (cdr (assoc "point" z))))
     );eoIF ss
    );eo Foreach z

    ;если дверь на чем-то висит
    (if hinges
      (progn
	(setq hing_list1
	       (list
		 (assoc -1 x)
		 hing_point
		 free_point
		 hinges
	       )
	)
	(setq hing_list (append hing_list (list hing_list1)))
      );eoProgn
    );eo if hinges 
   );eoforeach x

  (VL-CMDF "_UCS" "_d" "kpss")
  (VL-CMDF "_UCS" "_s" "kpss")
  
  (foreach x hing_list
    (setq hinges (cdr (assoc "hinges" x)))
    (setq free_point (cdr (assoc "free_point" x)))
    (setq hing_point (cdr (assoc "hing_point" x)))
    (setq door_length3 (* 3.0 (vla-get-length (vlax-ename->vla-object (cdr (assoc -1 x))))))

    (setq draw_flag nil end_points nil)


    (foreach hing hinges
      (VL-CMDF "_UCS" "_n" "_ob" hing )
      (setq hing_point_u (trans hing_point 0 1))
      (setq free_point_u (trans free_point 0 1))
      (VL-CMDF "_UCS" "_n" "_m" hing_point_u)
      (setq door_angle_u (angle hing_point_u free_point_u))
      (setq door_angle_u (r2d door_angle_u))

      (if (and (>= door_angle_u 45.0) (<= door_angle_u 135.0))  (setq draw_flag 1) )
      (if (and (>= door_angle_u 225.0) (<= door_angle_u 315.0))
	(progn
	  (VL-CMDF "_UCS" "_n" "_z" 180)
	  (setq draw_flag 1)
	)
      )

      (if (= draw_flag 1)
	(progn
	  ;;;;;;;;;;;;;;линейные

	      (setq line_point_list (list
					 (list 0.0 fuzz)
					 (list 0.0 door_length3)
			       	    )
	      )
	      (setq line_point_list1 (mapcar '(lambda (y) (trans y 1 0)) line_point_list))
	      (setq line_point_list1 (apply 'append
				      	    (mapcar 'list (mapcar 'car line_point_list1)
						          (mapcar 'cadr line_point_list1)
					    )
			       )
	      )
	      
	      (setq vl-point_list1 (vlax-make-variant (vlax-safearray-fill (vlax-make-safearray vlax-vbDouble '(0 . 3)) line_point_list1)))
	      (setq l_line (vla-AddLightWeightPolyline (vla-get-ModelSpace aobj) vl-point_list1))

    	      (setq ss2 (ssget "_f" line_point_list
    			     	      '(
    					(0 . "*LINE")
    					(-4 . "<NOT") (8 . "DOORS") (-4 . "NOT>")
    				       )
    	   	       )
    	      )
	      (if ss2
		(progn
		 (setq walls (ssnamex ss2))
		 (setq walls (mapcar 'cadr walls));выкидывание номеров набора из списка
		 (setq walls (vl-remove-if-not '(lambda (x) (eq (type x) 'ENAME)) walls))
		 (setq walls (mapcar 'vlax-ename->vla-object walls))
                 (VL-CMDF "_UCS" "_w")
		 (setq end_points (iw walls l_line))
		 (VL-CMDF "_UCS" "_p")
		)
	      )
	      (setq ss2 nil)
	      (vla-erase l_line)


	  ;;если линейные ничего не нашли, то прямоугольные
	      (if (not end_points)
		(progn
		      (setq point_list (list
					 (list (- fuzz) fuzz)
					 (list (- fuzz) door_length3)
					 (list fuzz door_length3)
					 (list fuzz fuzz)
					 (list (- fuzz) fuzz)
				       )
		      )
		      (setq point_list1 (mapcar '(lambda (y) (trans y 1 0)) point_list))


		      (setq point_list1 (apply 'append
					      	    (mapcar 'list (mapcar 'car point_list1)
							          (mapcar 'cadr point_list1)
						    )
				       )
		      )

		      
		      (setq vl-point_list (vlax-make-variant (vlax-safearray-fill (vlax-make-safearray vlax-vbDouble '(0 . 9)) point_list1)))
		      (setq p_line (vla-AddLightWeightPolyline (vla-get-ModelSpace aobj) vl-point_list))
		      (setq ss2 (ssget "_f" point_list
	    			     	      '(
	    					(0 . "*LINE")
	    					(-4 . "<NOT") (8 . "DOORS") (-4 . "NOT>")
	    				       )
		      		)
		      )
		      (if ss2
			(progn
			 (setq walls (ssnamex ss2))
			 (setq walls (mapcar 'cadr walls));выкидывание номеров набора из списка
			 (setq walls (vl-remove-if-not '(lambda (x) (eq (type x) 'ENAME)) walls))
			 (setq walls (mapcar 'vlax-ename->vla-object walls))
			 (VL-CMDF "_UCS" "_w")
			 (setq end_points (iw walls p_line))
			 (VL-CMDF "_UCS" "_p")
			)
		      )
		      (setq ss2 nil)
		      (vla-erase p_line)
		  );eo progn
		);eo if end_points
	);eo progn
      );eo if draw_flag
      (if end_points
	(progn
	  (setq dist1 (distance (car end_points) hing_point))
	  (setq i 0 k 0)
	  (while (< i (length end_points))
	    (setq dist2 (distance hing_point (nth i end_points)))
	    (if (> dist1 dist2)
	      (progn
		(setq k i)
	        (setq dist1 dist2)
	      )
	    )
	    (setq i (1+ i))
	  )
	  (vla-Addline (vla-get-ModelSpace aobj) (vlax-3d-point hing_point) (vlax-3d-point (nth k end_points)))
	)
       )
	
	 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;      (VL-CMDF "_UCS" "_w")
;;;      (foreach  e end_points
;;;	(vl-cmdf "_point" e)
;;;      )
;;;      (VL-CMDF "_UCS" "_p")
;;;;;;;;;;;;;;;;;;;;;;;;;;;      
      (setq draw_flag nil)
    );eo foreach hing
    (VL-CMDF "_UCS" "_r" "kpss")
   );eo foreach x hing_list
  
  
      
      
(setq ss (ssget "_X" '((8 . "door_plug"))))      
(acet-overkill2 (list ss fuzz nil  T nil nil))
(setq ss nil)


(setvar "osmode" snap_mode);привязки в прежнее положение
(setvar "cmdecho" cmd_echo)
(setvar "attdia" att_dia)
(setvar "attreq" att_req)
(setvar "clayer" current_layer)
(setvar "hpgaptol" hp_gap_tol)
(setvar "UCSICON" ucs_icon) 
(vla-EndUndoMark (vla-get-ActiveDocument (vlax-get-acad-object)))  
  (princ)
     
 )

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
kp+ вне форума  
 
Непрочитано 05.09.2011, 09:08
#23
Ыых


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


Зачем писать всякие скрипты...открытые..закрытые...мы архитекторы...рисуем сразу же открытые двери...и все...все сразу же видно....и нам..и конструкторам..и заказчикам...куда что открывается...
Ыых вне форума  
 
Непрочитано 05.09.2011, 10:19
#24
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,095


Цитата:
Сообщение от Ыых Посмотреть сообщение
...мы архитекторы...рисуем сразу же открытые двери...и все...все сразу же видно....и нам..и конструкторам..
А командам, связанным с автоматическим (автоматизированным) построением контуров или заливки - не видно Все для них, родимых

Цитата:
а полилиниями удобно...обвел все...посмотрел и площадь..и длину...
обводить-то вручную! Не напрягает?

Цитата:
Зачем писать всякие скрипты
И то правда. И вообще, кульман рулит

Последний раз редактировалось kp+, 05.09.2011 в 12:09.
kp+ вне форума  
 
Непрочитано 29.11.2012, 16:10
#25
Кошка Мур


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


Цитата:
Сообщение от Yujeene Посмотреть сообщение
Ну не скажи, допустим площадь нужно найти тела сложной геометрической вормы, либо нескольких тел сразу, тогда удобнее штриховать
У меня сейчас вот очень сложная штриховка. площадь не показывается.
Кошка Мур вне форума  
 
Непрочитано 29.11.2012, 20:45
#26
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,095


Цитата:
Сообщение от Кошка Мур Посмотреть сообщение
У меня сейчас вот очень сложная штриховка. площадь не показывается.
Значит, ее контур среди прочего образован "неправильными" полилиниями или сплайнами. Особенно характерно для полилиний с совпадающими вершинами. Может помочь "прополка полилинии" из PLTOOLS. Вот здесь подробнее обсуждали.
kp+ вне форума  
 
Непрочитано 11.03.2013, 23:33
#27
Катофей


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


А мне может кто-нибудь подсказать, совсем измучилась(((.... мне необходимо в магазине (площадь более 1000 кв.м) сделать помещение, площадью равным ровно 60 кв.м. Есть ли возможность, сразу задать как то данный параметр площади, а не чертить сначала стены , затем мерить площадь полилиниями, т.к подогнать равное значение (60 к.м) ну практически нереально, либо надо очень долго мучиться.

я новичок. заранее спасибооо
Катофей вне форума  
 
Непрочитано 11.03.2013, 23:42
#28
Кулик Алексей aka kpblc
Moderator

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


2х30; 4х15; 6х10 и т.д. - варианты?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 12.03.2013, 00:48
#29
Катофей


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


не совсем подходящий для меня вариант, т.к эта площадь не прямоугольная (забыла указать). ее, конечно, можно разбить на прямоугольник и треугольники, но это для меня оч. долгий вариант( хотелось бы узнать есть ли вариант попроще.
Катофей вне форума  
 
Непрочитано 12.03.2013, 01:21
#30
Кулик Алексей aka kpblc
Moderator

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


Отлично. Еще примеры - уже чисто треугольники: треугольник с одной стороной 40 м, и высотой проведенной от этой стороны (в любую, кстати, сторону) - 30 м. Тоже вариант, кстати, и тоже площадь 60 кв.м.
В имеющейся постановке задачи однозначного решения нет и (как мне кажется) быть не может.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 12.03.2013, 09:37
#31
Катофей


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


я вас поняла..... это все необходимо высчитывать только мне самой( я все таки надеялась что есть более легкий и удобный способ.

Спасибооо)
Катофей вне форума  
 
Непрочитано 12.03.2013, 10:07
1 | #32
kosolaps

ame mebel
 
Регистрация: 07.06.2011
58N56E
Сообщений: 131


конечно есть
волшебная кнопка Infer Constraints, самая первая внизу
спокойно "двигаешь" стены, а 60m2 контролируешь в свойствах

Последний раз редактировалось kosolaps, 12.03.2013 в 17:33.
kosolaps вне форума  
 
Непрочитано 12.03.2013, 12:15
1 | #33
CTPAHHNK

чертила
 
Регистрация: 30.11.2009
Вятка
Сообщений: 829


Я делаю следующим образом:
Задаём контур замкнутой полилинией (в дефпойнте); как правило, не плайном, а прямоугольником либо полигоном с нужным количеством вершин.
Если в контуре есть дуги окружностей, то придётся повозиться.
Если контур очень сложный (множество углов, лекальные кривые),
то замыкаем контур (в дверях) временными отрезками и штрихуем (без островов) опять же в дефпойнте.
Слишком сложные штриховки не считают площадь, поэтому желательно восстановить их до полилинии,
если в помещении имеются внутренние колонны, то восстанавливаем до области.
Если нужно учесть внутреннюю отделку, то [Подобие] (OFFSET) Вам в помощь (не сработает с штриховкой и областью).
Далее помещаем мтекст в нижний правый угол помещения (будущая площадь).
В мтексте добавляем поле, в графе 'Имена полей' выбираем 'Объект' --> 'Тип объекта', щёлкаем на нужном объекте (полилинии),
ограничивающем помещение, в графе 'Свойство' выбираем 'Площадь' (формат - десятичный; текущая точность - 0.00;
в 'дополнительный формат' вводим масштабный коэффициент (обычно 1E-6). [OK]
В Экспликации помещений в мтексте площади соответствующего помещения вставляем поле --> Объект --> Тип объекта --> кликаем
мтекст с площадью на плане, в графе 'Свойство' выбираем 'Содержимое'. [OK]
Для подсчета суммы площадей в экспликации (например по этажу):
обязательно сохранитесь!
в соответствующем мтексте вставляем поле --> в графе 'Имена полей' выбираем 'Формула' --> указатель в графу 'Формула' --> правый клик,
встать поле, кликаем мтекст с площадью (тут же в экспликации), в графе 'Свойство' выбираем 'Содержимое', прописываем плюс '+', вставляем следующую площадь, сюда же можно прописать коэффициенты помещений (типа ...+0,3*[Вставить поле]+[Вставить поле]+...). Варить до готовности.

Минусы этого способа очевидны: повышенная время- и трудоёмкость.
Плюсы:
Фактор человеческой ошибки минимизируется, так же проверка осуществляется быстро, легко и наглядно;
Способ удобен на стадии согласования планировок, допустим, если сдвинуть стену [Stretch]-ем (вместе с контурными плайнами), а потом пару раз
регенуть,- то все площади будут пересчитаны автоматически.

Offtop: Если материал оказался полезным, - не забудьте нажать кнопочку 'Спасибо'
CTPAHHNK вне форума  
 
Непрочитано 12.03.2013, 12:56
#34
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,095


Подсчет суммы площадей, когда нужные штриховки на отдельном слое, целесообразно делать с помощью "извлечения данных".
Цитата:
Сообщение от CTPAHHNK Посмотреть сообщение
то замыкаем контур (в дверях) временными отрезками...
"Закрыватель дверей" из #22 опробовать не хотите? Offtop: Если прога окажется полезной - не забудьте нажать кнопочку "Спасибо"
kp+ вне форума  
 
Непрочитано 12.03.2013, 22:48
#35
Катофей


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


спасибоо большое за советы, обязательно попробую данные способы. Надеюсь получится)
Катофей вне форума  
 
Непрочитано 20.03.2013, 17:21
#36
CTPAHHNK

чертила
 
Регистрация: 30.11.2009
Вятка
Сообщений: 829


Цитата:
Сообщение от kp+ Посмотреть сообщение
"Закрыватель дверей" из #22 опробовать не хотите?
Нипанятна
__________________
Основа вятской философии: "Так-то да, а так-то и нет." :secret:
CTPAHHNK вне форума  
 
Непрочитано 21.03.2013, 11:27
#37
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,095


Цитата:
Сообщение от CTPAHHNK Посмотреть сообщение
Нипанятна
что именно? Код не работает? Или непонятно, что ему скармливать? вроде в #22 все написано. Как юзать код на лиспе, написано в FAQ.
Offtop: А, понял! Нет кнопки "Сделай всё как надо!"

Последний раз редактировалось kp+, 21.03.2013 в 11:33.
kp+ вне форума  
 
Непрочитано 22.10.2015, 19:03
#38
Electra

Инженер-антрополог
 
Регистрация: 16.02.2009
Moscow
Сообщений: 97


Какой то глюк. не могу понять.
Допустим квадрат 6000 на 6000, замеряю площадь показывает 9000000
Увеличиваю этот же квадрат в 2 раза, замеряю площадь показывает 36000000
Electra вне форума  
 
Непрочитано 22.10.2015, 19:27
#39
Akim_1989

Расчетчик
 
Регистрация: 30.09.2011
Ростов-на-Дону
Сообщений: 1,051


Цитата:
Сообщение от Electra Посмотреть сообщение
Какой то глюк. не могу понять.
Допустим квадрат 6000 на 6000, замеряю площадь показывает 9000000
Увеличиваю этот же квадрат в 2 раза, замеряю площадь показывает 36000000
У вас с масштабом проблема скорее всего
Akim_1989 вне форума  
 
Непрочитано 23.10.2015, 04:25
#40
skkkk


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


Цитата:
Сообщение от Electra Посмотреть сообщение
Какой то глюк. не могу понять.
Допустим квадрат 6000 на 6000, замеряю площадь показывает 9000000
Увеличиваю этот же квадрат в 2 раза, замеряю площадь показывает 36000000
То, что при увеличении в два раза площадь увеличивается в 4 - это норма. Геометрия, величество ее. Площадь - это длина в квадрате, значит, при увеличении длин квадрата в 2 раза площадь увеличится в 4. А вот то, что квадрат 6х6 дает площадь 36/4=9 - это, конечно, что-то не так.
Отсюда вопросы:
1. Как замеряете стороны квадрата? Размером или при включенном динамическом вводе наведением мыши на ручку или в свойствах смотрите? Если размером, то какой его масштабный коэффициент, прописанный в размерном стиле?
2. Как замеряете площадь? В свойствах смотрите или программка какая? Может, у этой программы масштабный коэффициент свой?
3. Где файл с этим квадратом для анализа ситуации опытными участниками? Вы ведь верно хотите получить ответ на свой вопрос более конкретный, чем просто
Цитата:
Сообщение от Akim_1989 Посмотреть сообщение
У вас с масштабом проблема скорее всего
skkkk вне форума  
 
Непрочитано 19.09.2017, 08:38
#41
Gefest1


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


Добрый день. Недавно попался документ, где площади были оформлены каким-то блоком. Подскажите, этот блок САМ вычисляет площадь? Если да, подскажите пожалуйста, то как им можно пользоваться?
В атрибутах прописано "вычисляемая площадь".
На мой взгляд создавать такой блок только для оформления не имеет смысла.
Вложения
Тип файла: dwg
DWG 2013
Площадь комнаты.dwg (125.6 Кб, 31 просмотров)
Gefest1 вне форума  
 
Непрочитано 19.09.2017, 08:44
#42
trir


 
Регистрация: 18.12.2010
Сообщений: 5,057


Цитата:
На мой взгляд создавать такой блок только для оформления не имеет смысла.
Наоборот, только так и надо делать. И откуда вы знаете как они раставляются - может это прога (название текстого стиля - СГЕНЕРИР_СТИЛЬ_1)

Последний раз редактировалось trir, 19.09.2017 в 08:51.
trir вне форума  
 
Непрочитано 19.09.2017, 09:54
#43
Oleg T


 
Регистрация: 27.12.2011
Сообщений: 1,458


Цитата:
Сообщение от Gefest1 Посмотреть сообщение
Добрый день. Недавно попался документ, где площади были оформлены каким-то блоком. Подскажите, этот блок САМ вычисляет площадь? Если да, подскажите пожалуйста, то как им можно пользоваться?
В атрибутах прописано "вычисляемая площадь".
На мой взгляд создавать такой блок только для оформления не имеет смысла.
Этот файл получен экспортом из ArchiCAD (видно на картинке), и маркировка каждого помещения создана индивидуальным блоком при экспорте. Так же, как каждой стены, перекрытия и пр.
Мы, например, используем блоки с атрибутами для подсчета площадей и оформления, но программно (по типу PS Arch). Да и многие, я думаю.
Миниатюры
Нажмите на изображение для увеличения
Название: Сохраненное изображение 2017-9-19_9-50-48.37.jpg
Просмотров: 29
Размер:	70.7 Кб
ID:	193772  
Oleg T вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как посчитать площадь помещения на плане?

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как регламентируется работа в цокольных и подвальных помещениях FRAER Поиск литературы, чертежей, моделей и прочих материалов 5 22.07.2015 15:09
использование подвала жилого дома Витос Прочее. Архитектура и строительство 28 19.12.2013 12:17
Ищу Нормали планировочных элементов (НП) @$K&t[163RUS] Поиск литературы, чертежей, моделей и прочих материалов 22 28.03.2013 08:10
Площадь встроенного шкафа входит в площадь помещения, в котором он расположен? Что значит полезная площадь? Lilya Архитектура 2 07.12.2010 02:11