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

Tính Khoảng Cách Đoạn Thẳng Giới Hạn Bởi 2 Điểm Bất Kỳ Trên Đường Thẳng

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

Nhờ các bác viết hộ e 1 lisp như với nội dung như sau: 1 có 1 đường polyline d, trên d có 2 điểm A, B. làm sao để tính nhanh chiều dài đoạn thẳng AB (AB không phải là đoạn thẳng), rồi ghi kết quả ra 1 text có sẵn.

( em thử miêu tả như sau: chọn đường thẳng d, chọn điểm A, chọn điểm B, ghi kết quả AB ra text có sẵn.)

em xin chân thành cảm ơn !http://www.cadviet.com/upfiles/5/83858_dthang.dwg

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

Sau hơn 4 năm làm thành viên nhưng không học được gì, mục đích là Xin, xin nữa, xin mãi đến lần xin này thì càng tệ hơn

- Chủ đề & nội dung mâu thuẫn nhau, bản vẽ thì cũng chẵng có text nào

- Không lo tìm mà chỉ lo xin.

- Tệ nhất là lần này lại xin cái mà bạn đã từng xin cách đây chưa đến 1 năm, với yêu cầu cũng lủng củng như hồi đó

  • 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ỉ cần pick 2 điểm trên cùng 1 Pline:

(defun c:tpl (/ ent ep2 len pt1 pt2 txt vars vals)
(vl-load-com)
(setq vars '("DYNMODE" "DYNPROMPT" "OSMODE")
vals (mapcar 'getvar vars))
(mapcar 'setvar vars '(1 1 623))
(if (and (setq pt1 (getpoint "\nDiem thu nhat nam tren Polyline: "))
(setq ent (car (nentselp pt1)))
(wcmatch (cdr (assoc 0 (entget ent))) "*POLYLINE")
(setq pt2 (getpoint "\nDiem thu 2 nam tren Polyline: "))
(setq ep2 (car (nentselp pt2)))
(eq (cdr (assoc 5 (entget ent)))
(cdr (assoc 5 (entget (car (nentselp pt2)))))))
(progn (setq pt1 (vlax-curve-getclosestpointto ent pt1)
pt2 (vlax-curve-getclosestpointto ent pt2)
len (abs
(- (vlax-curve-getdistatpoint ent pt2) (vlax-curve-getdistatpoint ent pt1)))
len (rtos len 2 (getvar 'LUPREC)))
(princ (strcat "\nLength: " len "."))
(if (and (setq txt (car (entsel "\nChon Text, Mtext de gan gia tri: ")))
(wcmatch (cdr (assoc 0 (entget txt))) "*TEXT"))
(vla-put-textstring (vlax-ename->vla-object txt) len)))
(cond ((or (null pt1) (null ent)) (princ))
((not (wcmatch (cdr (assoc 0 (entget ent))) "*POLYLINE"))
(princ "\nDiem da pick khong nam tren Pline! "))
((or (null pt2)
(null ep2)
(not (eq (cdr (assoc 5 (entget ent))) (cdr (assoc 5 (entget ep2))))))
(alert "\nXem lai diem thu 2...! "))
(t)))
(mapcar 'setvar vars vals)
(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

Giảm bớt 1 lần pick, xem qua tưởng là hay, nhưng thật sự là bất cập vì nentsel chưa chắc đã chọn đúng đường pline cần thiết

Còn đây là link yêu cầu của chủ thớt năm ngoái http://www.cadviet.com/forum/topic/61450-nho-chinh-sua-do-khoang-cach-hai-diem-va-ghi-ket-qua-ra-noi-minh-chon/page-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

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  

×