Chuyển đến nội dung
Diễn đàn CADViet
thuyen mai

Lisp Chamfer nhiều cạnh theo chiều dài

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

Em chào các bác ạ!

Em đang cần tìm một lisp chia góc thành nhiều đoạn theo chiều dài cho trước (theo hình như bên dưới).

Các bác có thể giúp em viết lisp để xử lý bài toán này không ạ?

Em không biết gì về Lisp cả nên phải đi nhờ em cũng ngại lắm.

Rất mong được các bác giúp đỡ. Em cảm ơn nhiều ạ!

 

image.png.34e2203de5e0af278b513acb623de357.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

Ở đây e muốn chia làm 3 đoạn và có chiều dài 3.4

B1 E vẽ đường dóng vuông góc với tim đường đường cong. Sau đó e vẽ đường tròn bán kính 3.4 (màu vàng) và vẽ đường dóng ở 2 bên mép

B2 E move đường tròn để tìm điểm giao với đường cong (màu trắng)

B3 Tại vị trí 2 điểm giao, em vẽ 3 đường tròn có bán kính 3.4m (màu xanh da trời)

B4 E nối 4 vị trí lại để được 3 cạnh dài 3.4m ạ

image.png.77e2f045485ca98f69616b7b0233eeb9.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

Cái cung tròn có. Sẵn hay sao. Nếu cung tròn ko cố định thì bài toán này vô số nghiệm.

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

Theo mình hợp lý nhất là 3 đường thẳng mới và 2 đường thẳng cũ hợp với nhau tạo thành các góc bằng nhau. Tìm mối liên hệ giữa góc tạo bởi 2 đường thẳng cũ và góc mới. Áp dụng các kiến thức về toán hình học hoặc lượng giác để tìm ra các thông số sau đó dựng hình. Mình lảm nhảm vậy thôi chứ trình mình làm là hông nổi.

439733712_2300091340196025_5700285312567

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

@thuyen mai 

Phương pháp vẽ của bạn có vấn đề. Điểm A và B phải trùng nhau mới là chính xác nhất. suy ra R1 phải bằng 1 số khác, không cố định cần phải tính toán thêm.

 

image.thumb.png.928c98bb3a52119d8948f15d82839fc8.png

 

13 giờ trước, duy782006 đã nói:

Theo mình hợp lý nhất là 3 đường thẳng mới và 2 đường thẳng cũ hợp với nhau tạo thành các góc bằng nhau. Tìm mối liên hệ giữa góc tạo bởi 2 đường thẳng cũ và góc mới. Áp dụng các kiến thức về toán hình học hoặc lượng giác để tìm ra các thông số sau đó dựng hình. Mình lảm nhảm vậy thôi chứ trình mình làm là hông nổi.



không biết cách vẽ của bác hay cách vẽ của em mới là đúng

 

image.png

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

không biết cách vẽ của bác hay cách vẽ của em mới là đúng

Mình chỉ đoán và đưa ra hướng mình cho là hợp lý thôi chứ cái đề này thì đã chưa đúng sao có đáp án đúng được. :-)

 

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

Mình chỉ đoán và đưa ra hướng mình cho là hợp lý thôi chứ cái đề này thì đã chưa đúng sao có đáp án đúng được. :-)

 

Chính xác là đề tầm bậy, vẫn có người giải "đúng".

  • 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

Mục tiêu của thớt là chuyển đường cong trên polyline thành các đoạn cho trước 3.4 đơn vị, thiếu thì lấy line 2 bên bù vào. Cái này không khó về mặt thuật toán. Nhác viết vì nó nhiều công đoạn:

1. Chia polyline thành 2 polyline theo trung điểm M của arc segment. Thay đổi pline StartPoint theo điểm M. 

2. Tính độ dài arc segment (La) . Độ dài (L) của cung khi dây cung  = 3.4. Số cung lấy được n=  fix((La - 0.5L) / L) 

3. Điểm cuối trên đoạn cong length= (n + 0.5) * L, trên line length= (n + 1.5) * L.

4. Làm tiếp cho nửa pline còn lại.  

5. Nối 2 pline với nhau. Xoá điểm tại M.

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

Mục tiêu của thớt là chuyển đường cong trên polyline thành các đoạn cho trước 3.4 đơn vị, thiếu thì lấy line 2 bên bù vào. Cái này không khó về mặt thuật toán. Nhác viết vì nó nhiều công đoạn:

Cũng không dễ đâu bác. Dư thì bù còn thiếu thì sao !!?? :-D

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

Mục tiêu của thớt là chuyển đường cong trên polyline thành các đoạn cho trước 3.4 đơn vị, thiếu thì lấy line 2 bên bù vào. Cái này không khó về mặt thuật toán. Nhác viết vì nó nhiều công đoạn:

1. Chia polyline thành 2 polyline theo trung điểm M của arc segment. Thay đổi pline StartPoint theo điểm M. 

2. Tính độ dài arc segment (La) . Độ dài (L) của cung khi dây cung  = 3.4. Số cung lấy được n=  fix((La - 0.5L) / L) 

3. Điểm cuối trên đoạn cong length= (n + 0.5) * L, trên line length= (n + 1.5) * L.

4. Làm tiếp cho nửa pline còn lại.  

5. Nối 2 pline với nhau. Xoá điểm tại M.

Dạ vâng đúng là bài của e là nếu thiếu thì lấy line 2 bên bù vào ạ

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

Dạ vâng đúng là bài của e là nếu thiếu thì lấy line 2 bên bù vào ạ

Mình théc méc bên trên! Nhắc lại là mình chỉ tham gia chém gió chứ ko đủ trình giải 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
4 phút trước, duy782006 đã nói:

Mình théc méc bên trên! Nhắc lại là mình chỉ tham gia chém gió chứ ko đủ trình giải nhé!

 

Dạ cái chiều dài 3.4 kia của e không cố định bác ạ. Nên thiếu thì sẽ tăng chiều dài lên bác ạ

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ừa xong, thuyen mai đã nói:

Dạ vâng đúng là bài của e là nếu thiếu thì lấy line 2 bên bù vào ạ

Bạn vẽ thật ba phải. 

Bài này nếu vẽ theo cách anh @duy782006

Thì lý thuyết phải là G2 = 135+g1/4 ; G3 = G2/2

R =  1.7/cos(g3)

H = 1.7*tan(g3)

bắt đầu vẽ offset 2 đường line 1 khoảng  = H

xác định được tâm O là giao của 2 đường

vẽ đường ARC với tâm O , bán kinh R.

DIV đường cong  là xong.

từ đây có cơ sở viết lisp

image.png.d4f91d689da1b56f34fff932db84e3b7.png

 

 

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

Dạ cái chiều dài 3.4 kia của e không cố định bác ạ. Nên thiếu thì sẽ tăng chiều dài lên bác ạ

Mô phật dậy bạn xài quách cái lisp của bác limfx đi, hông cần biết dài bao nhiêu cứ cung tròn thì chia thành 3 line bằng nhau.

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

Bạn vẽ thật ba phải. 

Bài này nếu vẽ theo cách anh @duy782006

Thì lý thuyết phải là G2 = 135+g1/4 ; G3 = G2/2

R =  1.7/cos(g3)

H = 1.7*tan(g3)

bắt đầu vẽ offset 2 đường line 1 khoảng  = H

xác định được tâm O là giao của 2 đường

vẽ đường ARC với tâm O , bán kinh R.

DIV đường cong  là xong.

từ đây có cơ sở viết lisp

 

 

 

Lâu nay mình cứ thắc mắc học toán hình học và lượng giác thì ứng dụng được cái giống gì trong công việc. Có bé kia bảo với mình thì ít ra lập trình cần giỏi toán, nay thấy đúng là cần thiệt. Mấy kiến thức này của mình heo ủi hết trọi.

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

Dạ cái chiều dài 3.4 kia của e không cố định bác ạ. Nên thiếu thì sẽ tăng chiều dài lên bác ạ

Tốn nơron thần kinh với bạn quá. dùng lệnh DIV của cad cho nhanh.

 

9 phút trước, duy782006 đã nói:

Lâu nay mình cứ thắc mắc học toán hình học và lượng giác thì ứng dụng được cái giống gì trong công việc. Có bé kia bảo với mình thì ít ra lập trình cần giỏi toán, nay thấy đúng là cần thiệt. Mấy kiến thức này của mình heo ủi hết trọi.

cái này nó chỉ đơn giản SIN đi học, COS không hư thôi mà bác. chứ mấy cái tính toán biến đổi lượng giác em cũng chịu.

  • 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

 

Theo em hiểu bác Thuyên có 1 đường pl màu trắng muốn chia làm 3 đoạn và có chiều dài 3.4

B1 E vẽ đường tròn A đường kính D=3.4 tại trung điểm đường đường cong B ủa đường pl màu trắng.  (màu vàng)

B2 Vẽ polyline C tại 2 điểm giao cắt của đường A và đường cong B.  (màu vàng)

B3 E move tâm đường tròn A về trung điểm của polyline C. (màu cyan)

B4 Vẽ 2 đường tròn D bán kính R=3.4 tại giao điểm của đường tròn A và đường cong B.  (màu tim)

B5 Tại vị trí 4 điểm giao của 2 đường tròn D với đường cong B, em sẽ vẽ 3 polyline có chiều dài đúng bằng 3.4m (màu đỏ)

image.thumb.png.6fedd89dc8eb0a4a75013faac51d0d5b.pngimage.thumb.png.d19ed4959b34c730456e9f122f101699.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

Mình xây tường rào có khẩu độ mong muốn 3.4m trên ranh giới vuông góc được fillet bởi R6.0. Đoạn rào giữa có trung điểm nằm trên góc phân giác ranh giới.  Bạn nào giúp mình lệnh bấm phát ra MB các đoạn rào nhé. Thanks. (Nếu các bạn không luận được mình sẽ vẽ hình minh hoạ)

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

Mình xây tường rào có khẩu độ mong muốn 3.4m trên ranh giới vuông góc được fillet bởi R6.0. Đoạn rào giữa có trung điểm nằm trên góc phân giác ranh giới.  Bạn nào giúp mình lệnh bấm phát ra MB các đoạn rào nhé. Thanks. (Nếu các bạn không luận được mình sẽ vẽ hình minh hoạ)

Thuật toán thì em đã giải phía trên rồi. viết lisp theo đó không hề khó mà

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

Thuật toán thì em đã giải phía trên rồi. viết lisp theo đó không hề khó mà

-Thuật toán của bạn là theo hướng đoán mò của mình xét trên 2 đường thẳng và canh cạnh góc. 

-Bác cuongtk2 đưa ra bài toán thực tế thì phải phụ thuộc vào cung tròn. Và nếu đúng vậy thì ranh mới ko được lấn ra khỏi cung tròn nên thiếu thì lấy line bù vào mà dư thì chỉ được kéo dài thêm tới đỉnh line 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

Đề này thì em lại cứ tưởng:

- chỉ có hai đường tạo với nhau một góc nhọn. 

- vẽ n vòng tròn nội tiếp tuyến với hai đường đấy.

- ứng với mỗi vòng tròn sẽ vẽ 3 dây cung. 

- chọn 3 dây cung bằng 3,4m là vòng tròn duy nhất. Phải có sai số vì không bằng chính xác được.

- trim cung thừa.

 

Nếu cung tròn cho trước thì làm sao ra chính xác được 3,4m chứ?

Chỉnh sửa theo amateurday
Sửa câu chữ
  • Vote tăng 1
  • 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

×