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

Vẽ cung tròn bo góc đường giao

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

Mình làm bình đồ tuyến giao thông, khi vuốt các đường giao thường tao cung tròn bo góc. Các bước mình có miêu tả trong file ví dụ gửi kèm như sau:

Bước 1: tạo đường tròn với lựa chọn "TTR" tiếp xúc với 2 đường Pline L1, L2 (2 đường này có thể gãy khúc) với bán kính phù hợp (bán kính phù hợp còn phụ thuộc điếm tiếp xúc). Nên có thể phải vẽ nhiều lần đường tròn để phù hợp với thực tế mặt bằng tuyến.

Bước 2: Dùng lệnh "trim" để cắt tạo cung tròn. Nhưng do không phải lúc nào cũng cắt được (chắc do đường L1, L2 hoặc do điểm tiếp xúc nhưng chưa chạm L1 L2) nên mình phải thêm bước phụ để cắt (có miêu tả trong file VD).

Giờ mình muốn viết 1 lisp với các bước thực hiện như sau:

- Bước 1: Lệnh lisp "Bogoc" lựa chọn đường L1, L2, (khi chọn L1, L2 thì vị trí chọn là vị trí tiếp xúc với đường tròn) nhập bán kính để tạo đường tròn.

- Bước 2: Nếu phù hợp thì "enter" tạo cung tròn, chưa ưng ý thì quay lại bước 1.

Xin cảm ơn trước các bác xem giúp đỡ.

Vi du.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
43 phút trước, VoHoan đã nói:

Mình làm bình đồ tuyến giao thông, khi vuốt các đường giao thường tao cung tròn bo góc. Các bước mình có miêu tả trong file ví dụ gửi kèm như sau:

Bước 1: tạo đường tròn với lựa chọn "TTR" tiếp xúc với 2 đường Pline L1, L2 (2 đường này có thể gãy khúc) với bán kính phù hợp (bán kính phù hợp còn phụ thuộc điếm tiếp xúc). Nên có thể phải vẽ nhiều lần đường tròn để phù hợp với thực tế mặt bằng tuyến.

Bước 2: Dùng lệnh "trim" để cắt tạo cung tròn. Nhưng do không phải lúc nào cũng cắt được (chắc do đường L1, L2 hoặc do điểm tiếp xúc nhưng chưa chạm L1 L2) nên mình phải thêm bước phụ để cắt (có miêu tả trong file VD).

Giờ mình muốn viết 1 lisp với các bước thực hiện như sau:

- Bước 1: Lệnh lisp "Bogoc" lựa chọn đường L1, L2, (khi chọn L1, L2 thì vị trí chọn là vị trí tiếp xúc với đường tròn) nhập bán kính để tạo đường tròn.

- Bước 2: Nếu phù hợp thì "enter" tạo cung tròn, chưa ưng ý thì quay lại bước 1.

Xin cảm ơn trước các bác xem giúp đỡ.

Vi du.dwg

Bạn xem cái này phù hợp không nhé

https://www.youtube.com/watch?v=4rBz4QPay7A

  • 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

Cái trên chắc không phù hợp vì cách thức thực hiện của mình nó đòi hỏi thực tế với mặt bằng tuyến, mà không có lisp nên không kt có chạy được không.

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
1 giờ trước, VoHoan đã nói:

Cái trên chắc không phù hợp vì cách thức thực hiện của mình nó đòi hỏi thực tế với mặt bằng tuyến, mà không có lisp nên không kt có chạy được không.

không biết như này có đúng với yêu cầu của bạn không nữa, không phân biệt đối tượng thuộc layer nào cả, chỉ cần nó là line hoặc Polyline nhé

https://www.facebook.com/watch?v=502227591495777

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

Cái này dùng lisp còn khó hơn vẽ tay. Chỉ cần offset 2 pline theo bk sẽ xác định tâm vt, vẽ vt, trim ( chắc chắn là tiếp xúc), xong.

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

Cái này dùng lisp còn khó hơn vẽ tay. Chỉ cần offset 2 pline theo bk sẽ xác định tâm vt, vẽ vt, trim ( chắc chắn là tiếp xúc), xong.

Bạn đã xem clip này chưa??

https://www.facebook.com/watch?v=502227591495777

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

Lisp này chắc giải quyết đúng ý đồ của mình, bạn có thể cho test thử được không vậy. Vì các đường Pline của mình có thể gãy khúc nên vị trí tiếp xúc và bán kính có nhiều lựa chọn.

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

Cái này dùng lisp còn khó hơn vẽ tay. Chỉ cần offset 2 pline theo bk sẽ xác định tâm vt, vẽ vt, trim ( chắc chắn là tiếp xúc), xong.

Vấn đề của mình về thuật toán thì không khó, chỉ là tìm 2 điếm tiếp xúc và vẽ cung tròn với lựa chọn 2 điểm và bán kính. Cái khó là code viết sao cho nhanh và khoa học thôi, cái này thì chắc phải cần các bác pro ra tay.

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
3 giờ trước, VoHoan đã nói:

Mình làm bình đồ tuyến giao thông, khi vuốt các đường giao thường tao cung tròn bo góc. Các bước mình có miêu tả trong file ví dụ gửi kèm như sau:

Bước 1: tạo đường tròn với lựa chọn "TTR" tiếp xúc với 2 đường Pline L1, L2 (2 đường này có thể gãy khúc) với bán kính phù hợp (bán kính phù hợp còn phụ thuộc điếm tiếp xúc). Nên có thể phải vẽ nhiều lần đường tròn để phù hợp với thực tế mặt bằng tuyến.

Bước 2: Dùng lệnh "trim" để cắt tạo cung tròn. Nhưng do không phải lúc nào cũng cắt được (chắc do đường L1, L2 hoặc do điểm tiếp xúc nhưng chưa chạm L1 L2) nên mình phải thêm bước phụ để cắt (có miêu tả trong file VD).

Giờ mình muốn viết 1 lisp với các bước thực hiện như sau:

- Bước 1: Lệnh lisp "Bogoc" lựa chọn đường L1, L2, (khi chọn L1, L2 thì vị trí chọn là vị trí tiếp xúc với đường tròn) nhập bán kính để tạo đường tròn.

- Bước 2: Nếu phù hợp thì "enter" tạo cung tròn, chưa ưng ý thì quay lại bước 1.

Xin cảm ơn trước các bác xem giúp đỡ.

Vi du.dwg

 

Oke chứ nhỉ

 

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

Lisp này chắc giải quyết đúng ý đồ của mình, bạn có thể cho test thử được không vậy. Vì các đường Pline của mình có thể gãy khúc nên vị trí tiếp xúc và bán kính có nhiều lựa chọn.

Add zalo nhé 0848.998.045

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, Doan Nguyen Van đã nói:

 

Oke chứ nhỉ

 

Gần đúng bạn à. Nhưng các cung tròn trong clip chưa phải tiếp xúc với đường L1, L2 mà chỉ là các cung tròn cắt qua 2 điểm mình chọn (cái này sai ý mình là dạng tiếp tuyến).

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, VoHoan đã nói:

Gần đúng bạn à. Nhưng các cung tròn trong clip chưa phải tiếp xúc với đường L1, L2 mà chỉ là các cung tròn cắt qua 2 điểm mình chọn (cái này sai ý mình là dạng tiếp tuyến).

Ý bạn là thế này?

 

  • Like 1
  • 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

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  

×