久久国产色av_国产人妻777人伦精品hd_欧美 国产 日本_好吊色欧美一区二区三区

您的位置:網站首頁 > CAD教程 > 常見問題

如何在CAD中迅速統計各線段長度

時間:2011-08-18 09:54:51 來源:未知

如何在CAD中迅速統計各線段長度

;;;===================
;;;面積和長度統計程序
;;;highflybird kunming
;;;===================
(prompt "命令為:AM")
(defun C:am (/ f     ss                         SSarea  totlen  entlen
         ename   name    obj     text-S  text-L  insPt0  height
         insPt1  insPt2  text-1  text-2  *APP    *DOC    *MSP
        )
  (vl-load-com)
  (setq *APP (vlax-get-acad-object))
  (setq *DOC (vla-get-activeDocument *APP))
  (setq *MSP (vla-get-Modelspace *DOC))
  (initget 1 "1 2 3")
  (setq f (getkword "n請輸入你要統計的<1>面積<2>長度<3>兩者:"))
  (if
    (and
      (setq ss (ssget))
      (setq insPt0 (getpoint "n請輸入文字插入點: "))
      (setq height (getdist "n請輸入文字高度:"))
    )
    (progn
      (setq l (sslength ss))
      (setq i 0)
      (setq SSarea 0)
      (setq totlen 0)
      (setq insPt1 (vlax-3d-point insPt0))
      (setq insPt2 (polar insPt0 (* 1.5 Pi) (* 1.5 height)))
      (setq insPt2 (vlax-3d-point insPt2))         
      (cond
    ( (= f "1")
          (repeat l
            (func-1)
            (func-2)
            (setq i (1+ i))
          )
      (setq text-S (strcat (convert1 SSarea 6) "平方米"));總面積為:小數后6位
      (vla-addtext *MSP text-S insPt1 height)
    )
    ( (= f "2")
          (repeat l
            (func-1)
            (func-3)
            (setq i (1+ i))
          )
      (setq text-L (strcat (convert1 totlen 3) "米"))    ;總長度為:小數后3位
      (vla-addtext *MSP text-L insPt2 height)
    )
    ( (= f "3")
          (repeat l
            (func-1)
        (func-2)
            (func-3)
            (setq i (1+ i))
          )
      (setq text-S (strcat (convert1 SSarea 6) "平方米"));總面積為:小數后6位
      (setq text-L (strcat (convert1 totlen 3) "米"))    ;總長度為:小數后3位
      (vla-addtext *MSP text-S insPt1 height)
      (vla-addtext *MSP text-L insPt2 height)
       
          
    )
    (alert "你沒有選取物體或者輸入正確的數據!")
  )
  (princ)
)
(defun func-1 ()
  (setq ename (ssname ss i))
  (setq obj (vlax-ename->vla-object ename))
  (setq elist (entget ename))
  (setq name (cdr (assoc 0 elist)))
)
;;面積的統計
(defun func-2 (/ p1 p2 p3 p4)
  (if (vlax-property-available-p obj "area")
    (setq SSarea (+ (vla-get-area obj) SSarea))
    (if    (= name "SOLID")
      (setq p1 (cdr (assoc 10 elist))
            p2 (cdr (assoc 11 elist))
        p3 (cdr (assoc 12 elist))
            p4 (cdr (assoc 13 elist))
        SSarea (+ (area-of-verties (list p1 p2 p4 p3)) SSarea)
      )
    )
  )
)
;;長度的統計
(defun func-3 (/ p1 p2 p3 p4)
  (cond
    ( (= name "MLINE")
      (setq totlen (+ totlen (ml-length ename)))
    )
    ( (or (= name "ARC")
      (= name "CIRCLE")
      (= name "LINE")
      (= name "POLYLINE")
      (= name "LWPOLYLINE")
      (= name "SPLINE")
      (= name "ELLIPSE")
      )
      (setq entlen (vlax-curve-getdistatparam ename (vlax-curve-getendparam ename)))
      (setq totlen (+ totlen entlen))
    )
    ( (= name "SOLID")
      (setq p1 (cdr (assoc 10 elist)))
      (setq p2 (cdr (assoc 11 elist)))
      (setq p3 (cdr (assoc 12 elist)))
      (setq p4 (cdr (assoc 13 elist)))   
      (setq totlen (+ (length-of-verties (list p1 p2 p4 p3)) totlen))
    )
  )
)
;;Mline的長度
(defun ml-length (ename / j d ptlist)
  (foreach n (entget ename)
    (if    (= (car n) 11)
      (setq ptlist (cons (cdr n) ptlist))
    )
  )
  (reverse ptlist)
  (setq    j 0)
  (setq d 0)
  (repeat (1- (length ptlist))
    (setq d (+ d (distance (nth j ptlist) (nth (1+ j) ptlist))))
    (setq j (1+ j))
  )
  d
)
;;單位轉化
(defun convert (x n / tol_x fra_x int_x)
  (setq tol_x (/ x (expt 10 n)))
  (setq fra_x (rtos (- tol_x (fix tol_x)) 2 n))
  (setq fra_x (vl-string-left-trim "0" fra_x))
  (setq int_x (itoa (fix tol_x)))
  (strcat int_x fra_x)
)
(defun convert1 (x n / tol_x fra_x int_x)
  (setq tol_x (/ x (expt 10 n)))
  (setq fra_x (rtos (- tol_x (fix tol_x)) 2 3))
  (setq fra_x (vl-string-left-trim "0" fra_x))
  (setq int_x (itoa (fix tol_x)))
  (strcat int_x fra_x)
)
;;n個點的長度
(defun length-of-verties (pts / i l len pts1)
  (setq i -1 len 0)
  (setq pts1 (cons (last pts) pts))
  (repeat (length pts)
    (setq i   (1+ i))
    (setq l   (distance (nth i pts1) (nth (1+ i) pts1)))
    (setq len (+ l len))
    
)
;;n個點的面積
(defun area-of-verties (pts / i area PX0 PY0 x1 y1 x2 y2)
  (setq i 0)
  (setq area 0)
  (setq px0 (caar pts))
  (setq py0 (cadar pts))
  (repeat (- (length pts) 1)
    (setq x1 (- (car  (nth i pts)) px0)
      y1 (- (cadr (nth i pts)) py0)
      x2 (- (car  (nth (1+ i) pts)) px0)
      y2 (- (cadr (nth (1+ i) pts)) py0)
          
    (setq area (+ (- (* x1 y2)(* x2 y1)) area))
    (setq i (1+ i))
  )
  (abs (/ area 2))
)



這里有一個程序,你可以用用看,
命令為AM

對line ,arc ,ellispe,spline,polyline,lwpolyline,circle,mline,solid均有效。

你既可統計長度,也可統計面積,或者兩者都統計。

如果你對精確位不滿意,你可以改動程序中的數字(程序注釋中說明)。


久久国产色av_国产人妻777人伦精品hd_欧美 国产 日本_好吊色欧美一区二区三区
亚洲综合av一区| 麻豆av一区二区三区久久| 欧美一级淫片播放口| 97国产精品免费视频| 日韩一区二区高清视频| 久久久成人精品一区二区三区| 日本一区二区三区在线播放 | 欧美韩国日本精品一区二区三区| 色777狠狠综合秋免鲁丝| 欧美综合一区第一页| 久久久国产在线视频| 国产小视频免费| 亚洲在线免费观看| 久久久久久久久久码影片| 激情深爱综合网| 亚洲熟妇无码另类久久久| 九九精品视频在线观看| 久久精品在线免费视频| 91国产中文字幕| 青青草原av在线播放| 青青草精品视频在线| 欧美极品日韩| 国产裸体舞一区二区三区| 日韩尤物视频| 人人妻人人添人人爽欧美一区| 精品国产免费av| 亚洲自拍的二区三区| 日本三级中文字幕在线观看| 欧美,日韩,国产在线| 国产日韩av在线播放| 欧美在线www| 欧美日韩国产高清视频| 午夜免费电影一区在线观看| 日韩av在线一区二区三区| 欧美日韩视频免费在线观看| 国产一区不卡在线观看| 9191国产视频| 久久久精品影院| 一区二区在线观| 国产精品久久久久久久免费大片| 91九色国产视频| 日韩视频中文字幕| 欧美精品www| 国产精品久久9| 久久久国产在线视频| 一区二区三区我不卡| 日本一区免费观看| 国产一区二区精品在线| 久久一区免费| 91九色视频在线| 国产精品久久久久久久久影视 | 亚洲精品日韩精品| 欧美精品免费播放| 国产精品久久久久久久久婷婷| 亚洲在线视频福利| 欧美不卡福利| 国产a级片免费看| 久久www免费人成精品| 国产精品久久精品| 日韩最新中文字幕| 国产日韩一区欧美| 国产成人精品亚洲精品| 久久黄色av网站| 亚洲综合在线做性| 蜜桃成人免费视频| 久草资源站在线观看| 亚洲日本精品国产第一区| 精品一区在线播放| 久久久精品国产一区二区| 欧美一级视频免费在线观看| 成人av在线播放观看| 欧美专区在线观看| 国产精品av免费在线观看| 91久久久久久久久久| 国产精品女人久久久久久| 国产精品欧美久久久| 日本一区视频在线| 久久久一本精品99久久精品| 一本二本三本亚洲码| 国产午夜精品一区| 国产精品老牛影院在线观看| 欧美自拍资源在线| 久久久久免费精品| 日韩av高清不卡| 国产精品69久久| 亚洲国产精品日韩| 成人一级生活片| 色综合久久88色综合天天看泰| 激情五月五月婷婷| 日韩在线资源网| 日韩精品在在线一区二区中文| 国产suv精品一区二区三区88区| 日本一区免费在线观看| 国产成人精品福利一区二区三区| 午夜啪啪福利视频| 久久久视频免费观看| 欧美一区二区三区免费观看| 久久亚洲午夜电影| 日本视频一区二区在线观看| 久久99中文字幕| 欧美专区一二三| 国产精品久久久久久久久久久久午夜片 | 日本高清视频免费在线观看| 欧美黄网在线观看| 国产精品无码乱伦| 麻豆av一区二区三区| 久久99精品国产99久久6尤物| 国产日产久久高清欧美一区| 伊人婷婷久久| 99久久精品无码一区二区毛片 | 国产精品美女在线播放| 国产一区视频观看| 久久婷婷开心| 日本一欧美一欧美一亚洲视频| 久久久久久亚洲精品不卡4k岛国| 欧美精品亚洲精品| 久久999免费视频| 久久综合久久色| 男人添女人下部高潮视频在观看 | 久久国产一区| 男女视频一区二区三区| 九九久久综合网站| 国产亚洲欧美一区二区| 亚洲视频小说| 日韩在线中文字幕| 国产尤物91| 亚洲精品欧美一区二区三区| 日韩最新av在线| 国产日韩欧美精品| 色狠狠久久av五月综合| 国产精品日韩欧美| 91久久精品国产91久久| 欧美又粗又长又爽做受| 免费av在线一区| 久久www免费人成精品| 国产欧美日韩精品专区| 欧美一级欧美一级| 欧美精品一区三区| 久久久久久久久久久久久久久久久久av | 波多野结衣久草一区| 日韩免费黄色av| 久久久久久国产精品三级玉女聊斋| 久久日韩精品| 国产三区二区一区久久| 日本久久久网站| 欧美激情视频在线观看| 久久99导航| 91精品视频免费看| 激情五月开心婷婷| 日韩av一级大片| 中文字幕在线中文| 国产精品久久久久久久天堂| 久久国产日韩欧美| 高清一区二区三区四区五区| 激情五月婷婷六月| 日韩国产欧美亚洲| 亚欧洲精品在线视频免费观看| 久久躁狠狠躁夜夜爽| www国产91| 久久久久久高清| 成人免费毛片播放| 国产综合福利在线| 欧美福利精品| 日本电影亚洲天堂| 亚洲午夜久久久影院伊人| 久久综合久中文字幕青草| www日韩中文字幕在线看| 久久久www免费人成黑人精品| av一区二区三区免费观看| 国产一区二区黄色| 黄在线观看网站| 欧美尤物巨大精品爽| 日韩videos| 日本亚洲欧洲精品| 日本一区二区三区免费看| 少妇av一区二区三区无码| 亚洲黄色成人久久久| 亚洲伊人久久大香线蕉av| 欧美激情va永久在线播放| 精品国产免费人成电影在线观...| 国产精品旅馆在线| 国产精品久久久久福利| 国产精品久久久久秋霞鲁丝| 国产精品美女在线播放| 国产精品极品在线| 精品免费日产一区一区三区免费| 久久福利视频网| 九九精品在线播放| 欧美精品成人91久久久久久久| 欧美精品电影在线| 亚洲欧洲日韩精品| 无码日韩人妻精品久久蜜桃| 色播五月综合| 日本亚洲导航| 欧美一区视频在线| 国内精品久久影院| 国产日韩精品在线播放| 国产精品午夜一区二区欲梦| 成人h在线播放| 国产精品50p|