Đến nội dung


Hình ảnh
- - - - -

lisp lấy ra toạ độ 3 điểm khi chọn 1 đường thẳng!!


  • Please log in to reply
2 replies to this topic

#1 xaydung

xaydung

    biết lệnh trim

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

Đã gửi 23 December 2007 - 08:52 PM

em đang cần 1 lisp có nội dung như sau:
trên màn hình là 1 line (hoặc pline), chạy lisp hỏi chọn đường thẳng và nhập điểm chèn kết quả, chương trình sẽ tự động tính toán ra 3 điểm: 2 điểm là điểm đầu và cuối của đường thẳng , điểm thứ 3 là điểm có cao độ z=1/2 khoảng cách 2 điểm kia và đi qua trung điểm của đường thẳng. (nếu nối các điểm này với nhau sẽ tạo thành 1 tam giác vuông cân). Mong các anh giúp em!!
  • 0

#2 duy782006

duy782006

    PHẠM QUỐC DUY

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 2155 Bài viết
Điểm đánh giá: 1360 (rất tốt)

Đã gửi 25 December 2007 - 10:04 AM

em đang cần 1 lisp có nội dung như sau:
trên màn hình là 1 line (hoặc pline), chạy lisp hỏi chọn đường thẳng và nhập điểm chèn kết quả, chương trình sẽ tự động tính toán ra 3 điểm: 2 điểm là điểm đầu và cuối của đường thẳng , điểm thứ 3 là điểm có cao độ z=1/2 khoảng cách 2 điểm kia và đi qua trung điểm của đường thẳng. (nếu nối các điểm này với nhau sẽ tạo thành 1 tam giác vuông cân). Mong các anh giúp em!!



(Defun C:dddc ( )

(setq DT (entsel "\nChon LINE mau"))
(while
(or
(null DT)
(/= "LINE" (cdr (assoc 0 (entget (car DT)))))
)
(princ "\nDoi tuong khong phai la LINE! Chon lai")
(setq DT (entsel "\nChon LINE mau"))
)
(setq DT (car DT))
(setq DT (entget DT))
(setq DD (cdr (assoc 10 DT)))
(setq DC (cdr (assoc 11 DT)))
(setq gocdc(angle DD DC))
(setq daidc (distance DD DC))

(princ)
)


Trên đây là đoạn giúp bạn chọn 1 line và cho ra kết quả:
DD : điễm đầu line
DC : điểm cuối đường line
gocdc : góc giữa hai điểm đầu và điểm cuối
daidc : khoảng cách giữa hai điểm đầu và điểm cuối
Từ dử liệu này các cái khác tin rằng bạn tự làm được !!!!!!!!!!!
  • 0

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#3 xaydung

xaydung

    biết lệnh trim

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

Đã gửi 25 December 2007 - 01:51 PM

(Defun C:dddc ( )

(setq DT (entsel "\nChon LINE mau"))
(while
(or
(null DT)
(/= "LINE" (cdr (assoc 0 (entget (car DT)))))
)
(princ "\nDoi tuong khong phai la LINE! Chon lai")
(setq DT (entsel "\nChon LINE mau"))
)
(setq DT (car DT))
(setq DT (entget DT))
(setq DD (cdr (assoc 10 DT)))
(setq DC (cdr (assoc 11 DT)))
(setq gocdc(angle DD DC))
(setq daidc (distance DD DC))

(princ)
)


Trên đây là đoạn giúp bạn chọn 1 line và cho ra kết quả:
DD : điễm đầu line
DC : điểm cuối đường line
gocdc : góc giữa hai điểm đầu và điểm cuối
daidc : khoảng cách giữa hai điểm đầu và điểm cuối
Từ dử liệu này các cái khác tin rằng bạn tự làm được !!!!!!!!!!!

Hô hô, tốt quá, thanks bác Duy , còn laị em tự xử lý được!
  • 0