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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Площадь фигуры и центр её тяжести

Площадь фигуры и центр её тяжести

Ответ
Поиск в этой теме
Непрочитано 24.03.2005, 21:06 #1
Площадь фигуры и центр её тяжести
rust-resisting
 
Москва
Регистрация: 24.03.2005
Сообщений: 293

Возможно ли решить в автокаде? есть случайная плоская фигура (заменктая) - нужно найти её площадь и центр тяжести. Заранее благодарен.
Просмотров: 25443
 
Непрочитано 24.03.2005, 21:16
#2
ZZZ

электрик
 
Регистрация: 11.03.2005
Киев
Сообщений: 157


площадь - команда area

А вообще преобразуеш свою замкнутую полилинию в регион при помощи команды region и снимаеш все характеристики командой massprop
__________________
Когда под рукой нет ничего кроме молотка - всё вокруг кажется гвоздями...
Выбор правильного инструмента - залог успеха в любом деле.
ZZZ вне форума  
 
Непрочитано 24.03.2005, 21:21
#3
Умка

медведятинко
 
Регистрация: 19.03.2005
Москва
Сообщений: 241
<phrase 1=


Приветик! Поздравляю с регистрацией в форуме!!! Твоя проблема решается так: 1) меню Draw -> Boundary... -> Polyline (в выпадающем меню в центре-слева в появившемся окошке), тутже справа вверху кнопка Pick point -> аналогично штриховке выделяеши область внутри своего объекта, ентер и вот тебе регион!!! а далее все дело техники!!! TOOLS -> Inquiry -> Region/Mass properties затем выберешь регион и появится окно (если что, то оно открывается/закрывается кнопулей F2) в котором будут сведения о твоем регионе и в поле centroid будут координаты центра тяжести. там же ты найдешь и площадь и т.д. ЗЫ Регион можешь сделать при помощи Draw -> Region 8)
__________________
Всегда есть выход... Даже если тебя проглотят - выхода как минимум два!
Умка вне форума  
 
Непрочитано 24.03.2005, 21:29
#4
Умка

медведятинко
 
Регистрация: 19.03.2005
Москва
Сообщений: 241
<phrase 1=


Да еще вот чаво - а) когда ты пользуешь Boudary (по простому Бондишь) какую-то замкнутую область, то тебе по фигу как соединяются линии, главное чтобы контур хоть как-то был закрыт, (с простым риджном не прокатит), б) САМОЕ ГЛАВНОЕ при наличии отверстий можно их вычесть (при бонде они тоже станут регионами) из большего региона и тем самым получить Ц.Т. хоть в объекте похожем на кусок сыра!! (ЗЫ вычитать Modify -> Solids editing -> Subtract) [sm2003]
__________________
Всегда есть выход... Даже если тебя проглотят - выхода как минимум два!
Умка вне форума  
 
Непрочитано 25.03.2005, 01:06
#5
{Smirnoff}

Инженер по системам безопасности
 
Регистрация: 23.11.2003
Рига
Сообщений: 1,099


Преобразовывать все в регионы для нахождения центра масс довольно мерзопакостное занятие. Когда то написал лисп который ставит в центрах масс замкнутых полилиний и сплайнов, а также центрах окружностей, эллипсов, эеллиптических и обычных арок точки. По крайней мере, сразу для всех выбранных объектов (см. картинку).
[ATTACH]1111701961.JPG[/ATTACH]
Код:
[Выделить все]
(defun c:curvcen (/ polySet polyList Model newPl obArr newReg newPt)
(vl-load-com)
  (princ "\n*** Select curves *** ")
  (if
  (setq polySet(ssget '((-4 . "<OR")(0 . "LWPOLYLINE")(0 . "ARC")
  (0 . "SPLINE")(0 . "CIRCLE")(0 . "ELLIPSE")(-4 . "OR>"))))
   (progn
     (setq polyList(mapcar 'vlax-ename->vla-object
                            (vl-remove-if 'listp
                              (mapcar 'cadr(ssnamex polySet))))
      Model(vla-get-ModelSpace
         (vla-get-ActiveDocument
           (vlax-get-acad-object)))
      ); end setq
     (foreach p polyList
      (if(member(vla-get-ObjectName p) '("AcDbEllipse" "AcDbArc" "AcDbCircle"))
	(progn
	  (vla-AddPoint Model(vla-get-Center p))
	  ); end progn
	(progn
       (if(= :vlax-true(vla-get-Closed p))
    (progn
       (setq newPl(vla-copy p)
        obArr(vlax-make-safearray vlax-vbObject '(0 . 0))
        ); end setq
       (vlax-safearray-put-element obArr 0 newPl)
       (setq newReg(car(vlax-safearray->list
           (vlax-variant-value
             (vla-AddRegion Model obArr))))
             newPt(vlax-3d-point
          (append
          (vlax-safearray->list
            (vlax-variant-value
         (vla-get-Centroid newReg)))(list 0.0)))
    ); end setq
       (vla-AddPoint Model newPt)
       (vla-delete newPl)(vla-delete newReg)
       ); end progn
    ); end if
       ); end foreach
     ); end progn
       ); end progn
     ); end if
  (princ "\n*** Notning objects selected! *** ")
  ); end if
  (princ)
  ); end of c:curvcen
{Smirnoff} вне форума  
 
Непрочитано 25.03.2005, 01:44
#6
{Smirnoff}

Инженер по системам безопасности
 
Регистрация: 23.11.2003
Рига
Сообщений: 1,099


Вот еще одна попытка "автоматизации и комплексной механизации". Этот лиспик, меряет площади замкнутых (или зрительно замкнутых) полилиний, окружностей и эллипсов, а также их габариты и площадь ограниченную габаритами. Выдает репортаж в текстовом экране. При желании чертит габаритные прямоугольники и делает надписи (см. картинку). Потом надписи и габаритные прямоугольники можно убрать командой BDEL. Площади меряются либо для всех объектов в одном слое, либо для выбранных объектов независимо от слоя.
[ATTACH]1111704264.GIF[/ATTACH]
Код:
[Выделить все]
(defun c:plAreas (/ totArea bouArea repList oldOpMode samObj filList oldMarMode plSet
		  plList pt1 pt2 width height cenPt bouArea modSp layCol arLay dimRec
		  dimAr dText acDoc curArea minPt maxPt oldEcho temPl temReg layerCol
		  layerState)
  (vl-load-com)

  (defun plArr (vlaObj / obArr newReg)
     (setq obArr(vlax-make-safearray vlax-vbObject '(0 . 0)))
      (vlax-safearray-put-element obArr 0 vlaObj)
    obArr
    ); end of regCreate
  
  (setq totArea 0.0
	bouArea 0.0
	repList '()
	oldEcho(getvar "CMDECHO")
	acDoc(vla-get-ActiveDocument
		 (vlax-get-acad-object))
	modSp(vla-get-ModelSpace acDoc)
	layerCol(vla-get-Layers acDoc) 
        layerState '()
	); end setq
  (setvar "CMDECHO" 0)
  (if(not plar:opMode)(setq plar:opMode "A"))
  (setq oldOpMode plar:opMode)
  (initget "A S")
  (setq plar:opMode
   (getkword
    (strcat"\n*** Select mode [All layers/Selected layer only] <" plar:opMode ">: ")))
  (if(null plar:opMode)(setq plar:opMode oldOpMode))
  (if(= "S" plar:opMode)
    (progn
      (while(not samObj)
	(setq samObj(car(entsel "\n*** Select object at wanted layer ")))
	); end while
      (setq filList '((-4 . "<OR")(0 . "LWPOLYLINE")
	(0 . "CIRCLE")(0 . "ELLIPSE")(-4 . "OR>")(assoc 8(entget samObj))))
      ); end progn
    ); end while
    (setq filList '((-4 . "<OR")(0 . "LWPOLYLINE")
		    (0 . "CIRCLE")(0 . "ELLIPSE")(-4 . "OR>")))
  (if(not plar:marMode)(setq plar:marMode "N"))
  (setq oldMarMode plar:marMode)
  (initget "Y N")
  (setq plar:marMode
   (getkword
     (strcat "\n*** Create Bounding Boxes & Area Text [Y/N] <" plar:marMode ">?: ")))
  (if(null plar:marMode)(setq plar:marMode oldMarMode))
  (princ "\n*** Select polylines ")
  (if
    (setq plSet(ssget filList))
    (progn
      (vlax-for l LayerCol 
       (setq layerState 
            (append layerState 
             (list 
              (list 
                l 
               (vla-get-Lock l))))) 
               (vla-put-lock l :vlax-false) 
       ); end vlax-for
      (setq plList
	     (mapcar 'vlax-ename->vla-object
		(vl-remove-if-not 'atom
		    (mapcar 'cadr (ssnamex plSet)))))
      (foreach pl plList
	(setq temPl(vla-copy pl)
              temReg(vl-catch-all-apply 'vla-AddRegion(list modSp (plArr temPl)))
	      ); end set
	(if(not(vl-catch-all-error-p temReg))
	  (progn
	    (setq temReg(car(vlax-safearray->list(vlax-variant-value temReg)))
	          curArea(vla-get-Area temReg)
		  totArea(+ totArea curArea)
		  ); end setq
	    (vla-Delete temReg)(vla-Delete temPl)
	(vla-getBoundingBox pl 'minPt 'maxPt)
	  (setq pt1(vlax-safearray->list minPt)	       
		pt2(vlax-safearray->list maxPt)
		width(-(car pt2)(car pt1))
		height(-(cadr pt2)(cadr pt1))
		cenPt(vlax-3D-point
			 (+(car pt1)(/ width 2))
			 (+(cadr pt1)(/ height 2))
			 0.0)
	        bouArea(+ bouArea(* width height))
		repList(append repList(list(list curArea width height(* width height))))
		); end setq
	    (if(= "Y" plar:marMode)
	      (progn
	  (setq layCol(vla-get-Layers acDoc)
	  arLay(vla-Add layCol "0_Plines_Areas")
		); end setq
	    (vla-put-Color arLay 251)
	    (command "_.rectang" pt1 pt2)
	    (setq dimRec(vlax-ename->vla-object(entlast))
		  dimAr(vla-get-Area dimRec)
		  ); end setq
	    (vla-put-Layer dimRec "0_Plines_Areas")
	    (setq dText(vla-AddText modSp
	      (strcat
		(rtos curArea 2 2)" ("
		(rtos width 2 2)"*"
		(rtos height 2 2)"="
		(rtos(* width height)2 2)")")
			 cenPt(getvar "TEXTSIZE")))
	    (vla-put-Alignment dText acAlignmentMiddleCenter)
	    (vla-put-TextAlignmentPoint dText cenPt)
	    (vla-put-Layer dText "0_Plines_Areas")
	); end progn
	      ); end if
		  ); end progn
	    ); end if
	  ); end foreach
      (princ "\n********************* REPORT ************************ \n")
      (princ(strcat "\nClosed polylines total: "(itoa(length repList))"\n"))
      (foreach i repList
	(princ(strcat
		"\nArea="(rtos(car i) 2 2)
		" Bounding box: "(rtos (cadr i) 2 2)"*"(rtos(nth 2 i) 2 2)
		"="(rtos(nth 3 i)2 2)))
	); end foreach
      (princ(strcat "\n\nTotal area: "(rtos totArea 2 2)"\n"))
      (princ(strcat "\nBounding boxes total area: "(rtos bouArea 2 2)"\n"))
      (princ "\n****************** END OF REPORT ******************** \n")
      (foreach l layerState 
      (vla-put-Lock (car l)(cadr l)) 
   ); end foreach
	); end progn
    (princ "\n*** Nothing selected! *** ")
      ); end if
    (setvar "CMDECHO" oldEcho)
    (princ)
    ); end of c:plAreas

(defun c:bdel (/ delSet delLay oldEcho)
  (setq oldEcho(getvar "CMDECHO"))
  (setvar "CMDECHO" 0)
  (if
  (setq delSet(ssget "_X" '((8 . "0_Plines_Areas"))))
  (command "_.erase" delSet "")
   ); end if
  (if(not(vl-catch-all-error-p
   (setq delLay(vl-catch-all-apply 'vla-item
     (list
      (vla-get-Layers
	(vla-get-ActiveDocument
	  (vlax-get-acad-object))) "0_Plines_Areas")))))
    (vla-Delete delLay)
    ); end if
  (setvar "CMDECHO" oldEcho)
  (princ)
  ); end of c:bdel

(princ "Type PLAREAS to run. Type BDEL to erase area text and bounding boxes.")
{Smirnoff} вне форума  
 
Непрочитано 25.03.2005, 09:23
#7
Коробейников Алексей

инженер-конструктор
 
Регистрация: 03.11.2004
Москва
Сообщений: 23


Спасибо. Отличные лиспы!!!
Вот бы еще они непосредственно регионы выбирали, цены бы им не было.
Коробейников Алексей вне форума  
 
Непрочитано 25.03.2005, 11:42
#8
{Smirnoff}

Инженер по системам безопасности
 
Регистрация: 23.11.2003
Рига
Сообщений: 1,099


Хорошо добавил. Только надо иметь ввиду, что габариты регионов созданных на основе сплайнов вычисляются "криво", но площадь внутри вроде похожа на правду (относится к PLAREAS).

[ATTACH]1111740840.GIF[/ATTACH]

Код:
[Выделить все]
(defun c:curvcen (/ polySet polyList Model newPl obArr newReg newPt)
  (princ "\n*** Select curves *** ")
  (if
  (setq polySet(ssget '((-4 . "<OR")(0 . "LWPOLYLINE")(0 . "ARC")
  (0 . "SPLINE")(0 . "CIRCLE")(0 . "ELLIPSE")(0 . "REGION")(-4 . "OR>"))))
   (progn
     (setq polyList(mapcar 'vlax-ename->vla-object
                            (vl-remove-if 'listp
                              (mapcar 'cadr(ssnamex polySet))))
      Model(vla-get-ModelSpace
         (vla-get-ActiveDocument
           (vlax-get-acad-object)))
      ); end setq
     (foreach p polyList
      (cond
	((member(vla-get-ObjectName p)'("AcDbEllipse" "AcDbArc" "AcDbCircle"))
	  (vla-AddPoint Model(vla-get-Center p)))
	((= "AcDbRegion" (vla-get-ObjectName p))
	 (vla-AddPoint Model(vlax-3d-point(append
          (vlax-safearray->list
            (vlax-variant-value
         (vla-get-Centroid p)))(list 0.0)))))
	((= :vlax-true(vla-get-Closed p))
        (progn
       (setq newPl(vla-copy p)
        obArr(vlax-make-safearray vlax-vbObject '(0 . 0))
        ); end setq
       (vlax-safearray-put-element obArr 0 newPl)
       (setq newReg(car(vlax-safearray->list
           (vlax-variant-value
             (vla-AddRegion Model obArr))))
             newPt(vlax-3d-point
          (append
          (vlax-safearray->list
            (vlax-variant-value
         (vla-get-Centroid newReg)))(list 0.0)))
    ); end setq
       (vla-AddPoint Model newPt)
       (vla-delete newPl)(vla-delete newReg)
       ); end progn
    )
	 ); end cond
       ); end foreach
       ); end progn
  (princ "\n*** Notning objects selected! *** ")
  ); end if
  (princ)
  ); end of c:curvcen
Код:
[Выделить все]
(defun c:plAreas (/ totArea bouArea repList oldOpMode samObj filList oldMarMode plSet
		  plList pt1 pt2 width height cenPt bouArea modSp layCol arLay dimRec
		  dimAr dText acDoc curArea minPt maxPt oldEcho temPl temReg layerCol
		  layerState)
  (vl-load-com)

  (defun plArr (vlaObj / obArr newReg)
     (setq obArr(vlax-make-safearray vlax-vbObject '(0 . 0)))
      (vlax-safearray-put-element obArr 0 vlaObj)
    obArr
    ); end of regCreate
  
  (setq totArea 0.0
	bouArea 0.0
	repList '()
	oldEcho(getvar "CMDECHO")
	acDoc(vla-get-ActiveDocument
		 (vlax-get-acad-object))
	modSp(vla-get-ModelSpace acDoc)
	layerCol(vla-get-Layers acDoc) 
        layerState '()
	); end setq
  (setvar "CMDECHO" 0)
  (if(not plar:opMode)(setq plar:opMode "A"))
  (setq oldOpMode plar:opMode)
  (initget "A S")
  (setq plar:opMode
   (getkword
    (strcat"\n*** Select mode [All layers/Selected layer only] <" plar:opMode ">: ")))
  (if(null plar:opMode)(setq plar:opMode oldOpMode))
  (if(= "S" plar:opMode)
    (progn
      (while(not samObj)
	(setq samObj(car(entsel "\n*** Select object at wanted layer ")))
	); end while
      (setq filList '((-4 . "<OR")(0 . "LWPOLYLINE")
	(0 . "CIRCLE")(0 . "ELLIPSE")(0 . "REGION")(-4 . "OR>")(assoc 8(entget samObj))))
      ); end progn
    ); end while
    (setq filList '((-4 . "<OR")(0 . "LWPOLYLINE")
		    (0 . "CIRCLE")(0 . "ELLIPSE")(0 . "REGION")(-4 . "OR>")))
  (if(not plar:marMode)(setq plar:marMode "N"))
  (setq oldMarMode plar:marMode)
  (initget "Y N")
  (setq plar:marMode
   (getkword
     (strcat "\n*** Create Bounding Boxes & Area Text [Y/N] <" plar:marMode ">?: ")))
  (if(null plar:marMode)(setq plar:marMode oldMarMode))
  (princ "\n*** Select polylines ")
  (if
    (setq plSet(ssget filList))
    (progn
      (vlax-for l LayerCol 
       (setq layerState 
            (append layerState 
             (list 
              (list 
                l 
               (vla-get-Lock l))))) 
               (vla-put-lock l :vlax-false) 
       ); end vlax-for
      (setq plList
	     (mapcar 'vlax-ename->vla-object
		(vl-remove-if-not 'atom
		    (mapcar 'cadr (ssnamex plSet)))))
      (foreach pl plList
	(if(/= "AcDbRegion"(vla-get-ObjectName pl))
	  (progn
	(setq temPl(vla-copy pl)
              temReg(vl-catch-all-apply 'vla-AddRegion(list modSp (plArr temPl)))
	      ); end setq
	(if(not(vl-catch-all-error-p temReg))
	  (progn
	    (setq temReg(car(vlax-safearray->list(vlax-variant-value temReg)))
	          curArea(vla-get-Area temReg)
		  totArea(+ totArea curArea)
		  ); end setq
	    (vla-Delete temReg)(vla-Delete temPl)
	    ); end progn
	  ); end if
	 ); end progn
	  (progn
	    (setq curArea(vla-get-Area pl)
		  totArea(+ totArea curArea)
		  ); end setq
	    ); end progn
	  ); end if
	(vla-getBoundingBox pl 'minPt 'maxPt)
	  (setq pt1(vlax-safearray->list minPt)	       
		pt2(vlax-safearray->list maxPt)
		width(-(car pt2)(car pt1))
		height(-(cadr pt2)(cadr pt1))
		cenPt(vlax-3D-point
			 (+(car pt1)(/ width 2))
			 (+(cadr pt1)(/ height 2))
			 0.0)
	        bouArea(+ bouArea(* width height))
		repList(append repList(list(list curArea width height(* width height))))
		); end setq
	    (if(= "Y" plar:marMode)
	      (progn
	  (setq layCol(vla-get-Layers acDoc)
	  arLay(vla-Add layCol "0_Plines_Areas")
		); end setq
	    (vla-put-Color arLay 251)
	    (command "_.rectang" pt1 pt2)
	    (setq dimRec(vlax-ename->vla-object(entlast))
		  dimAr(vla-get-Area dimRec)
		  ); end setq
	    (vla-put-Layer dimRec "0_Plines_Areas")
	    (setq dText(vla-AddText modSp
	      (strcat
		(rtos curArea 2 2)" ("
		(rtos width 2 2)"*"
		(rtos height 2 2)"="
		(rtos(* width height)2 2)")")
			 cenPt(getvar "TEXTSIZE")))
	    (vla-put-Alignment dText acAlignmentMiddleCenter)
	    (vla-put-TextAlignmentPoint dText cenPt)
	    (vla-put-Layer dText "0_Plines_Areas")
	); end progn
	      ); end if
	  ); end foreach
  
      (princ "\n********************* REPORT ************************ \n")
      (princ(strcat "\nClosed polylines total: "(itoa(length repList))"\n"))
      (foreach i repList
	(princ(strcat
		"\nArea="(rtos(car i) 2 2)
		" Bounding box: "(rtos (cadr i) 2 2)"*"(rtos(nth 2 i) 2 2)
		"="(rtos(nth 3 i)2 2)))
	); end foreach
      (princ(strcat "\n\nTotal area: "(rtos totArea 2 2)"\n"))
      (princ(strcat "\nBounding boxes total area: "(rtos bouArea 2 2)"\n"))
      (princ "\n****************** END OF REPORT ******************** \n")
      (foreach l layerState 
      (vla-put-Lock (car l)(cadr l)) 
   ); end foreach
	); end progn
    (princ "\n*** Nothing selected! *** ")
      ); end if
    (setvar "CMDECHO" oldEcho)
    (princ)
    ); end of c:plAreas



(defun c:bdel (/ delSet delLay oldEcho)
  (setq oldEcho(getvar "CMDECHO"))
  (setvar "CMDECHO" 0)
  (if
  (setq delSet(ssget "_X" '((8 . "0_Plines_Areas"))))
  (command "_.erase" delSet "")
   ); end if
  (if(not(vl-catch-all-error-p
   (setq delLay(vl-catch-all-apply 'vla-item
     (list
      (vla-get-Layers
	(vla-get-ActiveDocument
	  (vlax-get-acad-object))) "0_Plines_Areas")))))
    (vla-Delete delLay)
    ); end if
  (setvar "CMDECHO" oldEcho)
  (princ)
  ); end of c:bdel

(princ "Type PLAREAS to run. Type BDEL to erase area text and bounding boxes.")
{Smirnoff} вне форума  
 
Непрочитано 25.03.2005, 17:36
#9
Коробейников Алексей

инженер-конструктор
 
Регистрация: 03.11.2004
Москва
Сообщений: 23


Фантастишь!!!
Коробейников Алексей вне форума  
 
Непрочитано 25.03.2005, 18:14
#10
Star

Конструктор штампов
 
Регистрация: 10.03.2004
г. Киев
Сообщений: 92


>rust-resisting
Скачай калькулятор Оконечникова - FOCALL. И считай площади, длины и их суммы с островками и без.
Star вне форума  
 
Автор темы   Непрочитано 08.04.2005, 00:51
#11
rust-resisting


 
Регистрация: 24.03.2005
Москва
Сообщений: 293
<phrase 1=


jой ой спасибо огромное за ответы. Очень приятно осознавать наличие отзывчивых людей ) дело в том, что я пока что не очень хорошо владею автокадом, т.к. не приходилось чертить что-либо сверхъестественное, по этому могу в некоторых моментах вас недопонимать, но постораюсь все делать так, как было написано ещё раз спасибо!
rust-resisting вне форума  
 
Автор темы   Непрочитано 08.04.2005, 01:05
#12
rust-resisting


 
Регистрация: 24.03.2005
Москва
Сообщений: 293
<phrase 1=


Ну вот, первая проблема из-за незнания ...
-1. Fantomas, как я понял это скрипт, выполняющийся из: "Инструменты" - "Запустить скрипт".
Я его вбил в файл с расширением scr, запустил, в результате получил отказ в выполнении. Что-то я не так понял?
-2. Умка, запоролся на Inquiry -> Region/Mass properties - не могу найти, автокад русский
rust-resisting вне форума  
 
Непрочитано 08.04.2005, 01:28
#13
{Smirnoff}

Инженер по системам безопасности
 
Регистрация: 23.11.2003
Рига
Сообщений: 1,099


>rust-resisting
Знаешь, я абсолютно не знаю русифицированного Автокада... Для начала надо скопировать листинг в Notepad и сохранить в файле с расширением *.lsp. В англоязычной версии ЛИСП-программы сначала загружаются Tools>AutoLISP>Load... (думаю Инструменты>AutoLISP>Загрузить...). потом запускаются на исполнение из командной строки. Каждый *.lsp файл может содержать много программ. Распознать их в тексте достаточно просто, найди строки (defun c:.... вот то что написано после c: и запускает программу как стандартную команду. Поищи на этом форуме соответствующие темы (поиск тут изумительный), просто не хочется в десятый раз писать одно и то же...
{Smirnoff} вне форума  
 
Непрочитано 08.04.2005, 09:29
#14
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837


Цитата:
запоролся на Inquiry -> Region/Mass properties - не могу найти, автокад русский
Перевожу:
Инструменты->Запрос->Свойства области/массы
Или просто команда massprop и на кнопках она есть.
Krieger вне форума  
 
Автор темы   Непрочитано 08.04.2005, 09:30
#15
rust-resisting


 
Регистрация: 24.03.2005
Москва
Сообщений: 293
<phrase 1=


спасибо огромное
rust-resisting вне форума  
 
Автор темы   Непрочитано 08.04.2005, 09:35
#16
rust-resisting


 
Регистрация: 24.03.2005
Москва
Сообщений: 293
<phrase 1=


хм ... столкнулся с ошибкой:
Цитата:
No solids or regions selected.
. Я выбираю замкнутую область, делаю её регионом, а далее, как все говорилось. Может я с регионами что-то не понял?
rust-resisting вне форума  
 
Непрочитано 08.04.2005, 17:06
#17
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837


Может это полилиния, а не регион?
Когда выполняешь команду Boundary в появившемся окошке надо выбрать регеон (область), а не полилинию.
Если у тебя полилиния то площадь можно узнать через команду area или Инструменты->Запрос->Область. После выполнения команды area жмем О -> выбираем объект.
Krieger вне форума  
 
Автор темы   Непрочитано 13.04.2005, 20:46
#18
rust-resisting


 
Регистрация: 24.03.2005
Москва
Сообщений: 293
<phrase 1=


Господа, очередной вопрос в студии
Большое спасибо за помощь с площадью, помогло, теперь вернусь к вопросу о центре тяжести.
Задача передо мной стоит такая - есть сетка для проведения линий нулевых работ, соответственно на ней нанесены разные высоты, т.е. фигура получается как бы объемная. Задача: нужно найти центр тяжести объемной фигуры, исходя из того, что автокад русский если эта задача решаема, очень буду признателен за помощь!
rust-resisting вне форума  
 
Непрочитано 14.04.2005, 08:56
#19
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837


Если сумеешь выделить объём (solid), то все та-же команда: massprop.
Насколько я тебя понял одна поверхность этого объёма довольно сложная (типа рельеф) и в голом гаде вроде такой объём сделать нельзя. В MDT можно. Может че гуру посоветуют.
Krieger вне форума  
 
Автор темы   Непрочитано 14.04.2005, 23:58
#20
rust-resisting


 
Регистрация: 24.03.2005
Москва
Сообщений: 293
<phrase 1=


Да ... кусок земли, срезанный ... грубо говоря, на разных уровнях. Квадрат - один угол на 2 метра, второй угол на 1, третий на 0, четвертый на 5
rust-resisting вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Площадь фигуры и центр её тяжести