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

Xác định khoảng cách trung bình của 2 đoạn thẳng

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

Em chào các bác. 
Em đang cần xác định khoảng cách trung bình của 2 đoạn thẳng rồi ghi ra text trực tiếp trong cad, không biết có lệnh hay lisp nào hỗ trợ không ạ?

  • 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

Em muốn tìm khoảng cách trung bình của 2 đường thẳng được ghép từ các line, arc,... kiểu n như 2 đường ở dưới ạ

image.png

  • 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
5 phút trước, limfx đã nói:

Đường thẳng mà nó không thẳng nê, bài này căng nè

 

ý tưởng của em là lấy 2 đường kia làm biên, rồi mình trải các line vuông góc với 2 đường đó theo khoảng cách do người dùng tự nhập (để quyết định độ chính xác của kết quả) rồi tính trung bình chiều dài của các line đã trải ra đấy ạ.

  • 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
12 phút trước, Duyhai99 đã nói:

ý tưởng của em là lấy 2 đường kia làm biên, rồi mình trải các line vuông góc với 2 đường đó theo khoảng cách do người dùng tự nhập (để quyết định độ chính xác của kết quả) rồi tính trung bình chiều dài của các line đã trải ra đấy ạ.

Vậy mục đích của bạn làm vậy để làm gì

 

  • Like 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
2 phút trước, limfx đã nói:

Vậy mục đích của bạn làm vậy để làm gì

 

Làm vậy để lấy được trung bình chiều dài của các đoạn thẳng vuông góc với 2 đường biên kia bác

 

  • 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

Đây bạn

(defun c:test ( / ENT1 ENT2 LS1 LS2 N OBJ1 OBJ2 TONG)
(setq ent1 (car (entsel "\nPline1:"))
      ent2 (car (entsel "\nPline2:"))
      obj1 (vlax-ename->vla-object ent1)
      obj2 (vlax-ename->vla-object ent2)
      ls1 (ACET-GEOM-PLINE-POINT-LIST ent1 t)
      ls2 (ACET-GEOM-PLINE-POINT-LIST ent2 t)
      n (+ (length ls1) (length ls2))
      )
(setq tong 0.0)
(foreach pt ls1
  (setq tong (+ (distance pt (vlax-curve-getclosestpointto obj2 pt nil)) tong))
  )
(foreach pt ls2
  (setq tong (+ (distance pt (vlax-curve-getclosestpointto obj1 pt nil)) tong))
  )
(setq tong (/ tong n))
  
(alert (strcat "Khoang cach trung binh: " (rtos tong 2 2)))
  (TERPRI)
  tong
  )

 

  • Like 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
16 phút trước, cuongtk2 đã nói:

Đây bạn


(defun c:test ( / ENT1 ENT2 LS1 LS2 N OBJ1 OBJ2 TONG)
(setq ent1 (car (entsel "\nPline1:"))
      ent2 (car (entsel "\nPline2:"))
      obj1 (vlax-ename->vla-object ent1)
      obj2 (vlax-ename->vla-object ent2)
      ls1 (ACET-GEOM-PLINE-POINT-LIST ent1 t)
      ls2 (ACET-GEOM-PLINE-POINT-LIST ent2 t)
      n (+ (length ls1) (length ls2))
      )
(setq tong 0.0)
(foreach pt ls1
  (setq tong (+ (distance pt (vlax-curve-getclosestpointto obj2 pt nil)) tong))
  )
(foreach pt ls2
  (setq tong (+ (distance pt (vlax-curve-getclosestpointto obj1 pt nil)) tong))
  )
(setq tong (/ tong n))
  
(alert (strcat "Khoang cach trung binh: " (rtos tong 2 2)))
  (TERPRI)
  tong
  )

 

Em cảm ơn nhé, để em thử xem

 

  • 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

Nối hai đầu cho kín, lấy diện tích, xong chia cho chiều dài trung bình 2 pline là ra khoảng cách trung bì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
16 phút trước, sam8xd đã nói:

Nối hai đầu cho kín, lấy diện tích, xong chia cho chiều dài trung bình 2 pline là ra khoảng cách trung bình

Trường hợp 2 đường so le nhau thì đâu có đúng nữa a!

  • Like 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ài này chỉ giải một cách tương đối thôi, đủ để đáp ứng nhu cầu của chủ status. Chẳng định nghĩa nào về khoảng cách trung bình của 2 curve. Chẳng lẽ chia 2 curve ra N đoạn rồi nối lần lượt để tí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
29 phút trước, cuongtk2 đã nói:

Bài này chỉ giải một cách tương đối thôi, đủ để đáp ứng nhu cầu của chủ status. Chẳng định nghĩa nào về khoảng cách trung bình của 2 curve. Chẳng lẽ chia 2 curve ra N đoạn rồi nối lần lượt để tính. 

Bài này đúng là chỉ giải tương đối thôi chứ 2 đường mà giao cắt nhau... thì tính kiểu gì cũng sai.

đề xuất 1 cách tính khác đơn giản hơn chút (cũng chỉ tính tương đối).

Tính điểm trung bình của pline 1 và pline 2. rồi đo khoảng cách là xong. :))

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  

×