AutoCAD顧問
還沒有註冊嗎...即日起免費註冊,所有最完整的AutoCAD討論、教學及資源都在論壇裡喔~
AutoCAD顧問
Would you like to react to this message? Create an account in a few clicks or log in to continue.
[討論]請問以下的LISP  應該如何修改單位呢?? Io15010 [討論]請問以下的LISP  應該如何修改單位呢?? Easase10 [討論]請問以下的LISP  應該如何修改單位呢?? Oiu15010 [討論]請問以下的LISP  應該如何修改單位呢?? 2020-211 [討論]請問以下的LISP  應該如何修改單位呢?? Oo-2-110 [討論]請問以下的LISP  應該如何修改單位呢?? BPl3tjj

[討論]請問以下的LISP 應該如何修改單位呢??

向下

[討論]請問以下的LISP  應該如何修改單位呢?? Empty [討論]請問以下的LISP 應該如何修改單位呢??

發表 由 hist 于 2013-10-27, 03:00

請問以下的LISP  應該如何修改單位呢??

[/c(defun C (/ acsp adoc ar axss hgt maxp minp obj p1 p2 pc ss txt)

(vl-load-com)
(setq adoc (vla-get-activedocument
      (vlax-get-acad-object)
    )
)
(if (and
(= (getvar "tilemode") 0)
(= (getvar "cvport") 1)
)
(setq acsp (vla-get-paperspace adoc))
(setq acsp (vla-get-modelspace adoc))
)
(vla-startundomark (vla-get-activedocument
                      (vlax-get-acad-object)))
(initget 7)
(setq hgt (getreal "\nEnter text height: "))
 
(prompt "\nSelect objects on screen to add area label")
(if (setq ss (ssget))
(progn

   (setq axss (vla-get-activeselectionset adoc))
(vlax-for obj axss
(if (not
(vl-catch-all-error-p
 (setq
   ar (vl-catch-all-apply
          (function (lambda()
                        (vlax-curve-getarea obj)))))))
(progn
(setq txt (strcat "面積=" (rtos ar 2 2)))
(vla-getboundingbox obj 'minp 'maxp)
(setq p1 (vlax-safearray->list minp)
 p2 (vlax-safearray->list maxp)
 pc (mapcar (function (lambda(a b)(/ (+ a b) 2))) p1 p2)
 )
(vlax-invoke acsp 'Addtext txt pc hgt)
)
 )
)
)
)
(vla-endundomark (vla-get-activedocument
                      (vlax-get-acad-object)))
   (princ)
   )
(princ "\nType ALB to label objects with area text")
(princ)


Tiger&蘋果爸 在 2013-10-28, 22:06 作了第 1 次修改 (原因 : 此主題為討論類型)
hist
hist
一般會員
一般會員

文章總數 : 10
年齡 : 32
來自 : taipei
職業 : 待業
愛好 : 研究
個性 : good
使用年資 : 新手初學
使用版本 : 2012
經驗值 : 2612
威望值 : 0
注冊日期 : 2013-07-10
男 雙子座 龍

回頂端 向下

[討論]請問以下的LISP  應該如何修改單位呢?? Empty 回復: [討論]請問以下的LISP 應該如何修改單位呢??

發表 由 yu0678 于 2013-10-27, 09:04

更改這一列  (setq txt (strcat "面積=" (rtos (/ ar 10000) 2 2) "平方公尺"))
或改成        (setq txt (strcat "面積=" (rtos (* (/ ar 10000) 0.3025) 2 2) "坪"))  不同單位都可試試。
yu0678
yu0678
高級會員
高級會員

文章總數 : 140
年齡 : 61
來自 : Taipei
職業 : 設計
愛好 : 設計
個性 : 無不良嗜好
使用年資 : 25
使用版本 : 2016
積分 : 10
經驗值 : 4246
威望值 : 491
注冊日期 : 2012-05-30
男 射手座 狗

回頂端 向下

[討論]請問以下的LISP  應該如何修改單位呢?? Empty 回復: [討論]請問以下的LISP 應該如何修改單位呢??

發表 由 hist 于 2013-10-27, 15:58

謝謝 yu0678 的指導 。 感恩
hist
hist
一般會員
一般會員

文章總數 : 10
年齡 : 32
來自 : taipei
職業 : 待業
愛好 : 研究
個性 : good
使用年資 : 新手初學
使用版本 : 2012
經驗值 : 2612
威望值 : 0
注冊日期 : 2013-07-10
男 雙子座 龍

回頂端 向下

回頂端


 
這個論壇的權限:
無法 在這個版面回復文章
[討論]請問以下的LISP  應該如何修改單位呢?? Uos15010 [討論]請問以下的LISP  應該如何修改單位呢?? BPl3tjj [討論]請問以下的LISP  應該如何修改單位呢?? Ziao1510 [討論]請問以下的LISP  應該如何修改單位呢?? Oo-2-110 [討論]請問以下的LISP  應該如何修改單位呢?? Oooo-110 [討論]請問以下的LISP  應該如何修改單位呢?? 2020-211