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

Xin giúp đỡ Lisp vẽ mặt cắt ngang!

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

Mình có một bản vẽ mặt cắt ngang nhưng cứ phải vẽ đi vẽ lại rất tốn thời gian! Nay mình mong mọi người trong Cadviet giúp đỡ!

Bài toán của mình có thể được phát biểu:

Có một mặt cắt ngang (ở dạng tổng quát)-Xin xem file đính kèm. Để vẽ được mặt cắt ta phải nhập vào các thông số:

- D:Chiều rộng của đường.

- a, b:Chiều cao của bờ kênh (bờ ruộng lúa....) lên tới mặt đường.

- D1, D2: Chiều rộng từ tâm đường đến cột điện ở hai bên đường.

Vậy, mình muốn các Pro và các bạn trong diễn đàn giúp đỡ mình viết một cái Lisp vẽ ra cái mặt cắt trong 3 trường hợp:

Trường hợp nào cũng phải nhập D, và các TITLE từ bàn phím.

-Nếu nhập vào a, b khác nhau và khác 0 sẽ có bản vẽ số 1 (Trường hợp 1).

-Nếu nhập vào a, b khác nhau và a=0 (Độ cao bằng mặt đường) sẽ có bản vẽ số 2 (Trường hợp 2).

-Nếu nhập vào a, b = 0 thì ta sẽ có bản vẽ số 3 (Trường hợp 3).

Mình chỉ biết phát biểu bài toán tổng quát là như vậy!

Mong nhận được sự trợ giúp của các bạn trong diễn đàn.

Cảm ơn!

File đính kèm:

http://www.mediafire.com/download.php?qoonxmejiom

  • 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
Mình có một bản vẽ mặt cắt ngang nhưng cứ phải vẽ đi vẽ lại rất tốn thời gian! Nay mình mong mọi người trong Cadviet giúp đỡ!

Bài toán của mình có thể được phát biểu:

Có một mặt cắt ngang (ở dạng tổng quát)-Xin xem file đính kèm. Để vẽ được mặt cắt ta phải nhập vào các thông số:

- D:Chiều rộng của đường.

- a, b:Chiều cao của bờ kênh (bờ ruộng lúa....) lên tới mặt đường.

- D1, D2: Chiều rộng từ tâm đường đến cột điện ở hai bên đường.

Vậy, mình muốn các Pro và các bạn trong diễn đàn giúp đỡ mình viết một cái Lisp vẽ ra cái mặt cắt trong 3 trường hợp:

Trường hợp nào cũng phải nhập D, và các TITLE từ bàn phím.

-Nếu nhập vào a, b khác nhau và khác 0 sẽ có bản vẽ số 1 (Trường hợp 1).

-Nếu nhập vào a, b khác nhau và a=0 (Độ cao bằng mặt đường) sẽ có bản vẽ số 2 (Trường hợp 2).

-Nếu nhập vào a, b = 0 thì ta sẽ có bản vẽ số 3 (Trường hợp 3).

Mình chỉ biết phát biểu bài toán tổng quát là như vậy!

Mong nhận được sự trợ giúp của các bạn trong diễn đàn.

Cảm ơn!

File đính kèm:

http://www.mediafire.com/download.php?qoonxmejiom

Không có ai giúp đỡ mình ưh! Mong bác Tue_NV, Nguyen Hoanh và các bạn trong diễn đàn CADVIET giúp đỡ!

Xin cảm ơ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
Không có ai giúp đỡ mình ưh! Mong bác Tue_NV, Nguyen Hoanh và các bạn trong diễn đàn CADVIET giúp đỡ!

Xin cảm ơn!

Không phải mọi người không nhiệt tình. Lập trình cho yêu cầu của bạn không khó (phải nói là rất cơ bản, rất dễ dàng) nhưng tốn nhiều thời gian. Ssg nói thật tình, đa số người lập trình ít hứng thú với dạng này vì mất công nhiều mà chẳng học hỏi, tích lũy được kiến thức, kinh nghiệm gì đáng kể. Có lẽ bạn tự làm, anh em hỗ trợ thêm thì hay hơn. Đừng ngại, học lập trình Lisp không khó lắm đâu. Cứ cho là bạn chưa biết gì về Lisp, chỉ cần khoảng vài ngày đến 1 tuần (chịu khó tập trung một chút) là bạn sẽ có đủ "vốn liếng" cần thiết để tự giải quyết yêu cầu trên cũng như nhiều yêu cầu khác tương tự. Tự làm được 1 cái, bạn sẽ thấy hứng thú ngay và chắc chắn sẽ làm thêm được nhiều cái "hoành tráng" hơn thế nhiều!

Về cơ bản, bài toán dạng của bạn có 3 bước:

1- Nhập số liệu

2- Tính toán tọa độ các điểm

3- Vẽ

Bạn có thể tham khảo topic này, như trò chơi ấy mà:

http://www.cadviet.com/forum/index.php?showtopic=2480

 

Chúc bạn thành cô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
Không có ai giúp đỡ mình ưh! Mong bác Tue_NV, Nguyen Hoanh và các bạn trong diễn đàn CADVIET giúp đỡ!

Xin cảm ơn!

Chào bạn minhphuong_hung,

Thực ra chẳng ai có thể viết được lisp cho cái yêu cầu của bạn cả vì cái bạn yêu cầu (bản vẽ mẫu) có khá nhiều thông số cần thiết để tạo ra nó mà các thông số bạn cung cấp chỉ có a, b, D, D1, D2 thì bó tay bạn ạ.

Bạn hãy xem lại bản vẽ mẫu của mình và bổ sung đầy đủ các thông số cần thiết đã nhé. Nếu không tin bạn hãy thử vẽ tay một cái mặt cắt với các thông số bạn cho xem nó ra cái gì nhé.

Chào bạn và chúc bạn sớm có đầy đủ các thông số cần thiết để tạo ra cái mặt cắt bạn cầ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
Chào bạn minhphuong_hung,

Thực ra chẳng ai có thể viết được lisp cho cái yêu cầu của bạn cả vì cái bạn yêu cầu (bản vẽ mẫu) có khá nhiều thông số cần thiết để tạo ra nó mà các thông số bạn cung cấp chỉ có a, b, D, D1, D2 thì bó tay bạn ạ.

Bạn hãy xem lại bản vẽ mẫu của mình và bổ sung đầy đủ các thông số cần thiết đã nhé. Nếu không tin bạn hãy thử vẽ tay một cái mặt cắt với các thông số bạn cho xem nó ra cái gì nhé.

Chào bạn và chúc bạn sớm có đầy đủ các thông số cần thiết để tạo ra cái mặt cắt bạn cần.

Thật tiếc, có lẽ phamthanhbinh chưa hiểu ý mình rồi!

Ý mình là với bản vẽ mẫu ấy, dựa vào lisp đó và các thông số trên thì sau khi nhập các thông số đó vào thì ta có thể gọi cái block đó ra. Nếu như xảy ra trùng với trường hợp nào (xin xem lại bài viết trước) thì sẽ gọi block của trường hợp đó ra. Và tiếp tục điền các thông số tương ứng vào, còn các TITLE (do mình nhập từ bàn phím, cũng là từ câu lệnh Lisp yêu cầu).

Mình giải thích vậy thì phamthanhbinh đã hiểu hơn chưa!

Hi vọng phamthanhbinh có thể giúp được mình bài toán này!

Qua đây mình cũng rất hi vọng nhận được sự giúp đỡ của các bạn: Tue_VN, Nguyen Hoanh, sgg, tuongtrang....và tất cả các bạn trên diễn đàn.

Xin cảm ơn, Chúc CADVIET sẽ ngày càng lớn mạnh hơ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
Thật tiếc, có lẽ phamthanhbinh chưa hiểu ý mình rồi!

Ý mình là với bản vẽ mẫu ấy, dựa vào lisp đó và các thông số trên thì sau khi nhập các thông số đó vào thì ta có thể gọi cái block đó ra. Nếu như xảy ra trùng với trường hợp nào (xin xem lại bài viết trước) thì sẽ gọi block của trường hợp đó ra. Và tiếp tục điền các thông số tương ứng vào, còn các TITLE (do mình nhập từ bàn phím, cũng là từ câu lệnh Lisp yêu cầu).

Mình giải thích vậy thì phamthanhbinh đã hiểu hơn chưa!

Hi vọng phamthanhbinh có thể giúp được mình bài toán này!

Qua đây mình cũng rất hi vọng nhận được sự giúp đỡ của các bạn: Tue_VN, Nguyen Hoanh, sgg, tuongtrang....và tất cả các bạn trên diễn đàn.

Xin cảm ơn, Chúc CADVIET sẽ ngày càng lớn mạnh hơn!

Mình giải thích vậy thì phamthanhbinh đã hiểu hơn chưa!

Bạn nói vậy làm cho Thiep động đậy quá! Nhiều người đang hiểu nữa là khác. Bản thân Thiep đã víêt nhiều lisp vẽ mặt cắt rồi. Nói như bác SSG rất đúng, nó cần đầu tư rất nhiều thời gian, bây giờ thời gian là $. Nói vậy không phải chỉ có $ thôi đâu, thiep đã gởi cho các bạn khác các lisp về thuật tóan còn khó hơn lisp mặt cắt nhiều, tuy nhiên đôi khi nó là cần câu cơm của riêng mình nên không share đượ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
Mình giải thích vậy thì phamthanhbinh đã hiểu hơn chưa!

Bạn nói vậy làm cho Thiep động đậy quá! Nhiều người đang hiểu nữa là khác. Bản thân Thiep đã víêt nhiều lisp vẽ mặt cắt rồi. Nói như bác SSG rất đúng, nó cần đầu tư rất nhiều thời gian, bây giờ thời gian là $. Nói vậy không phải chỉ có $ thôi đâu, thiep đã gởi cho các bạn khác các lisp về thuật tóan còn khó hơn lisp mặt cắt nhiều, tuy nhiên đôi khi nó là cần câu cơm của riêng mình nên không share được!

Cảm ơn thiep đã chia sẻ!

Bản thân mình nghĩ CADVIET là nơi chia sẻ, giao lưu giữa mọi người trong cùng ngành. Không nhẽ bạn ở miền nam mình ở miền bắc thì cần câu cơm của bạn sẽ bị "gãy" ưh? Môi trường phát triển của bạn cũng bị kém đi ưh? Thực ra, điều quan trọng không phải ở đó. Bạn có tài liệu, bạn chia sẻ, mọi người cũng rất vui vì đã giúp cho người khác đỡ vất vả hơn! Bạn có viết "tuy nhiên đôi khi nó là cần câu cơm của riêng mình nên không share được! ". Vậy chẳng nhẽ cái mặt cắt ngang này nó quan trọng hơn những "thuật toán" kia ưh? Theo mình, cái quan trọng là nghĩ ra được thuật toán, còn điều mình đi thực hiện thì có vô vàn cách thiep ạ!

Mình cũng rất hi vọng thiep ra tay giúp đỡ mình! Rất hân hạnh khi được thiep và mọi người giúp đỡ!

Xin cảm ơn!

Thân!

  • 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
cái quan trọng là nghĩ ra được thuật toán, còn điều mình đi thực hiện thì có vô vàn cách

Hay lắm, hay lắm.... cái quan trọng là nghĩ ra thuật toán để công việc bớt vất vả hơn. Còn cách giải quyết thì vô vàn .... cách

Tue_NV nghĩ rằng bạn không nên viết câu nói dạng như thế này :

Mình giải thích vậy thì phamthanhbinh đã hiểu hơn chưa!

Có thể bạn viết không có ý gì cả nhưng với bạn phamthanhBinh sẽ hiểu như thế nào? Đến với Thiep còn động đậy nữa cơ mà!

Tue_NV là người hay nói thẳng : Bạn không nên viết những câu nói dạng này, vì những câu nói dạng này đễ bị hiểu nhầm và làm mọi người thật không cảm tình chút nào.

 

Tue_NV nghĩ rằng : Bài viết của bác ssg là lời khuyên rất chân tình nhất dành cho bạn. Bạn nên tìm hiểu về Lisp, thật sự nó không khó lắm đâu. Hãy đọc thật kỹ bài viết của bác ssg bạn 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
Thật tiếc, có lẽ phamthanhbinh chưa hiểu ý mình rồi!

Ý mình là với bản vẽ mẫu ấy, dựa vào lisp đó và các thông số trên thì sau khi nhập các thông số đó vào thì ta có thể gọi cái block đó ra. Nếu như xảy ra trùng với trường hợp nào (xin xem lại bài viết trước) thì sẽ gọi block của trường hợp đó ra. Và tiếp tục điền các thông số tương ứng vào, còn các TITLE (do mình nhập từ bàn phím, cũng là từ câu lệnh Lisp yêu cầu).

Mình giải thích vậy thì phamthanhbinh đã hiểu hơn chưa!

Hi vọng phamthanhbinh có thể giúp được mình bài toán này!

Qua đây mình cũng rất hi vọng nhận được sự giúp đỡ của các bạn: Tue_VN, Nguyen Hoanh, sgg, tuongtrang....và tất cả các bạn trên diễn đàn.

Xin cảm ơn, Chúc CADVIET sẽ ngày càng lớn mạnh hơn!

Hề hề,

Chào bạn minhphuong_hung,

Đúng là mình không hiểu ý bạn thật. Có lẽ mình là dân "mẹ ch ni cô" nên chả hiểu gì nhiều về cái món giao thông của bạn. Tuy nhiên cũng tại bạn một phần lớn đó. Bạn nói là Để vẽ được mặt cắt ta phải nhập vào các thông số nên mình tưởng bạn cần lisp để vẽ. Giá mà bạn nói rằng bạn cần lisp để có thể thay đổi các thuộc tính của một block nhập vào có lẽ mình sẽ không bị hiểu sai.

Rất mong bạn thông cảm cho cái sự dốt của mình nhé.

 

Như vậy phải chăng các block mặt cắt bạn đã có sẵn và các block này có khả năng thay đồi theo các thông số mà bạn sẽ nhập.??? Vậy thì để cho đơn giản hơn bạn hãy post các block đó lên để mình xem thử chứ thực tế mình cũng chưa biết cái block ấy của bạn nó ra sao mà tạo một block mới theo các thuộc tính như của bạn thì mình chịu chết luôn do không có chuyên môn.

Cho mình hỏi thêm, thế nếu trường hợp a khác b và b bằng không thì sao bạn nhỉ???

 

THú thực với bạn mình chỉ là thằng ham đi mót của thiên hạ thôi chứ học hành chả có được bao nhiêu đâu, nếu mình không thể làm được điều bạn nhờ thì bạn cũng đừng có giận nha. Mình rất muốn thử sức với cái yêu cầu của bạn , song thành công hay không thì chưa thể nói trước bạn ạ.

 

Chúc bạn vui

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
Hề hề,

Chào bạn minhphuong_hung,

Đúng là mình không hiểu ý bạn thật. Có lẽ mình là dân "mẹ ch ni cô" nên chả hiểu gì nhiều về cái món giao thông của bạn. Tuy nhiên cũng tại bạn một phần lớn đó. Bạn nói là Để vẽ được mặt cắt ta phải nhập vào các thông số nên mình tưởng bạn cần lisp để vẽ. Giá mà bạn nói rằng bạn cần lisp để có thể thay đổi các thuộc tính của một block nhập vào có lẽ mình sẽ không bị hiểu sai.

Rất mong bạn thông cảm cho cái sự dốt của mình nhé.

 

Như vậy phải chăng các block mặt cắt bạn đã có sẵn và các block này có khả năng thay đồi theo các thông số mà bạn sẽ nhập.??? Vậy thì để cho đơn giản hơn bạn hãy post các block đó lên để mình xem thử chứ thực tế mình cũng chưa biết cái block ấy của bạn nó ra sao mà tạo một block mới theo các thuộc tính như của bạn thì mình chịu chết luôn do không có chuyên môn.

Cho mình hỏi thêm, thế nếu trường hợp a khác b và b bằng không thì sao bạn nhỉ???

 

THú thực với bạn mình chỉ là thằng ham đi mót của thiên hạ thôi chứ học hành chả có được bao nhiêu đâu, nếu mình không thể làm được điều bạn nhờ thì bạn cũng đừng có giận nha. Mình rất muốn thử sức với cái yêu cầu của bạn , song thành công hay không thì chưa thể nói trước bạn ạ.

 

Chúc bạn vui

Cảm ơn bạn phamthanhbinh đã chia sẻ!

-Với trường hợp a khác b và b=0 thì đó là trường hợp đặc biệt của trường hợp 2 mà bài đầu mình nêu thôi (-Nếu nhập vào a, b khác nhau và a=0 (Độ cao bằng mặt đường) sẽ có bản vẽ số 2 (Trường hợp 2).).

Rất cảm ơn vì bạn đã chia sẻ!

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
Hay lắm, hay lắm.... cái quan trọng là nghĩ ra thuật toán để công việc bớt vất vả hơn. Còn cách giải quyết thì vô vàn .... cách

Tue_NV nghĩ rằng bạn không nên viết câu nói dạng như thế này :

 

Có thể bạn viết không có ý gì cả nhưng với bạn phamthanhBinh sẽ hiểu như thế nào? Đến với Thiep còn động đậy nữa cơ mà!

Tue_NV là người hay nói thẳng : Bạn không nên viết những câu nói dạng này, vì những câu nói dạng này đễ bị hiểu nhầm và làm mọi người thật không cảm tình chút nào.

 

Tue_NV nghĩ rằng : Bài viết của bác ssg là lời khuyên rất chân tình nhất dành cho bạn. Bạn nên tìm hiểu về Lisp, thật sự nó không khó lắm đâu. Hãy đọc thật kỹ bài viết của bác ssg bạn nhé

Cảm ơn Tue_NV đã chia sẻ. Thú thực trong khi viết mình cũng không để ý đến điều đó. Nhưng mình không nghĩ là phamthanhbinh sẽ hiểu sang ý khác.

Cảm ơn Tue_NV đã chia sẻ và giúp đỡ!

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

×