Đến nội dung


Hình ảnh
- - - - -

[Nhờ viết lisp] Xuất cao độ từ CAD sang Notpad hoặc Excel


  • Please log in to reply
30 replies to this topic

#21 bqtuanks

bqtuanks

    biết zoom

  • Members
  • Pip
  • 13 Bài viết
Điểm đánh giá: -5 (bình thường)

Đã gửi 27 September 2015 - 10:57 PM

Chọn 2 diểm băng qua hàng text muốn lấy. nếu muốn theo phương trục X hoặc Y thì bật F8. Số liệu xuất ra sẽ sắp xếp theo chiều bạn pick 2 điểm đó.
Muốn chọn tất cả lại càng dễ nhưng khi xuất ra số liệu sẽ không có trật tự gì, thì cũng như một mớ bỏ đi thôi.
Mình đã làm thử trên file của bạn rồi , kết quả như sau :
3.25 2.36 2.33 3.23 2.4 2.44 3.76
8.5 8.5 8.5 8.5 4.98 7.21 4.92 7.88 0.61
Còn đây là lsp mình làm sát theo yc của bạn :


(defun c:vantuan18 (/ ss f fl goc p1 p2 i ) ;chon text theo goc roi ghi ra file
(if (findfile (setq f (getstring "\n<Ten FILE> xuat so lieu , Go <ENTER> neu khong luu : ")))
(setq fl (open f "a")) (setq fl (open f "w")))
(while (setq goc (getangle "\nNhap goc cua text muon chon :"))(setq i 0)
(if (setq ss (ssget (list (cons 0 "TEXT") (cons 50 goc))))
(repeat (sslength ss) (prin1 (read (cdr (assoc 1 (entget (ssname ss i))))) fl) (princ " " fl) (setq i (1+ i)))
(prompt "\nKhong chon dc text nao !"));if
(write-line "" fl));while
(close fl)(princ))

 Anh cho em hỏi giờ em không muốn nhập góc text vào nữa mà chọn góc mặc định là =0 thì sửa chỗ nào trong lisp của anh thì được ạ. Em đã sửa chỗ này “(setq goc (getangle "\nNhap goc cua text muon chon :"))(setq i 0)” thành (setq goc 0) hoặc (setq goc (getangle 0))(setq i 0). Nhưng đều không được. và em muốn lựa chọn nơi lưu thì làm thế nào ? Anh xem chỉ cho em với ạ.Cảm ơn anh


  • 0

#22 bqtuanks

bqtuanks

    biết zoom

  • Members
  • Pip
  • 13 Bài viết
Điểm đánh giá: -5 (bình thường)

Đã gửi 28 September 2015 - 09:37 PM

các Cụ, có Cụ nào biết mà giúp cháu không ạ ?


  • -1

#23 anti lazy

anti lazy

    biết lệnh erase

  • Members
  • PipPipPip
  • 107 Bài viết
Điểm đánh giá: 27 (tàm tạm)

Đã gửi 29 September 2015 - 07:26 AM

Bỏ vòng while


  • 0

#24 bqtuanks

bqtuanks

    biết zoom

  • Members
  • Pip
  • 13 Bài viết
Điểm đánh giá: -5 (bình thường)

Đã gửi 29 September 2015 - 08:06 PM

Nếu bỏ vòng lặp while thì sau khi chọn rồi bấm enter thì lại chạy lại lisp từ đầu à cụ !
Lisp nếu bỏ vòng lặp while thì sẽ như thế này phải không ạ!
[lisp]
(defun c:vt (/ ss f fl goc p1 p2 i ) ;chon text theo goc roi ghi ra file
(if (findfile (setq f (getstring "\n<Ten FILE> xuat so lieu , Go <ENTER> neu khong luu : ")))
(setq fl (open f "a")) (setq fl (open f "w")))
(setq goc (getangle "\nNhap goc cua text muon chon :"))(setq i 0)
(if (setq ss (ssget (list (cons 0 "TEXT") (cons 50 goc))))
(repeat (sslength ss) (prin1 (read (cdr (assoc 1 (entget (ssname ss i))))) fl) (princ " " fl) (setq i (1+ i)))
(prompt "\nKhong chon dc text nao !"));if
(write-line "" fl))
(close fl)(princ))
[lisp]


  • 0

#25 quocmanh04tt

quocmanh04tt

    biết lệnh imageclip

  • Members
  • PipPipPipPipPipPipPip
  • 673 Bài viết
Điểm đánh giá: 315 (khá)

Đã gửi 29 September 2015 - 08:14 PM

Thay dòng này: (setq goc (getangle "\nNhap goc cua text muon chon :"))

Bởi: (or (setq goc (getangle "\nNhap goc cua text muon chon :"))​(setq goc 0))

Thì: nếu không nhập gì (Enter bỏ qua) thì góc sẽ bằng 0.


  • 1

#26 anti lazy

anti lazy

    biết lệnh erase

  • Members
  • PipPipPip
  • 107 Bài viết
Điểm đánh giá: 27 (tàm tạm)

Đã gửi 29 September 2015 - 10:07 PM

1 - Tôi chỉ hướng dẫn chứ không sửa toàn bộ, code tôi test đã chạy,

Bạn bảo code bạn đã sửa (setq goc 0) nhưng chạy không được là do nguyên nhân

(while (setq goc 0)

....

)

0 /= nil nên vòng while lặp vô tận

Bỏ (while thì phải bỏ dấu đóng ngoặc tương ứng code mới chạy được

2 - Đề nghị xưng hô lịch sự


  • 0

#27 ducqt

ducqt

    Chưa sử dụng CAD

  • Members
  • Pip
  • 3 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 01 July 2016 - 04:53 PM

http://www.cadviet.c...andodiahinh.dwg    anh em tranh thủ một ít thời gian load số liệu từ file cad này ra file TXT giúp mình với. mục đích của mình là xuất số liệu từ cad này ra để chạy bình đồ tuyến, trắc dọc, trắc ngang. Cảm ơn cả nhà nhiệu!

  • 0

#28 levucaycoc

levucaycoc

    Chưa sử dụng CAD

  • Members
  • Pip
  • 2 Bài viết
Điểm đánh giá: -1 (bình thường)

Đã gửi 21 September 2016 - 01:48 PM

Chào các bác, hiện tại mình đang cần 1 lisp xuất các thông tin sau lên CAD
+ Số thứ tự điểm
+ Point (Tọa độ X, Tọa độ Y)

+ Cao độ Z

+ Ghi chú Code

Các thông tin này có sẵn trong tệp SL2.txt mình đính kèm bên dưới.
Các bác nào giúp mình với được không ạ?


  • -1

#29 PKH

PKH

    Chưa sử dụng CAD

  • Members
  • Pip
  • 1 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 16 November 2016 - 02:36 PM

Chọn 2 diểm băng qua hàng text muốn lấy. nếu muốn theo phương trục X hoặc Y thì bật F8. Số liệu xuất ra sẽ sắp xếp theo chiều bạn pick 2 điểm đó.
Muốn chọn tất cả lại càng dễ nhưng khi xuất ra số liệu sẽ không có trật tự gì, thì cũng như một mớ bỏ đi thôi.
Mình đã làm thử trên file của bạn rồi , kết quả như sau :
3.25 2.36 2.33 3.23 2.4 2.44 3.76
8.5 8.5 8.5 8.5 4.98 7.21 4.92 7.88 0.61
Còn đây là lsp mình làm sát theo yc của bạn :


(defun c:vantuan18 (/ ss f fl goc p1 p2 i ) ;chon text theo goc roi ghi ra file
(if (findfile (setq f (getstring "\n<Ten FILE> xuat so lieu , Go <ENTER> neu khong luu : ")))
(setq fl (open f "a")) (setq fl (open f "w")))
(while (setq goc (getangle "\nNhap goc cua text muon chon :"))(setq i 0)
(if (setq ss (ssget (list (cons 0 "TEXT") (cons 50 goc))))
(repeat (sslength ss) (prin1 (read (cdr (assoc 1 (entget (ssname ss i))))) fl) (princ " " fl) (setq i (1+ i)))
(prompt "\nKhong chon dc text nao !"));if
(write-line "" fl));while
(close fl)(princ))

 Mình có Lips này nhưng các số không ở 1 cột Excel. Mọi người xem bây giờ mình muốn xuất dữ liệu thành 1 cột trong Excel thì làm thế nào ạ?

http://www.mediafire... sang Excel.lsp


  • 0

#30 thanhduan2407

thanhduan2407

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 995 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 16 November 2016 - 03:29 PM

Bạn download chương trình xuất nhập gần như tất cả các đối tượng của Autocad tại đây!

http://www.mediafire.../HEAVEN2407.VLX

 

Tên lệnh:

235fwss_zpsregeo85d.png

 

Video: 

https://www.youtube....h?v=DpHx5yiV9ds


  • 0



Tôi là con kiến bò trên sa mạc kiến thức bao la. Biển học thật rộng lớn







#31 ndtnv

ndtnv

    biết lệnh minsert

  • Members
  • PipPipPipPipPipPip
  • 437 Bài viết
Điểm đánh giá: 384 (khá)

Đã gửi 16 November 2016 - 03:36 PM

Tìm

(princ " " fl)

Sửa thành

(princ "\n" fl)


  • 0