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

Xin sửa lisp xuất toạ độ text sang excel

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

2 giờ trước, TASHI đã nói:

mình có 1 lisp nó xuất được toạ độ của chữ text nhưng nó ra toạ độ có sau dấu phẩy có 2 số, mình xin các pro sửa giúp mình toạ độ lấy sau dấy phẩy 3 số

58881_text_cad_sang_excel_ttx.lsp

sửa lại cho bạn

(defun c:ttx  (/ ss ss1 y xlApp xlCells row col i iPt)
  (vl-load-com)
  (if (setq ss (ssget '((0 . "*TEXT"))))
    (progn
      (setq xlApp   (vlax-get-or-create-object "Excel.Application")
            xlCells (vlax-get-property
                      (vlax-get-property
                        (vlax-get-property
                          (vlax-invoke-method
                            (vlax-get-property xlApp "Workbooks")
                            "Add") "Sheets") "Item" 1) "Cells") row 0 col 1)
      (vla-put-visible xlApp :vlax-true)
      
      (setq ss (mapcar '(lambda (x) (list (vlax-get (vlax-ename->vla-object x) 'InsertionPoint)
					  (vlax-ename->vla-object x)))		  
		       (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss)))))	   
      (while ss
	(setq  ss (vl-sort ss '(lambda (x y) (< (cadr (car x)) (cadr (car y)))))
	       ss1 (vl-remove-if-not '(lambda (x) (equal (cadr (caar ss)) (cadr (car x)) 0.3)) ss)
	       ss1 (vl-sort ss1 '(lambda (x y) (< (caar x) (caar y))))
	       ss (vl-remove-if '(lambda (x) (member x ss1)) ss)
	)
	(foreach z ss1
          (setq iPt (car z)
		y (list (vla-get-TextString (last z))  (rtos (car iPt) 2 3)  (rtos (cadr iPt) 2 3) (rtos (caddr iPt) 2 3))
	  ) 
          (if (> row 65536) (setq col 5))
          (setq i -1 row (1+ row))
          (mapcar '(lambda (x) (vlax-put-property xlCells "Item" row  (+ col (setq i (1+ i))) x)) y)
	)
      )
    )
  )
  (mapcar 'vlax-release-object (list xlApp xlCells))
  (princ)
)

 

  • Like 2

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
4 giờ trước, TASHI đã nói:

mình có 1 lisp nó xuất được toạ độ của chữ text nhưng nó ra toạ độ có sau dấu phẩy có 2 số, mình xin các pro sửa giúp mình toạ độ lấy sau dấy phẩy 3 số

58881_text_cad_sang_excel_ttx.lsp

toạ độ của text thi xuất ra làm gì nhỉ? tò mò... hihi!

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

MÌNH LÀM BÊN KHẢO SÁT GIAO THÔNG, VÍ DỤ MUỐN LẤY BIÊN 1 SỐ CỌC, THÌ MÌNH DÙNG LISP PICK TOẠ ĐỘ THÔNG THƯỜNG MÌNH SẼ LẠI PHẢI MẤT THÊM THAO TÁC LÀ GHI LẠI TÊN BIÊN CỦA CỌC NÀO, NẾU MÌNH VIẾT TEXT VÀO ĐÚNG ĐIỂM BIÊN ĐẤY, THÌ LÚC XUẤT RA NÓ CÓ TÊN ĐIỂM CHO MÌNH LUÔN

  • Vote giảm 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

ĐÃ TEST NGON, CẢM ƠN NHIỀU, LISP NÀY MÌNH ĐỠ GIÚP MÌNH RẤT NHIỀU, TRƯỚC MÌNH DÙNG LISP COORN, THÌ LẠI PHẢI MẤT CÔNG NGỒI RÀ LẠI TÊN ĐIỂM, GHI LẠI TÊN ĐIỂM, GIỜ THÌ CHỈ CẦN GHI TÊN ĐIỂM BẰNG TEXT TRƯỚC XONG CHỈ VIỆC XUẤT THÔI, KHÁ LÀ OK, ĐỠ BỊ NHẦM LẪN

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
Vào lúc 4/11/2020 tại 10:26, TASHI đã nói:

ĐÃ TEST NGON, CẢM ƠN NHIỀU, LISP NÀY MÌNH ĐỠ GIÚP MÌNH RẤT NHIỀU, TRƯỚC MÌNH DÙNG LISP COORN, THÌ LẠI PHẢI MẤT CÔNG NGỒI RÀ LẠI TÊN ĐIỂM, GHI LẠI TÊN ĐIỂM, GIỜ THÌ CHỈ CẦN GHI TÊN ĐIỂM BẰNG TEXT TRƯỚC XONG CHỈ VIỆC XUẤT THÔI, KHÁ LÀ OK, ĐỠ BỊ NHẦM LẪN

Cách dùng list này là sao vậy bác, nhập lệnh ttx rồi ..

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  

×