Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
saycaphe

[Yêu cầu] Xin lisp xuất toàn bộ text trong bản vẽ vào file text

Các bài được khuyến nghị

Chào các bác.

Em nhờ các bác giúp em lisp xuất toàn bộ text của bản vẽ(em đính kèm theo) ra 1 file text có tên giống tên bản vẽ và nằm cùng thư mục với bản vẽ

Cảm ơn các bác :)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Lisp xuất toàn bộ Text/Mtext trên bản vẽ ra file txt cùng tên với bản vẽ.

;Doan Van Ha - CADViet.com - Ngay 13/6/2012
;Muc dich: Xuat tat ca *Text tren ban ve ra file txt cung ten voi ban ve.
(defun C:HA( / lst fn pw)
(princ "\Chon cac Text/Mtext can xuat ra file...")
(setq lst (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget '((0 . "*TEXT")))))))
(setq fn (strcat (getvar "dwgprefix") (vl-string-subst "txt" "dwg" (getvar "dwgname"))))
(setq pw (open fn "w"))
(foreach ent lst
 (write-line (cdr (assoc 1 (entget ent))) pw))
(close pw)
(princ))

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Lisp xuất toàn bộ Text/Mtext trên bản vẽ ra file txt cùng tên với bản vẽ.

;Doan Van Ha - CADViet.com - Ngay 13/6/2012
;Muc dich: Xuat tat ca *Text tren ban ve ra file txt cung ten voi ban ve.
(defun C:HA( / lst fn pw)
(princ "\Chon cac Text/Mtext can xuat ra file...")
(setq lst (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget '((0 . "*TEXT")))))))
(setq fn (strcat (getvar "dwgprefix") (vl-string-subst "txt" "dwg" (getvar "dwgname"))))
(setq pw (open fn "w"))
(foreach ent lst
 (write-line (cdr (assoc 1 (entget ent))) pw))
(close pw)
(princ))

Cảm ơn bác nhiều lắm :D

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

File bạn gửi chẳng có ý nghĩa gì cho việc viết lisp cả :wacko:

Đối với bản vẽ mình up lên thì phài explode all, rồi sau đó select all, rồi mới thực hiện lisp của bác Doan Van Ha được.

 

Cho mình hỏi thêm : khi thực hiện lệnh explode all, đối với những bản vẽ nhiều chi tiết, sẽ hiện ra cảnh báo :autocad alert "this operation may take a long time..." rồi lựa chọn yes or no, vậy có cách nào mặc định lựa chọn yes or no khi gặp những trường hợp như vậy ko?

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

File bạn gửi chẳng có ý nghĩa gì cho việc viết lisp cả :wacko:

Trong bản vẽ mình up lên đó, có cái phần ghi tên và mã vật tư đó, hình như đc tạo bằng dynamic block, mình có cách nào xuất nội dung của nó ra text đc các bác ơi :(.

Bác bác giúp mình nhé.

Thanks:x

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Lisp xuất toàn bộ Text/Mtext trên bản vẽ ra file txt cùng tên với bản vẽ.

;Doan Van Ha - CADViet.com - Ngay 13/6/2012
;Muc dich: Xuat tat ca *Text tren ban ve ra file txt cung ten voi ban ve.
(defun C:HA( / lst fn pw)
(princ "\Chon cac Text/Mtext can xuat ra file...")
(setq lst (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget '((0 . "*TEXT")))))))
(setq fn (strcat (getvar "dwgprefix") (vl-string-subst "txt" "dwg" (getvar "dwgname"))))
(setq pw (open fn "w"))
(foreach ent lst
 (write-line (cdr (assoc 1 (entget ent))) pw))
(close pw)
(princ))

Bác có thể viết thêm được lips xuất các điểm cao độ từ bản vẽ khảo sát sang file text theo dạng "STT_ X_Y_0 cao do" để có thể chạy được trên HS không ạ?

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

Đăng nhập để thực hiện theo  

×