Chuyển đến nội dung
Diễn đàn CADViet
daotangdinh

Lisp xuất tọa độ

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

mình có file tọa độ , khi dùng lệnh id để lấy tọa độ , khi có tọa độ rồi , phải copy qua word , in ra , xong mới dùng máy toàn đạt để định vị ngoài công trường , rất là bất tiện và thủ công , các cao thủ có ai biết lisp nào chỉ cần list vào điểm cần lấy tọa độ sẽ hiện ra tọa độ cần và in trực tiếp trên cad ko ? cho mình xin đi , cảm ơn rất nhiều!

  • 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
mình có file tọa độ , khi dùng lệnh id để lấy tọa độ , khi có tọa độ rồi , phải copy qua word , in ra , xong mới dùng máy toàn đạt để định vị ngoài công trường , rất là bất tiện và thủ công , các cao thủ có ai biết lisp nào chỉ cần list vào điểm cần lấy tọa độ sẽ hiện ra tọa độ cần và in trực tiếp trên cad ko ? cho mình xin đi , cảm ơn rất nhiều!

 

Bạn gửi file Cad lên diễn đàn, mọi người xem qua mới hướng dẫn cụ thể được.

(Yêu cầu dạng này hình như có nhiều trên diễn đàn rồi, bạn thử Tìm nhé)

 

 

http://www.cadviet.com/forum/index.php?showtopic=2265&hl=

  • Vote tăng 1
  • 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
mình có file tọa độ , khi dùng lệnh id để lấy tọa độ , khi có tọa độ rồi , phải copy qua word , in ra , xong mới dùng máy toàn đạt để định vị ngoài công trường , rất là bất tiện và thủ công , các cao thủ có ai biết lisp nào chỉ cần list vào điểm cần lấy tọa độ sẽ hiện ra tọa độ cần và in trực tiếp trên cad ko ? cho mình xin đi , cảm ơn rất nhiều!

Bạn tham khảo ở đây xem

http://www.cadviet.com/forum/index.php?showtopic=4235

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

cái đó hay thì hay rồi nhưng Toạ độ thi có vấn đề. Bác náo có cái Pro hơn không, em đanh tập tành mà khó quá. bác nào muốn có Lisp vẽ mặt cắt thì nhắn cho em! xin mãi cũng ngạ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
cái đó hay thì hay rồi nhưng Toạ độ thi có vấn đề. Bác náo có cái Pro hơn không, em đanh tập tành mà khó quá. bác nào muốn có Lisp vẽ mặt cắt thì nhắn cho em! xin mãi cũng ngại

 

"Toạ độ thi có vấn đề" là vấn đề gì hả bạn ?

bạn có thể định nghĩa "Pro" được 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
cái đó hay thì hay rồi nhưng Toạ độ thi có vấn đề. Bác náo có cái Pro hơn không, em đanh tập tành mà khó quá. bác nào muốn có Lisp vẽ mặt cắt thì nhắn cho em! xin mãi cũng ngại

 

ban thu dung file líp nay xem

http://www.cadviet.com/upfiles/xy.lsp

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
sao ko dùng đựơc vậy ko co cao độ hả bạn,

Nề ông kia! Người ta nói ông up file lên thì không chịu up (ba cái file ghẻ của ông không ai chôm đâu mà lo) cứ họ đưa cái gì ra ông cũng kiu hông phải cái ông cần trong khi hỏi ông cần cái gì thì ông hông nói. Tui chỉ cho ông cách hỏi nề.

-Toạ độ xuất ra dạng gì, có x,y.z thể hiện như nào: viết ra chổ nào, thành hàng hay thành bảng, kích thước chử bao lớn.

-Cách chọn điểm để lấy toạ độ: pick đại hay lấy từ đối tượng gì.

-Cách tính toạ độ: có dùng toạ độ tương đối không, tỉ lệ bao nhiêu hay là 1-1.

 

Ít nhứt ông cũng phải nêu ra được như thế nà nên có file kèm theo mô tả trạng thái khi đã xuất ra cad. đậy nẩu mới viết lisp cho ông đượ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

Bạn thử dùng cái này xem. Khi pick vào 1 điểm thì nó sẽ lấy các toạ độ XYZ. Khi kết thúc công việc nó sẽ ghi ra file xxx.txt (xxx là tên bản vẽ hiện tại và nó nằm cùng thuw mục với bản vẽ) - code này là của NguyenLam _ ketcau.com

(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

  • Vote tăng 3

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

(defun c:vv(/ pt1 l1 l2 dtx pt2)

(setq pt1(getpoint "\nhap diem:"))

(setq l1(getreal"\ncao do:"))

(setq dtx(getreal"\nkhoang cach ngang:"))

(setq l2(getreal"\ncao do diem tiep theo:"))

(setq pt2(list (+ (car pt1) dtx) (- (+ (cadr pt1) l2) l1) 0))

(while

(setq pt2(list (+ (car pt1) dtx) (- (+ (cadr pt1) l2) l1) 0))

(command "line" pt1 pt2 "")

(setq pt1 pt2)

(setq l1 l2)

(setq dtx(getreal"\nkhoang cach ngang:"))

(setq l2(getreal"\ncao do diem tiep theo:"))

)

princ

)

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
(defun c:vv(/ pt1 l1 l2 dtx pt2)

(setq pt1(getpoint "\nhap diem:"))

(setq l1(getreal"\ncao do:"))

(setq dtx(getreal"\nkhoang cach ngang:"))

(setq l2(getreal"\ncao do diem tiep theo:"))

(setq pt2(list (+ (car pt1) dtx) (- (+ (cadr pt1) l2) l1) 0))

(while

(setq pt2(list (+ (car pt1) dtx) (- (+ (cadr pt1) l2) l1) 0))

(command "line" pt1 pt2 "")

(setq pt1 pt2)

(setq l1 l2)

(setq dtx(getreal"\nkhoang cach ngang:"))

(setq l2(getreal"\ncao do diem tiep theo:"))

)

princ

)

 

Bác Zuy phê bình em ngại quá dân mới mà hj

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

Cụ thể là hướng dẫn cho em gõ lệnh gì để sử dụng lisp này trên cad. em gõ lệnh tff mà không hiểu được . xin bác ghi rõ cách lam từ A đến Z cho em nha. Thanks bác rất 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

Em cũng có xiu tầm (Hổng phải của em) được một lisp xuất toạ độ này mọi người dùng thử.

 

;Xuat toa do ra man hinh CAD

 

(defun c:td( / get-x get-y oce xp yp rwc )

(setq oce (getvar "cmdecho"))

(setvar "cmdecho" 0)

(setvar "luprec" 4)

(main)

(setvar "cmdecho" oce)

)

 

;;;----------------------------- Leader Placement Routine ---------------------

;;; Here is where the leaders are actually written to the database

;;; based upon the value of coordinates passed from module "MAIN" .

;;; Null points are ignored.

 

(defun do_put_leader( xp yp )

(command "_.leader" rwc pause "" yp xp "")

)

 

;;;----------------------------- xyz coordinate breakdown ----------------------

;;; This routine accepts a point from the calling function and breaks it down

;;; into X,Y values.

 

(defun get_xyz ( pt )

(setq xp (car pt) yp (cadr pt) )

(if xp (setq xp (strcat "X "(rtos xp))))

(if yp (setq yp (strcat "Y "(rtos yp))))

)

 

;;;-------------------Secondary main module------------------------------------

;;; Accepts the user input and allows the user to select many objects in

;;; succession.

 

(defun main()

(setq olddim (getvar "dimstyle"))

(setq a (getreal "\n Input Text Height for Annotation : <2.5> "))

(if (null a) (setq a 2.5))

(setvar "dimtxt" a)

(setq rwc(getpoint "\nSelect point: "))

(get_xyz rwc)

(do_put_leader xp yp )

(while rwc

(setq rwc(getpoint "\nSelect point: "))

(get_xyz rwc)

(do_put_leader xp yp )

)

(command "dimstyle" "restore" olddim)

)

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
Bạn thử dùng cái này xem. Khi pick vào 1 điểm thì nó sẽ lấy các toạ độ XYZ. Khi kết thúc công việc nó sẽ ghi ra file xxx.txt (xxx là tên bản vẽ hiện tại và nó nằm cùng thuw mục với bản vẽ) - code này là của NguyenLam _ ketcau.com

(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

Có bác nào sửa giúp em code trên không? Sửa như sau:

+ Thêm tên điểm vào trước tọa độ

Ví dụ: ten, X, Y, Z = LK1,123.4456,5689.12,0.3

Them vào trước lệnh chọn điểm thứ là dòng lệnh chọn tên điểm, sau đo mới chọn điểm rồi xuất ra.

  • 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

Bạn muốn sữ dụng List nào cũng thế. Phải Ap vào bản vẽ của mình đang làm rồi mới gỏ lệnh chứ. Cụ thể bạn hảy gỏ ap sau đó chọn list tff rồi load lên, lúc này bạn gỏ lệnh tff là dùng được rồi. Như thế có đúng vấn đề của bạn không?!

  • 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

Chào mọi người!

Minh co file cad mà cao độ dưới dạng Mtext sau:http://www.cadviet.c..._hoan_thanh.dwg, mình muốn chuyển các cao độ text trong bản vẽ này sang file txt có cao độ và tọa độ các điểm.

Mình đã dùng lisp trên và dùng nova rồi ca Topo cũng không đc. Mong mọi người trả lời giúp.

  • 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

Chào mọi người!

Minh co file cad mà cao độ dưới dạng Mtext sau:http://www.cadviet.c..._hoan_thanh.dwg, mình muốn chuyển các cao độ text trong bản vẽ này sang file txt có cao độ và tọa độ các điểm.

Mình đã dùng lisp trên và dùng nova rồi ca Topo cũng không đc. Mong mọi người trả lời giúp.

Bạn up file cad chưa được. Hãy up lạ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
Khách
Chủ đề này bây giờ đã bị đóng lại để trả lời thêm.

×