發表文章

目前顯示的是 2月, 2020的文章

AutoCAD LISP 圖塊統計數量

圖片
作者:Lee Mac 說明:圖塊統計數量後,可以輸出為表格物件、TXT檔、CSV檔或直接在命令列輸出 指令:count - 主程式             countsettings - 設定 原網址: Block Counter 中文化載點:解析網址中... 如何載入LISP 圖塊統計設定(Count Settings) 範例: 相關連結 AutoCAD 如何載入LISP AutoCAD 常用的圖塊統計方法

AutoCAD LISP 選取表格(Table)某點判斷選取哪個欄列的數值或其值

圖片
備註:輸出的欄列值起始為0 ;;;點選某格的表格中得到欄列 (defun c:tt (/ table outRow outCol)   (setq table (entsel "\n選取表格:"))   (vla-HitTest     (vlax-ename->vla-object (car table))     (vlax-3d-point (cadr table))     (vlax-3d-point (trans (getvar 'ViewDir) 1 0))     'outRow     'outCol     )   (setq val (vlax-variant-value     (vla-GetCellValue       (vlax-ename->vla-object (car table))       outRow       outCol       )))   (prompt (strcat "\nRow:" (itoa outRow)))   (prompt (strcat "\nCol:" (itoa outCol)))   (prompt (strcat "\n文字:"   (cond     ((eq 'STR (type val))      val)     ((eq 'INT (type val))      (itoa val))     ((eq 'REAL (type val))      (rtos val))     (T      "")     );_cond   )   )   (princ)   ) ;_end 相關連結 AutoCAD 如何載入LISP

AutoCAD LISP 複線的相關程式

圖片
1. 單線轉複線 作者:不明 說明:選取單線轉換成複線 程式碼: (defun c:l2ml ()   (setq mysset (ssget))   (setq mylength (sslength mysset))   (setq counter 0)   (while (< counter mylength)     (setq obj (ssname mysset counter))     (setq data (entget obj))     (setq pt1 (cdr (assoc 10 data)))     (setq pt2 (cdr (assoc 11 data)))     (command "mline" "style" "standard" pt1 pt2 "")     (entdel obj)     (setq counter (+ 1 counter))     )   (princ)   ) 2.聚合線轉複線 作者:不明 說明:選取聚合線轉換成複線 程式碼: (defun c:pl2ml ( / e i l s )     (if (setq s (ssget '((0 . "LWPOLYLINE"))))         (repeat (setq i (sslength s))             (setq e (ssname s (setq i (1- i)))                   l (entget e)             )             (apply 'command                 (append '("_.mline")                     (apply 'append                         (mapcar                             (function                                 (lambda ( x )                                

AutoCAD 線 Line 物件方法屬性參考(ActiveX)

要創建一條線,請使用 AddLine 方法。 Methods 方法 ArrayPolar 環形陣列 ArrayRectangular 矩形陣列 Copy 複製 Delete 刪除 GetBoundingBox 包圍物件2點 GetExtensionDictionary 得到擴展字典 GetXData 得到擴充數據 Highlight 設定是否高亮 IntersectWith 相交點 Mirror 鏡射 Mirror3D 3D鏡射 Move 移動 Offset 偏移 Rotate 旋轉 Rotate3D 3D旋轉 ScaleEntity 縮放 SetXData 設定擴充數據 TransformBy 給予4x4轉換矩陣的情況下移動、縮放或旋轉對象 Update 更新 Properties 屬性 Angle 直線角度 Application 應用程式 Delta 直線頂點坐標差值 Document 所屬圖面 EndPoint 終點 EntityTransparency 透明度 Handle 處理碼(句柄) HasExtensionDictionary 是否具有擴展字典 Hyperlinks   Layer 圖層 Length 長度 Linetype 線型 LinetypeScale 線型比例 Lineweight 線粗 Material 材料 Normal 法線向量 ObjectID 物件ID ObjectName 物件類型 Own

AutoLisp 錯誤訊息產生原因參考

此表為可能原因參考,並不限於這些原因。 錯誤信息 可能的原因 ; 錯誤: 異常輸入清單 malformed list on input 代碼缺少一個或多個右括號。 ; 錯誤: 其他的輸入右 paren extra right paren on input 代碼中有多餘的右括號。 ; 錯誤: 異常的輸入字串 malformed string on input 代碼包含一個缺少字符串分隔符( " )的字符串。 ; 錯誤: 引數太多 too many arguments 已使用太多引數在評估函數。 ; 錯誤: 引數太少 too few arguments 已經使用太少的必需引數評估了函數。 ; 錯誤: 函數被取消 Function cancelled 用戶在運行 AutoLISP 功能時按下了 Esc 鍵。 ; 錯誤: 退出 / 結束 中斷 quit / exit abort 已經評估了 (exit) 或  (quit)  的 AutoLISP 函數。 應用程序錯誤:控制台中斷 Application ERROR: Console break 用戶在程序評估 grread 函數時按下了 Esc 鍵,而沒有在 allkeys 參數中設置第 3 位( 8 ) 。 損壞的引數類型 : numberp : <value> bad argument type: numberp: <value> 需要數字參數的函數已傳遞錯誤數據類型的參數,並帶有錯誤消息中記錄的值。 損壞的引數類型 : fixnump : <value> bad argument type: fixnump: <value> 需要整數參數的函數已傳遞錯誤數據類型的參數,並帶有錯誤消息中記錄的值。 損壞的引數類型 : stringp <value> bad argument type: stringp <