Chuyển đến nội dung
Diễn đàn CADViet
Ngô Tuấn bn

Nội suy nhiều arc con bị tách lẻ gộp lại.

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

e là thành viên mới, mong các tiền bối chỉ giáo!

e làm cad CNC, gặp phải trường hợp bản vẽ bo góc cắt bởi nhiều đường arc nhỏ.

cho e hỏi có cách nào để vẽ gộp chúng, ko phải vẽ lại thủ công mà độ chính xác tương đương 1 chút ko ạ!

e cảm ơn toàn thể ạ!

arc.png

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

anh ơi, ý e là có autolisp nào có thể làm đc việc đấy ko ạ, nó tự nội suy ra cắt ra các đường arc lớn hơn số lượng ít nhất có thể mà vẫn tương đối chính xác, lệch với đg cũ max 0.08mm ạ.

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

e thấy cái Cad map 2014 có làm đc. nhưng ko biết cad 2017 có thể làm đc ko. nhờ các tiền bối chỉ giáo. vì hôm trc e có làm thử trên cad map 2014 rồi. kq khá ok. tự nội suy vẽ lại đc.

42cab2830f2df573ac3c.jpg

  • 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
Vào lúc 4/6/2020 tại 19:13, Ngô Tuấn bn đã nói:

e là thành viên mới, mong các tiền bối chỉ giáo!

e làm cad CNC, gặp phải trường hợp bản vẽ bo góc cắt bởi nhiều đường arc nhỏ.

cho e hỏi có cách nào để vẽ gộp chúng, ko phải vẽ lại thủ công mà độ chính xác tương đương 1 chút ko ạ!

e cảm ơn toàn thể ạ!

arc.png

Bạn cho mình cụ thể bản vẽ có dường cong như vậy xem sao 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
2 giờ trước, gia_bach đã nói:

Gửi bác tham khảo.

example_2007.dwg

Cám ơn bạn gia_bach nhé. Tại thấy có vẻ thù vị tò mò xem sao thô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

Xin chào!

Ở trên thấy Bạn gia_bach đã cho xem 1ví dụ trong đó đã đưa ra kết quả quá tốt.

 

Mình cũng muốn đưa ra 1 giải thuật như sau: 

- Duyệt qua các đỉnh của đường Poly và đưa ra 1 tập hợp gồm tâm các cung tròn đi qua 3 đỉnh liên tiếp nhau.

- Tính khoảng cách KC giữa các tâm dường tròn trong tậm nói trên.

- Gom các điểm có KC < 0.08 (khoảng cách yêu cầu) và lấy đại diện tập con này là điểm đầu, điểm giữa, điểm cuối

- Các điểm có KC > 0.08 thì vẫn lấy vào tệp chọn bình thường

- Trên cơ sở tệp chọn vẽ lại POLY chỗ nào có ghi dấu đường tròn trong tập chọn thì chuyển qua kiểu "Arc" trong vẽ cung 3 điểm của lệnh Pline.

 

Cũng có 1 thuật toán khác đơn giàn hơn tạm gọi là Cứng hoá Poly:

(cái này là giảm đỉnh Poly chứ không vẽ cung tròn. )

- Duyệt qua các đỉnh của đường Poly và xem nếu Tam giác của 3 đỉnh tiếp nháu nhỏ hơn dkSS thì bỏ đi.

- Từ đó ta được tập chọn có số đỉnh ít hơn.

- Vẽ lại tệp đỉnh được chọn.

 

Tuy nhiên vẫn nhắc lại rằng 2 giải thuật này là tạm được và thuật toán của Bạn gia_bach mình vẫn thấy tốt hơn.

 

(Defun cCungPoly2a(dkSS / i e1 ds1 dsok in d1 nd)
; dkSS nhor thif Poly cafng trown

  (Defun cVedspolya(Layerve dspoly / pt)
    (setvar "Clayer" Layerve) (setvar "osmode" 0)
    (command "Pline") (Foreach pt dsPoly (command (list (car pt)(cadr pt)))) (command "c")
  )

 

  (Defun SDientich0(dsdinh0 / i xi yi0 yi2)
    (setq ndinh0 (length dsdinh0) dsdt (append dsdinh0 (list (nth 0 dsdinh0) (nth 1 dsdinh0))) i 1 dientich 0.0)
    (Repeat ndinh0
       (setq xi (car (nth i dsdt)) yi2 (cadr (nth (1+ i) dsdt)) yi0 (cadr (nth (1- i) dsdt))
            i (1+ i) dientich (+ dientich (/ (* xi (- yi2 yi0)) 2.0))
       )
    )
    (setq dientich (abs dientich))
  )

 

  (setq e1 (car (entsel)) ds1 (acet-geom-vertex-list e1) nd (length ds1) dsOK (list (car ds1) (cadr ds1)) in 2 i 2)
  (Repeat (- nd 2)
    (setq d1 (nth i ds1) i (1+ i) oo (Sdientich0 (list (nth (- in 2) dsOK) (nth (- in 1) dsOK) d1)))
    (If (> oo dkSS)(setq dsOK (append dsOK (list d1)) in (1+ in)))
  )
  (princ (strcat "\nDa rut tu: " (itoa (length ds1)) " xuong: " (itoa (length dsok)) " dinh"))
  (command "Undo" "be") (cVedspolya "0" dsok) (command "Undo" "e")  
)

 

(cCungPoly2a 0.01)

example_2007a.dwg

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

Toàn các cao thủ ạ. Mong được chỉ giáo!

e gửi lên đây bản vẽ tham khảo. phần màu đỏ là phần e muốn sửa ạ. 

bài toán là sẽ phải gộp nó thành arc lớn hơn, và tất nhiên là ko phải làm thủ công ạ.

banve tham khao.dxf

hhoi.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

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

×