Đến nội dung


Hình ảnh
- - - - -

[Yêu cầu] Lisp tính lý trình các điểm trên 1 polyline/line


  • Please log in to reply
30 replies to this topic

#21 phamxuanly.gtvt

phamxuanly.gtvt

    biết zoom

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

Đã gửi 07 November 2011 - 11:54 PM

Hề hề hề
Phải chăng bạn cần cái này:

Hề hề hề.
@ phamxuanly gtvt: hãy gửi bản vẽ bị lỗi lên...

bản vẽ bị lỗi đây anh ơi, anh giúp em nha
http://www.mediafire...bmppxo7ct3df4s6

Bài viết đã được chỉnh sửa nội dung bởi phamthanhbinh: 08 November 2011 - 02:13 PM
Xóa lisp vì đã được chỉnh sửa

  • 0

#22 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6009 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 08 November 2011 - 12:16 PM

bản vẽ bị lỗi đây anh ơi, anh giúp em nha
http://www.mediafire...bmppxo7ct3df4s6

Hề hề hề,
Lỗi xảy ra là do bản vẽ của bạn đang đặt ở hệ tọa độ của người dùng (cụ thể là hệ tọa độ PP). Hãy chuyển toàn bộ bản vẽ về hệ tọa độ World là nó hết lỗi.
Đây là lỗi thường gặp do người làm lisp ít quan tâm tới việc người dùng lisp lại sử dụng hệ tọa độ riêng của mình. Hơn nữa lisp này được viết theo yêu cầu của người khác mà bản vẽ của người đó không dùng hệ tọa độ riêng như của bạn. Vì thế trước khi bạn dùng lisp sưu tầm hãy cố gắng hiểu nó đã kẻo mà nó sai tùm lum như bạn đã thấy.
Việc sửa nó không quá khó, nhưng bạn hãy lưu ý điều này cho các lần sử dụng lisp khác.
Bạn hãy bổ sung (command "ucs" "w") vào dưới dòng (command "undo" "be")
và (command "ucs" "p") vào trên dòng (command "undo" 'e")
Chúc bạn thành công.
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#23 phamxuanly.gtvt

phamxuanly.gtvt

    biết zoom

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

Đã gửi 08 November 2011 - 01:22 PM

Hề hề hề,
Lỗi xảy ra là do bản vẽ của bạn đang đặt ở hệ tọa độ của người dùng (cụ thể là hệ tọa độ PP). Hãy chuyển toàn bộ bản vẽ về hệ tọa độ World là nó hết lỗi.
Đây là lỗi thường gặp do người làm lisp ít quan tâm tới việc người dùng lisp lại sử dụng hệ tọa độ riêng của mình. Hơn nữa lisp này được viết theo yêu cầu của người khác mà bản vẽ của người đó không dùng hệ tọa độ riêng như của bạn. Vì thế trước khi bạn dùng lisp sưu tầm hãy cố gắng hiểu nó đã kẻo mà nó sai tùm lum như bạn đã thấy.
Việc sửa nó không quá khó, nhưng bạn hãy lưu ý điều này cho các lần sử dụng lisp khác.
Bạn hãy bổ sung (command "ucs" "w") vào dưới dòng (command "undo" "be")
và (command "ucs" "p") vào trên dòng (command "undo" 'e")
Chúc bạn thành công.

giờ thì không sử dụng được lisp này anh ơi!
anh coi ở dưới dòng command nó hiện gì đó.
em là thành viên mới, chưa biết viết Lisp đâu, mong anh chỉ giúp!!!
http://www.mediafire...4bp3j5bx2svb834
  • 0

#24 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6009 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 08 November 2011 - 02:26 PM

giờ thì không sử dụng được lisp này anh ơi!
anh coi ở dưới dòng command nó hiện gì đó.
em là thành viên mới, chưa biết viết Lisp đâu, mong anh chỉ giúp!!!
http://www.mediafire...4bp3j5bx2svb834

Hề hề hề,
Nó bảo bạn rằng không có hệ tọa độ nào của người dùng được tạo ra trước đó cả. và thế là nó out.
Như vậy chứng tỏ rằng cái bản vẽ này của bạn khác với cái bản vẽ cũ. Và đó cũng chính là điều mà người dùng lisp nhiều khi không lưu ý đến điều này. Mỗi lisp được viết ra có thể chỉ phù hợp với một số giới hạn các cấu trúc bản vẽ mà thôi.
Bạn đã sửa cái lisp này có đúng như mình nói không???
Bạn hãy thử cái này xem sao nhé:



(defun c:glt (/ pl plst pa pd k l a lt lt1 lt2 txt tg etg txtp txtp1 txtp2 dl dl1 dl2)
(vl-load-com)
(command "undo" "be")
(setq ucsold (getvar "ucsname"))
(command "ucs" "W")
(setq pl (car (entsel "\n Chon polyline can ghi ly trinh")))
(setq plst (vl-sort (acet-geom-vertex-list pl) '(lambda (x y) (< (car x) (car y)))))
(setq pa (getstring t "\n Chon diem goc ghi ly trinh <T or P>: "))
(if (= (strcase pa) "T")
(setq pd (car plst))
(setq pd (last plst))
)
(setq k (getint "\n Chon so chu so thap phan: "))
(setq l (getint "\n Chon phuong an ghi ly trinh <1 or 2>: "))
(setq a (getpoint "\n Chon point can ghi ly trinh"))
(while ( /= a nil)
(if (= l 1)
(progn
(if (equal (vlax-curve-getStartPoint (setq obj (vlax-ename->vla-object pl))) pd 0.001)
(setq lt (vlax-curve-getDistAtPoint obj (vlax-curve-getClosestPointTo obj a)))
(setq lt (- (vlax-curve-getDistAtPoint obj (vlax-curve-getEndPoint obj))
(vlax-curve-getDistAtPoint obj (vlax-curve-getClosestPointTo obj a))))
)
(setq dl (- lt (* (fix (/ lt 1000)) 1000)))
(if (< (fix dl) 100)
(if (< (fix dl) 10)
(setq txtp (strcat "00" (rtos dl 2 k)))
(setq txtp (strcat "0" (rtos dl 2 k)))
)
(setq txtp (rtos dl 2 k))
)
(setq txt (strcat "Km" (itoa (fix (/ lt 1000))) "+" txtp))
(setq tg (car (entsel "\n Chon text can thay the ")))
(setq etg (entget tg))
(setq etg (subst (cons 1 txt) (assoc 1 etg) etg))
(entmod etg)
)
(progn
(if (equal (vlax-curve-getStartPoint (setq obj (vlax-ename->vla-object pl))) pd 0.001)
(progn
(setq lt1 (vlax-curve-getDistAtPoint obj (vlax-curve-getClosestPointTo obj a)))
(setq lt2 (vlax-curve-getDistAtPoint obj (vlax-curve-getClosestPointTo obj (getpoint "\n Chon second point can ghi ly trinh"))))
)
(progn
(setq lt1 (- (vlax-curve-getDistAtPoint obj (vlax-curve-getEndPoint obj))
(vlax-curve-getDistAtPoint obj (vlax-curve-getClosestPointTo obj a))))
(setq lt2 (- (vlax-curve-getDistAtPoint obj (vlax-curve-getEndPoint obj))
(vlax-curve-getDistAtPoint obj (vlax-curve-getClosestPointTo obj (getpoint "\n Chon second point can ghi ly trinh")))))
)
)
(setq dl1 (- lt1 (* (fix (/ lt1 1000)) 1000)))
(if (< (fix dl1) 100)
(if (< (fix dl1) 10)
(setq txtp1 (strcat "00" (rtos dl1 2 k)))
(setq txtp1 (strcat "0" (rtos dl1 2 k)))
)
(setq txtp1 (rtos dl1 2 k))
)
(setq dl2 (- lt2 (* (fix (/ lt2 1000)) 1000)))
(if (< (fix dl2) 100)
(if (< (fix dl2) 10)
(setq txtp2 (strcat "00" (rtos dl2 2 k)))
(setq txtp2 (strcat "0" (rtos dl2 2 k)))
)
(setq txtp2 (rtos dl2 2 k))
)
(setq txt (strcat "Km" (itoa (fix (/ lt1 1000))) "+" txtp1 "-Km" (itoa (fix (/ lt2 1000))) "+" txtp2 ))
(setq tg (car (entsel "\n Chon text can thay the ")))
(setq etg (entget tg))
(setq etg (subst (cons 1 txt) (assoc 1 etg) etg))
(entmod etg)
)
)
(setq a (getpoint "\n Ban hay chon diem tiep theo: "))
)
(if (/= ucsold "")
(command "ucs" "p")
)
(command "undo" "e")
(princ)
)


Nếu vẫn không được thì bạn hãy bỏ dòng code (command "ucs" "p") đi nhé. Vì dòng này sẽ trả bản vẽ về hệ tọa độ người dùng sử dụng trước đó khi nó tồn tại.
Lúc này bạn phải lưu ý rằng tất cả các bản vẽ khi sử dụng lisp này sẽ bị trả hết về hệ tọa độ World và nếu muốn sử dụng lại các hệ tọa độ cũ bạn phải tự làm bằng cách sử dụng lệnh ucsman.

Chúc bạn vui.
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#25 phamxuanly.gtvt

phamxuanly.gtvt

    biết zoom

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

Đã gửi 08 November 2011 - 03:06 PM

Hề hề hề,
Nó bảo bạn rằng không có hệ tọa độ nào của người dùng được tạo ra trước đó cả. và thế là nó out.
Như vậy chứng tỏ rằng cái bản vẽ này của bạn khác với cái bản vẽ cũ. Và đó cũng chính là điều mà người dùng lisp nhiều khi không lưu ý đến điều này. Mỗi lisp được viết ra có thể chỉ phù hợp với một số giới hạn các cấu trúc bản vẽ mà thôi.
Bạn đã sửa cái lisp này có đúng như mình nói không???
Bạn hãy thử cái này xem sao nhé:




(defun c:glt (/ pl plst pa pd k l a lt lt1 lt2 txt tg etg txtp txtp1 txtp2 dl dl1 dl2)
(vl-load-com)
(command "undo" "be")
(setq ucsold (getvar "ucsname"))
(command "ucs" "W")
(setq pl (car (entsel "\n Chon polyline can ghi ly trinh")))
(setq plst (vl-sort (acet-geom-vertex-list pl) '(lambda (x y) (< (car x) (car y)))))
(setq pa (getstring t "\n Chon diem goc ghi ly trinh <T or P>: "))
(if (= (strcase pa) "T")
(setq pd (car plst))
(setq pd (last plst))
)
(setq k (getint "\n Chon so chu so thap phan: "))
(setq l (getint "\n Chon phuong an ghi ly trinh <1 or 2>: "))
(setq a (getpoint "\n Chon point can ghi ly trinh"))
(while ( /= a nil)
(if (= l 1)
(progn
(if (equal (vlax-curve-getStartPoint (setq obj (vlax-ename->vla-object pl))) pd 0.001)
(setq lt (vlax-curve-getDistAtPoint obj (vlax-curve-getClosestPointTo obj a)))
(setq lt (- (vlax-curve-getDistAtPoint obj (vlax-curve-getEndPoint obj))
(vlax-curve-getDistAtPoint obj (vlax-curve-getClosestPointTo obj a))))
)
(setq dl (- lt (* (fix (/ lt 1000)) 1000)))
(if (< (fix dl) 100)
(if (< (fix dl) 10)
(setq txtp (strcat "00" (rtos dl 2 k)))
(setq txtp (strcat "0" (rtos dl 2 k)))
)
(setq txtp (rtos dl 2 k))
)
(setq txt (strcat "Km" (itoa (fix (/ lt 1000))) "+" txtp))
(setq tg (car (entsel "\n Chon text can thay the ")))
(setq etg (entget tg))
(setq etg (subst (cons 1 txt) (assoc 1 etg) etg))
(entmod etg)
)
(progn
(if (equal (vlax-curve-getStartPoint (setq obj (vlax-ename->vla-object pl))) pd 0.001)
(progn
(setq lt1 (vlax-curve-getDistAtPoint obj (vlax-curve-getClosestPointTo obj a)))
(setq lt2 (vlax-curve-getDistAtPoint obj (vlax-curve-getClosestPointTo obj (getpoint "\n Chon second point can ghi ly trinh"))))
)
(progn
(setq lt1 (- (vlax-curve-getDistAtPoint obj (vlax-curve-getEndPoint obj))
(vlax-curve-getDistAtPoint obj (vlax-curve-getClosestPointTo obj a))))
(setq lt2 (- (vlax-curve-getDistAtPoint obj (vlax-curve-getEndPoint obj))
(vlax-curve-getDistAtPoint obj (vlax-curve-getClosestPointTo obj (getpoint "\n Chon second point can ghi ly trinh")))))
)
)
(setq dl1 (- lt1 (* (fix (/ lt1 1000)) 1000)))
(if (< (fix dl1) 100)
(if (< (fix dl1) 10)
(setq txtp1 (strcat "00" (rtos dl1 2 k)))
(setq txtp1 (strcat "0" (rtos dl1 2 k)))
)
(setq txtp1 (rtos dl1 2 k))
)
(setq dl2 (- lt2 (* (fix (/ lt2 1000)) 1000)))
(if (< (fix dl2) 100)
(if (< (fix dl2) 10)
(setq txtp2 (strcat "00" (rtos dl2 2 k)))
(setq txtp2 (strcat "0" (rtos dl2 2 k)))
)
(setq txtp2 (rtos dl2 2 k))
)
(setq txt (strcat "Km" (itoa (fix (/ lt1 1000))) "+" txtp1 "-Km" (itoa (fix (/ lt2 1000))) "+" txtp2 ))
(setq tg (car (entsel "\n Chon text can thay the ")))
(setq etg (entget tg))
(setq etg (subst (cons 1 txt) (assoc 1 etg) etg))
(entmod etg)
)
)
(setq a (getpoint "\n Ban hay chon diem tiep theo: "))
)
(if (/= ucsold "")
(command "ucs" "p")
)
(command "undo" "e")
(princ)
)


Nếu vẫn không được thì bạn hãy bỏ dòng code (command "ucs" "p") đi nhé. Vì dòng này sẽ trả bản vẽ về hệ tọa độ người dùng sử dụng trước đó khi nó tồn tại.
Lúc này bạn phải lưu ý rằng tất cả các bản vẽ khi sử dụng lisp này sẽ bị trả hết về hệ tọa độ World và nếu muốn sử dụng lại các hệ tọa độ cũ bạn phải tự làm bằng cách sử dụng lệnh ucsman.

Chúc bạn vui.

Giờ thi em làm được rồi, cũng đã hiểu rồi.
Cảm ơn anh nhiều.
chúc anh thành công
  • 0

#26 mathan

mathan

    biết vẽ rectang

  • Members
  • PipPip
  • 83 Bài viết
Điểm đánh giá: 57 (tàm tạm)

Đã gửi 25 November 2011 - 05:17 PM

Hề hề hề
Phải chăng bạn cần cái này:




Hề hề hề.
@ phamxuanly gtvt: hãy gửi bản vẽ bị lỗi lên...

@ Bác Bình: Tôi cũng đã một số lisp lý trình, nhưng có cách nào để pick vào 1 điểm ngoài đường Pline tim mà nó vẫn nhận ra lý trình được không bác.
  • 0
-----------
Hình đã gửi Hãy chia sẻ để thấy có được nhiều hơn điều mình muốn!
Best regard,

#27 mathan

mathan

    biết vẽ rectang

  • Members
  • PipPip
  • 83 Bài viết
Điểm đánh giá: 57 (tàm tạm)

Đã gửi 26 November 2011 - 03:52 PM

Cảm ơn phamthanhbinh nhiều nhé. Em dùng thấy nó thật là ngon.
Bác cho e mượn cái code xào nấu thêm chút đỉnh cho theo ý nha.
Thank bác. nhiều nhé. Em dùng thấy ngon lắmnhêều
  • 0
-----------
Hình đã gửi Hãy chia sẻ để thấy có được nhiều hơn điều mình muốn!
Best regard,

#28 duyngoc

duyngoc

    biết vẽ pline

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

Đã gửi 14 December 2011 - 02:55 PM

líp bi lỗi rồi bác bình ơi, mình thử dùng mà không được, nhờ bác xem hộ!
  • 0

#29 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6009 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 14 December 2011 - 03:15 PM

líp bi lỗi rồi bác bình ơi, mình thử dùng mà không được, nhờ bác xem hộ!

Hề hề hề,
Bác ơi em ốm, bác cứu em với !!!!!
Nhưng mà cứu thế nào khi chả biết em bị bệnh gì, sốt bao nhiêu độ, ăn được cái gì, uống được cái chi, gãy tay hay què cẳng ????
vậy nên nếu em muốn bác coi lại thì em phải nói cái lỗi nó như thế nào. CAD trả về cái gì khi chạy thì mới nói chuyện xem chứ. Bởi vì cái đó chủ thớt đã dùng và một vài người nữa cũng đả test chứ không phải mình quăng ẩu lên đâu.
Ấy là chưa kể em có hiểu mục đích sử dụng của lisp hay không vì: phúc thống mà phục nhân sâm thì tắc tử đó em ơi.
Hề hề hề.....
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#30 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5682 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 14 December 2011 - 08:54 PM

Lisp bị lỗi rồi bác ơi
_______________________________________

website design packages|opt in leads


Có lịch sự thì bạn đọc bài ngay trên bài của bạn đi
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#31 trieubb

trieubb

    biết vẽ ellipse

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

Đã gửi 06 September 2012 - 02:31 PM

Hề hề hề
Phải chăng bạn cần cái này:



(defun c:glt (/ pl plst pa pd k l ltg p0 a lt lt1 lt2 txt tg etg txtp txtp1 txtp2 dl dl1 dl2)
(vl-load-com)
(command "undo" "be")
(setq ucsold (getvar "ucsname"))
(command "ucs" "w")
(setq pl (car (entsel "\n Chon polyline can ghi ly trinh")))
(setq plst (vl-sort (acet-geom-vertex-list pl) '(lambda (x y) (< (car x) (car y)))))
(setq pa (getstring t "\n Chon chieu ghi ly trinh <T or P>: "))
(if (= (strcase pa) "T")
(setq pd (car plst))
(setq pd (last plst))
)
(setq p0 (getpoint "\n Chon diem goc ghi ly trinh"))
(setq ltg (getreal "\n Nhap ly trinh goc: "))
(setq k (getint "\n Chon so chu so thap phan: "))
(setq l (getint "\n Chon phuong an ghi ly trinh <1 or 2>: "))
(setq a (getpoint "\n Chon point can ghi ly trinh"))
(while ( /= a nil)
(if (= l 1)
(progn
(if (equal (vlax-curve-getStartPoint (setq obj (vlax-ename->vla-object pl))) pd 0.001)
(setq lt (+ (- (vlax-curve-getDistAtPoint obj (vlax-curve-getClosestPointTo obj a))
(vlax-curve-getdistatpoint obj (vlax-curve-getclosestpointto obj p0)) ) ltg ) )
(setq lt (+ (- (vlax-curve-getdistatpoint obj (vlax-curve-getclosestpointto obj p0))
(vlax-curve-getDistAtPoint obj (vlax-curve-getClosestPointTo obj a))
) ltg ) )
)
(setq dl (abs (- lt (* (fix (/ lt 1000)) 1000))))
(if (< (fix dl) 100)
(if (< (fix dl) 10)
(setq txtp (strcat "00" (rtos dl 2 k)))
(setq txtp (strcat "0" (rtos dl 2 k)))
)
(setq txtp (rtos dl 2 k))
)
(if (> lt 0)
(setq txt (strcat "Km" (itoa (fix (/ lt 1000))) "+" txtp))
(setq txt (strcat "Km" (itoa (fix (/ lt 1000))) "-" txtp))
)
(setq tg (car (entsel "\n Chon text can thay the ")))
(setq etg (entget tg))
(setq etg (subst (cons 1 txt) (assoc 1 etg) etg))
(entmod etg)
)
(progn
(if (equal (vlax-curve-getStartPoint (setq obj (vlax-ename->vla-object pl))) pd 0.001)
(progn
(setq lt1 (+ (- (vlax-curve-getDistAtPoint obj (vlax-curve-getClosestPointTo obj a))
(vlax-curve-getdistatpoint obj (vlax-curve-getclosestpointto obj p0)) ) ltg ) )
(setq lt2 (+ (- (vlax-curve-getDistAtPoint obj (vlax-curve-getClosestPointTo obj (getpoint "\n Chon second point can ghi ly trinh")))
(vlax-curve-getdistatpoint obj (vlax-curve-getclosestpointto obj p0)) ) ltg ))
)
(progn
(setq lt1 (+ (- (vlax-curve-getdistatpoint obj (vlax-curve-getclosestpointto obj p0))
(vlax-curve-getDistAtPoint obj (vlax-curve-getClosestPointTo obj a)) ) ltg ))
(setq lt2 (+ (- (vlax-curve-getdistatpoint obj (vlax-curve-getclosestpointto obj p0))
(vlax-curve-getDistAtPoint obj (vlax-curve-getClosestPointTo obj (getpoint "\n Chon second point can ghi ly trinh"))) ) ltg ))
)
)
(setq dl1 (abs (- lt1 (* (fix (/ lt1 1000)) 1000))))
(if (< (fix dl1) 100)
(if (< (fix dl1) 10)
(setq txtp1 (strcat "00" (rtos dl1 2 k)))
(setq txtp1 (strcat "0" (rtos dl1 2 k)))
)
(setq txtp1 (rtos dl1 2 k))
)
(setq dl2 (abs (- lt2 (* (fix (/ lt2 1000)) 1000))))
(if (< (fix dl2) 100)
(if (< (fix dl2) 10)
(setq txtp2 (strcat "00" (rtos dl2 2 k)))
(setq txtp2 (strcat "0" (rtos dl2 2 k)))
)
(setq txtp2 (rtos dl2 2 k))
)
(if (and (>= lt1 0) (>= lt2 0))
(setq txt (strcat "Km" (itoa (fix (/ lt1 1000))) "+" txtp1 "-Km" (itoa (fix (/ lt2 1000))) "+" txtp2 )))
(if (and (>= lt1 0) (< lt2 0))
(setq txt (strcat "Km" (itoa (fix (/ lt1 1000))) "+" txtp1 "-Km" (itoa (fix (/ lt2 1000))) "-" txtp2 )))
(if (and (< lt1 0) (>= lt2 0))
(setq txt (strcat "Km" (itoa (fix (/ lt1 1000))) "-" txtp1 "-Km" (itoa (fix (/ lt2 1000))) "+" txtp2 )))
(if (and (< lt1 0) (< lt2 0))
(setq txt (strcat "Km" (itoa (fix (/ lt1 1000))) "-" txtp1 "-Km" (itoa (fix (/ lt2 1000))) "-" txtp2 )))
(setq tg (car (entsel "\n Chon text can thay the ")))
(setq etg (entget tg))
(setq etg (subst (cons 1 txt) (assoc 1 etg) etg))
(entmod etg)
)
)
(setq a (getpoint "\n Ban hay chon diem tiep theo: "))
)
(if (/= ucsold "")
(command "ucs" "p")
)
(command "undo" "e")
(princ)
)



Hề hề hề.
@ phamxuanly gtvt: hãy gửi bản vẽ bị lỗi lên...




Kính chuyển bác phamthanhbinh lisp của bác khi chọn lý trình gốc là 0 thì tại 1000m ghi là Km1+000, 2000m ghi là Km2+000, 3000m ghi là Km3+000 thì ok, nhưng đến 4000m nó lại ghi là Km3+1000 bác xem lại nhé
  • 0