05/11/2025

Lisp XrefBatch Xref nhiều tệp tin dwg | AutoCAD 2020 | AutoLISP Reviewer

Ứng dụng được phát triển/Sưu tầm bởi đội ngũ AutoLISP Thật là đơn giản
   

Thông tin thêm: 👉👉👉

Lệnh XrefBatch

Xref cả thư mục bản vẽ. Hỗ trợ xref nhiều tệp tin DWG trong 1 lần.


Tác giả: anh Hùng Mạnh Cường hmc@lisp.vn


1 Thêm XrefBatch by AJS.lsp

Lưu mã sau dưới dạng tệp tin XrefBatch by AJS.lsp
Code:
;;; XREFBATCH - batch attach XREF tu folder
;;; Command: XREFBATCH
(defun c:XREFBATCH
       (/ acadObj doc modelSpace InsertPoint insertedBlock sh folder folderobj folderpath files pt axis dist x y)
  (vl-load-com)

  (princ "\nBy hmc@lisp.vn")
(command "cmdecho" 0) (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) (setq modelSpace (vla-get-ModelSpace doc)) ;; Browse for folder (setq sh (vla-getInterfaceObject (vlax-get-acad-object) "Shell.Application" ) ) (setq folder (vlax-invoke-method sh 'BrowseForFolder 0 "Chon thu muc chua DWG" 0 ) ) (vlax-release-object sh) (if (not folder) (progn (princ "\nKhong co thu muc duoc chon.") (princ) (exit) ) ) ;; Lay duong dan thu muc (setq folderobj (vlax-get-property folder 'Self)) (setq folderpath (vlax-get-property folderobj 'Path)) ;; Lay tat ca DWG trong thu muc (setq files (vl-directory-files folderpath "*.dwg")) (if (not files) (progn (princ "\nThu muc khong co file DWG.") (princ) (exit) ) ) ;; Pick diem bat dau (setq pt (getpoint "\nChon diem bat dau: ")) (if (not pt) (progn (princ "\nKhong co diem chon.") (princ) (exit)) ) ;; Chon truc xep: N = Ngang, D = Doc (initget "Ngang Doc") (setq axis (getkword "\nXep theo truc [Ngang/Doc] <Ngang>: ")) (if (not axis) (setq axis "N") ) (setq axis (strcase (substr axis 1 1))) ;; N hoac D ;; Khoang cach giua cac Xref (setq dist (getreal "\nNhap khoang cach giua cac file<1000>: ")) (if (not dist) (setq dist 1000.0) ) ;; Khoi tao toa do (setq x (car pt)) (setq y (cadr pt)) ;; Chen tung file bang -XREF A <dwgpath> <point> 1 1 1 0 (foreach dwg files ;; Bao ngoac duong dan neu co khoang trang (setq dwgpath (strcat folderpath "/" dwg)) (princ (strcat "\nFile path: " dwgpath)) (setq InsertPoint (vlax-3d-point x y 0)) (setq insertedBlock (vla-AttachExternalReference modelSpace dwgpath dwg InsertPoint 1 1 1 0 :vlax-false)) (princ "\nDone") ;; Tang toa do theo truc (if (= axis "N") (setq x (+ x dist)) (setq y (+ y dist)) ) ) (princ (strcat "\nHoan tat: da chen " (itoa (length files)) " XREF tu: " folderpath ) ) (princ "\nhmc@lisp.vn")
  (princ)
)



Link tải (MediaFire)




---------------------------------------------------------------------------------------------
Ứng dụng được phát triển bởi đội ngũ AutoLISP Thật là đơn giản - Tác giả ứng dụng in D2P

    

Mọi thông tin xin liên hệ Fanpage AutoLISP Thật là đơn giản!
Cảm ơn bạn đã theo dõi!

Không có nhận xét nào:

Đăng nhận xét

Lisp XrefBatch Xref nhiều tệp tin dwg | AutoCAD 2020 | AutoLISP Reviewer

Ứng dụng được phát triển/Sưu tầm bởi đội ngũ AutoLISP Thật là đơn giản     Thông tin thêm: 👉👉👉