久久国产色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_欧美 国产 日本_好吊色欧美一区二区三区
国产99在线免费| 天堂一区二区三区| 日本一区高清不卡| 古典武侠综合av第一页| 精品国产一区三区| 国产视频精品网| 国产精品久久久久久av下载红粉| 欧美尤物一区| 91精品国产高清久久久久久91裸体 | 欧美日韩成人在线播放| 欧美 日韩 国产 在线观看| 久久久久中文字幕2018| 性欧美精品一区二区三区在线播放| 国产欧美日韩综合精品二区| 国产精品福利片| 欧美大香线蕉线伊人久久| 久久久久久久久久码影片| 日本一区免费在线观看| 久久这里只有精品8| 亚洲欧美日韩国产成人综合一二三区| 国产欧美最新羞羞视频在线观看| 欧美xxxx综合视频| 国产免费一区二区视频| 久久999免费视频| 国产视频九色蝌蚪| 欧美精品做受xxx性少妇| 国产一区二区高清不卡| 欧美激情在线有限公司| 国产精品亚洲视频在线观看| 中文字幕日韩精品一区二区| 成人3d动漫一区二区三区| 在线观看免费黄色片| 99国产盗摄| 日韩aⅴ视频一区二区三区| 国产极品粉嫩福利姬萌白酱| 性亚洲最疯狂xxxx高清| 久久综合色一本| 日韩精品欧美专区| 国产成人久久久精品一区| 欧美精品与人动性物交免费看| 深夜福利一区二区| 激情五月宗合网| 久久这里只有精品99| 国产免费一区二区三区在线能观看 | 欧美一二三区| 国产精品日韩欧美一区二区三区| 国语自产精品视频在线看| 九九热精品在线| 99久热re在线精品996热视频| 亚洲一区二区三区色| 久久精品国产一区二区三区日韩| 欧美日韩第二页| 欧美日韩国产第一页| 99久久久精品视频| 日韩欧美猛交xxxxx无码| 国产精品视频网| 国产精品制服诱惑| 日韩av免费看| 国产精品夫妻激情| 97久草视频| 日韩国产一区久久| 久久艳片www.17c.com| 91好吊色国产欧美日韩在线| 欧美一级二级三级| 中文字幕一区二区三区乱码| 国产mv久久久| 国产日产欧美a一级在线| 欧美一区二区高清在线观看| 国产精品日韩在线观看| 97久久精品人人澡人人爽缅北| 欧美午夜精品久久久久久蜜| 一区二区三区四区视频在线观看| 日韩在线免费观看视频| 成人免费网视频| 欧美亚洲视频一区二区| 亚洲综合在线小说| 日韩在线资源网| 成人精品视频在线播放| 欧美中文在线观看| 亚洲欧美影院| 欧美精品一本久久男人的天堂| 国产激情在线观看视频| 国产日产欧美精品| 欧美亚洲一区在线| 亚洲精品成人三区| 国产精品国产精品| 日韩综合中文字幕| 久久艳妇乳肉豪妇荡乳av| 国产人妻777人伦精品hd| 欧美亚洲激情视频| 性欧美精品一区二区三区在线播放| 国产精品免费看久久久无码| 久久大片网站| 91精品视频专区| 国产欧美久久一区二区| 霍思燕三级露全乳照| 日本精品久久久久中文字幕| 亚洲综合中文字幕在线观看| 久久亚洲国产精品成人av秋霞| 日日狠狠久久偷偷四色综合免费| 国产精成人品localhost| 操人视频欧美| 国产日韩精品一区二区| 僵尸世界大战2 在线播放| 热99这里只有精品| 日本一区高清不卡| 一区二区国产日产| 久久91精品国产91久久跳| 精品国内自产拍在线观看| 久久久精品在线视频| 91国产精品91| 99久re热视频这里只有精品6| 国产深夜精品福利| 蜜桃久久影院| 欧美日韩成人一区二区三区| 日韩亚洲欧美精品| 日本免费在线精品| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 亚洲精品一区国产精品| 综合一区中文字幕| 一区二区视频在线观看| 久久成年人免费电影| 国产精品偷伦免费视频观看的 | 国产一区视频观看| 黄色三级中文字幕| 欧美精品二区三区四区免费看视频 | 亚洲免费视频一区| 亚洲综合成人婷婷小说| 欧美激情视频一区| 欧美人交a欧美精品| 欧美成人免费va影院高清| 国产精品大陆在线观看| 欧美猛少妇色xxxxx| 米奇精品一区二区三区在线观看| 久久99久久久久久久噜噜| 欧美久久精品一级黑人c片| 欧美成人精品一区| 久久99久久99精品免观看粉嫩| 久久69精品久久久久久久电影好| 欧美激情精品久久久| 中文字幕中文字幕一区三区| 一本久道高清无码视频| 亚欧洲精品在线视频免费观看| 亚洲免费av网| 三年中文高清在线观看第6集| 日韩av大全| 欧美性天天影院| 国产在线视频一区| 99在线影院| 久久精品国产sm调教网站演员| 日韩有码在线播放| 国产精品免费在线播放| 久久99视频精品| 亚洲xxxx在线| 欧美中文字幕在线| 国产一区二区三区四区五区在线| 成人免费视频久久| 国产高清在线一区| www.精品av.com| 欧美另类69精品久久久久9999| 亚洲一区二区三区在线观看视频 | 日韩国产小视频| 激情五月五月婷婷| 国产美女主播在线播放| 久久久久久www| 国产精品毛片一区视频| 一区二区不卡视频| 奇米影视亚洲狠狠色| 国模精品视频一区二区三区| 国产美女被下药99| 国产不卡av在线免费观看| 国产精品久久久久久久久 | 国产成人精品电影| 国产精品户外野外| 婷婷四房综合激情五月| 极品日韩久久| 91国产美女视频| 国产精品久久久一区| 亚洲精品无人区| 欧美动漫一区二区| 91精品久久久久久久久久入口| 日韩一区二区精品视频| 精品久久久久av| 日本午夜精品一区二区三区| 国产日韩欧美视频| 色偷偷888欧美精品久久久| 欧美精品久久久久久久| 日韩精品一区二区免费| 国产精品亚洲片夜色在线| www.国产一区| 亚洲xxxx视频| 国产日韩欧美大片| 色狠狠久久aa北条麻妃| 一级日韩一区在线观看| 欧美日韩一级在线| 久久久成人精品一区二区三区| 久久亚洲精品成人| 热久久这里只有| 99视频免费观看蜜桃视频| 国产精品男人的天堂|