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

Xuất và nhập tọa độ bằng lisp

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

E sưu tầm được file lisp như sau để lấy tọa độ XYZ của các điểm thay cho lệnh ID. Nhưng sau khi e xuất ra file txt, thì chỉ lấy được 3 số thập phân, trong khi e muốn lấy 4 số, và không làm tròn. Mong ae có thể sửa code trong lisp này dùm e.

Và cho e hỏi luôn là sau khi mình xuất ra file txt rồi, thì e muốn xuất ngược bảng tọa độ đó vào Cad có được không???Mong ae chỉ dạy.

Cảm ơn ae rất nhiều và nội dung file lisp e có như sau : 

 

 


;; free lisp from cadviet.com;;; this lisp was downloaded from http://www.cadviet.com/forum/topic/5852-lisp-xuat-toa-do/

(defun c:tff ( / tmp dlst p1 file opw msg id)

(setq tmp t)

(setq dlst (list(strcat "X" "\t" "Y" "\t" "Z")))

(setq id 0)

(setq file (strcat (getvar "DWGPREFIX") (substr (getvar "DWGNAME") 1 (- (strlen (getvar "DWGNAME")) 4)) ".txt"))

(while tmp (progn (setq id (1+ id))

(setq msg (strcat "\nChon diem thu " (rtos id 2 0)":"))

(setq p1 (getpoint msg))

(if p1 (progn (setq dlst (append (list (strcat (rtos (car p1) 2 3)

"\t" (rtos (cadr p1) 2 3)

"\t" (rtos (caddr p1) 2 3)

)

)

dlst )

)

(setq tmp t)

)

(setq tmp nil)

)

)

)

(setq dlst (reverse dlst))

(setq ;file "d:\\tien\\diem.txt" opw (open file "w")

)

(foreach n dlst (write-line n opw))

(close opw));end defun----------------

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

thaoanthony, on 25 Feb 2013 - 11:07, said:

 

E sưu tầm được file lisp như sau để lấy tọa độ XYZ của các điểm thay cho lệnh ID. Nhưng sau khi e xuất ra file txt, thì chỉ lấy được 3 số thập phân, trong khi e muốn lấy 4 số, và không làm tròn. Mong ae có thể sửa code trong lisp này dùm e.

Và cho e hỏi luôn là sau khi mình xuất ra file txt rồi, thì e muốn xuất ngược bảng tọa độ đó vào Cad có được không???Mong ae chỉ dạy.

Cảm ơn ae rất nhiều và nội dung file lisp e có như sau :

 

 

hề hề hề,

Bạn thử thay tất cả các hàm (rtos ......... 2 3) bằng (rtos........ 2 4) coi nó ra cái giống chi hè.......

Còn việc muốn xuất ngược nó lại vào CAD thì cũng chả khó đâu, trên diễn đàn có vvô số lisp như vầy. Bạn chịu khó tìm kiếm nhé

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

hề hề hề,

Bạn thử thay tất cả các hàm  (rtos ......... 2 3)  bằng  (rtos........  2 4) coi nó ra cái giống chi hè.......

Còn việc muốn xuất ngược nó lại vô CAD thì cũng chả khó đâu, trên diễn đàn có vô số lisp như vầy. Bạn chịu khó tìm kiếm nhé.

Rtos nó làm tròn bác PTB ạ! Chủ topic không muốn làm tròn mà chỉ muốn cắt đuô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

Rtos nó làm tròn bác PTB ạ! Chủ topic không muốn làm tròn mà chỉ muốn cắt đuôi.

Hề hề hề,

Sorry bác vì mình không hiểu rõ yêu cầu của chủ thớt. Nếu là như vậy thì có nhẽ phải dùng (substr (rtos .... 2 5) .....) bác nhể.

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

Em không biết viết lisp nhưng có một việc đang rất cần các bạn giúp như sau:

- Trong bản vẽ AutoCad khi mình click điểm nào thì sẽ lấy được tọa độ x,y của điểm đó. Sau khi click 1 điểm thì có thể click tiếp điểm khác hoặc hiện thông báo xuất ra file text. Khi đồng ý thì xuất ra file text có dạng như mình đã định sẵn như:

                start

                abc

                xyz

                abc,xyz,bcd, TỌA ĐỘ X, TỌA ĐỘ Y, abc, xyz

                end

Mong các Pro, bác phamthanhbinh giúp e với. Chân thành cảm ơn nhiều.

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  

×