AutoCAD顧問
還沒有註冊嗎...即日起免費註冊,所有最完整的AutoCAD討論、教學及資源都在論壇裡喔~

Join the forum, it's quick and easy

AutoCAD顧問
還沒有註冊嗎...即日起免費註冊,所有最完整的AutoCAD討論、教學及資源都在論壇裡喔~
AutoCAD顧問
Would you like to react to this message? Create an account in a few clicks or log in to continue.
用lisp 算pline 長度, Aoe1-113用lisp 算pline 長度, Ioaoe110用lisp 算pline 長度, 2020-310用lisp 算pline 長度, Oiu15010用lisp 算pline 長度, 2020-211用lisp 算pline 長度, Ia15010用lisp 算pline 長度, Aizyao10用lisp 算pline 長度, Uos15010用lisp 算pline 長度, BPl3tjj用lisp 算pline 長度, Ziao1510
用lisp 算pline 長度, Aoe15010用lisp 算pline 長度, Oo-2-110用lisp 算pline 長度, Zuoiy_10用lisp 算pline 長度, Aizyao11用lisp 算pline 長度, Iyb_1510用lisp 算pline 長度, Aoe1-112用lisp 算pline 長度, Uos15011用lisp 算pline 長度, Aoe2da10用lisp 算pline 長度, Aoe2da11用lisp 算pline 長度, Aoe10

用lisp 算pline 長度,

2 posters

向下

用lisp 算pline 長度, Empty 用lisp 算pline 長度,

發表 由 張景閎 2024-12-07, 14:56

蘋果爸好,可以幫我看一下,我想要將算出來的值全部再除一個值,然後再顯示,但可選擇,是否要除新的值,且可選擇要除
的數值
謝謝
;;; Hatched area Table sorted by Layer with the Color markers
;;;
(Defun c:POLYLENGHT ( / AllData ss e edata Area_table crow bn area_ ssNH fname clr )
(vl-load-com)
;;; pBe 23Apr2013 ;;;
;;; Mod for FSJ_Mo : Layer instead of Block swatches ;;;
;;; pBe 18Jul2013 ;;;
;;; karpki : Header by filename, m2 05/01/2020          ;;;
;;; Moded by hak_vz for karpki: color markers 12/01/2020      ;;;

 (if
   (setq AllData nil ssNH (ssadd)
         ss      (ssget '((0 . "POLYLINE,LWPOLYLINE")))
   )
    (progn
      (repeat (setq i (sslength ss))
        (setq e (vlax-ename->vla-object (ssname ss (Setq i (1- i)))))
        (setq edata
               (list
                 (vlax-get e 'Layer)
                 (IF
                   (not
                     (vl-catch-all-error-p
                       (setq area_ (vl-catch-all-apply 'vla-get-length (list E)))
                     )
                   )
                    area_
                    (progn (ssadd (ssname ss i) ssNH) 0.0)
                 )
               )
        )
        (setq AllData
               (if (setq f (assoc (car edata) AllData))
                 (subst (list (car f) (+ (cadr f) (cadr edata))) f Alldata)
                 (cons edata AllData)
               )
        )
      )
      (setq AllData (vl-sort AllData '( lambda (m n) (< (Car m) (car n)))))                       ;cadr вместо car если нужна сортировка по площади; знак < указывает на сортировку от меньшего к большему
      (setq Area_table
             (vlax-invoke
               (vlax-get (vla-get-ActiveLayout
                           (vla-get-activedocument (vlax-get-acad-object))
                         )
                         'Block
               )
               'Addtable
               (getpoint "\nPick point for Table:")
               2 3 1500 7000
             )
      )
      (setq fname(substr (setq str (getvar "dwgname")) 1 (- (strlen str) 4)))                     ;get Header name from file name
      (vla-settext Area_table 0 0 fname)                                                          ;set header name
      (vla-setcelltextheight Area_table 0 0 500.0)                                                
      (mapcar '(lambda (y)
                 (vla-settext Area_table 1 (car y) (cadr y))
                 (vla-setcelltextheight Area_table 1 (car y) 500.0)                               ;second row text height
               )
              (list '(0 "Category") '(1 "Total Length") '(2 "Colour"))
      )
      (foreach d AllData
        (vla-insertrows
          Area_table
          (1+ (setq crow (vla-get-rows Area_table)))
          1500                                                                                    ;cell height from 4-th row
          1
        )
        (vla-setcelltextheight Area_table crow 0 500.0)                                           ;set Layer name (Category)
        (vla-setCellAlignment Area_table crow 0 5)
(vla-setCellValue Area_table crow 0 (car d))

        (vla-setCellValue Area_table crow 1 (cadr d))                                             ;set Area
        (vla-setcelltextheight Area_table crow 1 500.0)                                        
        (vla-setCellAlignment Area_table crow 1 5)
        (vla-setcellformat Area_table crow 1 "%lu2%pr3%ps[, --]")    

;--------------
(setq x(strcat "AutoCAD.AcCmColor."  (substr (getvar 'Acadver) 1 2)))             ;set Color markers
(setq clr (vlax-create-object x))
        (vla-put-colorindex clr (cdr (assoc 62 (tblsearch "layer" (car d)))))
        (vla-SetCellBackgroundColor Area_table crow 2 clr)
               
                ;Possible editions if doesn't work :
                ;For Acad2015, use AutoCAD.AcCmColor.20
                ; - > (setq x "AutoCAD.AcCmColor.20")
                ;For Acad2016/17, use AutoCAD.AcCmColor.21
                ; - > (setq x "AutoCAD.AcCmColor.21")
                ;For Acad2018, use AutoCAd.AcCmColor.22
                ; - > (setq x "AutoCAD.AcCmColor.22")
                ;For Acad2019, use AutoCAD.AcCmColor.23
                ; - > (setq x "AutoCAD.AcCmColor.23")
                ;-------------------
       
      )
    )
 )
 (princ)
)


張景閎 在 2024-12-08, 09:36 作了第 2 次修改
張景閎
張景閎
專屬會員
專屬會員

文章總數 : 10
年齡 : 55
來自 : 台北
職業 : 技師
愛好 : 繪圖
個性 : 遊山玩水
使用年資 : 10年
使用版本 : acad 2008
經驗值 : 5462
威望值 : 0
注冊日期 : 2010-04-12
男 處女座 雞

回頂端 向下

用lisp 算pline 長度, Empty 回復: 用lisp 算pline 長度,

發表 由 Tiger&蘋果爸 2024-12-08, 00:15

請補充你的需求畫面及程式碼,比較能清楚你的需求,才能討論如何改寫

____________________________________________________________________________________
👉快速比例設定與出圖技巧-線上課程(點我)👈
編輯個人資料 Sesa2011 編輯個人資料 Youtub11 編輯個人資料 Oiea2011 編輯個人資料 Oe20011 編輯個人資料 Fbi20011 編輯個人資料 Line2011
Tiger&蘋果爸
Tiger&蘋果爸
系統管理員
系統管理員

文章總數 : 21421
年齡 : 48
來自 : 台北市文山區
職業 : AutoCAD顧問
愛好 : 蹓狗/戶外活動/拍照/吸貓
個性 : 幽默/樂觀/善良
使用年資 : 20↑
使用版本 : AutoCAD 2022
經驗值 : 90649
威望值 : 17226
注冊日期 : 2008-04-23
2D基礎函授 2D進階函授 3D基礎函授 https://i.servimg.com/u/f11/19/71/67/71/2d3d10.png2D+3D線上 顧問外掛程式 經典問與答讀者 藍鵲1號
2009聚會勳章 2010聚會勳章 2011聚會勳章 2012聚會勳章 2013勳章-2D基礎 2014聚會勳章 2015聚會勳章 2016聚會勳章 串連貼紙成功 男 水瓶座 兔

http://mypaper.pchome.com.tw/kv1012tiger

回頂端 向下

回頂端


 
這個論壇的權限:
無法 在這個版面回復文章
用lisp 算pline 長度, Aoe1-113用lisp 算pline 長度, Ioaoe110用lisp 算pline 長度, 2020-310用lisp 算pline 長度, Oiu15010用lisp 算pline 長度, 2020-211用lisp 算pline 長度, Ia15010用lisp 算pline 長度, Aizyao10用lisp 算pline 長度, Uos15010用lisp 算pline 長度, BPl3tjj用lisp 算pline 長度, Ziao1510
用lisp 算pline 長度, Aoe15010用lisp 算pline 長度, Oo-2-110用lisp 算pline 長度, Zuoiy_10用lisp 算pline 長度, Aizyao11用lisp 算pline 長度, Iyb_1510用lisp 算pline 長度, Aoe1-112用lisp 算pline 長度, Uos15011用lisp 算pline 長度, Aoe2da10用lisp 算pline 長度, Aoe2da11用lisp 算pline 長度, Aoe10

*** disclaimer. 免責聲明 ***
“AUTOCAD®, and AUTODESK® are registered trademarks of Autodesk, Inc., its subsidiaries, and/or its affiliates.”
“This website is independent of Autodesk, Inc., and is not affiliated with, authorized, endorsed, sponsored, or otherwise approved of by Autodesk, Inc.”
“AUTOCAD® 和 AUTODESK® 是 Autodesk, Inc. 及其子公司和/或關聯公司的註冊商標。此網站與 Autodesk, Inc. 無關,並且未經 Autodesk, Inc. 授權、認可、贊助或以其他方式批准”

“AutoCAD 顧問論壇為台灣創立之網站,我們以熱忱服務 AutoCAD 用戶,致力於技術討論、知識分享及教學影片(課程)等內容,為 AutoCAD 社群提供支持與貢獻”