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

[Yêu cầu] Lisp sắp xếp tiết kiệm diện tích

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

Chào các anh,em có 1 yêu cầu thế này,em có các chi tiết 1,2,3,4,5,6,7,8,9 như hình vẽ.

2092012121015422.jpg

Lúc đầu các chi tiết này nằm rời rạc ở bên ngoài.

Có lisp nào khi mình chọn các chi tiết 1,2,3...,9 rồi sau đó chọn cái khung hình chữ nhật đó thì các chi tiết 1,2,3..,9 đó sẽ tự động sắp xếp vào khung hình chữ nhật sao cho tiết kiệm diện tích nhất không vậy các anh?

Nếu có thì các anh chia sẻ cho em với.

Cảm ơn các anh nhiều.

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

Hix, mình nghĩ cái này là cả một thuật toán khủng, list thì chắc không viết nổi đâu

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 các anh,em có 1 yêu cầu thế này,em có các chi tiết 1,2,3,4,5,6,7,8,9 như hình vẽ.

 

Lúc đầu các chi tiết này nằm rời rạc ở bên ngoài.

Có lisp nào khi mình chọn các chi tiết 1,2,3...,9 rồi sau đó chọn cái khung hình chữ nhật đó thì các chi tiết 1,2,3..,9 đó sẽ tự động sắp xếp vào khung hình chữ nhật sao cho tiết kiệm diện tích nhất không vậy các anh?

Nếu có thì các anh chia sẻ cho em với.

Cảm ơn các anh nhiều.

Hề hề hề,

Còn phụ thuộc vào cái nhất của bạn được định nghĩa thế nào nữa ????

Nói không có thì bị mắng là ngu, Nói có thì bị mắng là keo kiệt. Vậy nên chả nói gi là 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

Hề hề hề,

Còn phụ thuộc vào cái nhất của bạn được định nghĩa thế nào nữa ????

Nói không có thì bị mắng là ngu, Nói có thì bị mắng là keo kiệt. Vậy nên chả nói gi là hơn......

Có nghĩa là sao vậy anh, em chưa hiểu ý anh lắm.

Có nghĩa là Lisp có thể làm được như vậy ko hay là phải dùng 1 phần mềm khá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

Có nghĩa là sao vậy anh, em chưa hiểu ý anh lắm.

Có nghĩa là Lisp có thể làm được như vậy ko hay là phải dùng 1 phần mềm khác ?

Có nghĩa là câu hỏi của bạn không rõ ràng lắm.

Bạn nên gửi file minh hoạ kèm theo, diễn đạt càng rõ ràng càng tốt

Đọc yêu cầu của bạn, chẳng hiểu, vậy nên không biết trả lời câu hỏi trên như thế nào nữa

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ó nghĩa là câu hỏi của bạn không rõ ràng lắm.

Bạn nên gửi file minh hoạ kèm theo, diễn đạt càng rõ ràng càng tốt

Đọc yêu cầu của bạn, chẳng hiểu, vậy nên không biết trả lời câu hỏi trên như thế nào nữa

Ý em là thế này :

- Lúc đầu mình có các chi tiết 1,2,3,4,5,6,7 nằm riêng rẽ nhau như thế này:

2092012191815162.jpg

- Sau đó,mình đánh lệnh Lisp,sau đó quét chọn các chi tiết 1,2,3,4,5,6 ,nhấn Enter ,sau đó kích chọn chi tiết 7 ,nhấn Enter thì các chi tiết 1,2,3,4,5,6 sẽ tự động sắp xếp vào chi tiết 7 sao cho chúng chiếm diện tích của chi tiết số 7 là ít nhất.

2092012191816974.jpg

Cái này dùng để ứng dụng cắt tôn để phần dư của chi tiết 7 là nhiều nhất để mình có thể dử dụng phần dư này cho lần cắt tiếp theo đó.

Các anh cho em hỏi là có Lisp nào như vậy ko ạ.Nếu có thì a chia sẻ cho em với.

Thanks các anh trong diễn đàn nhiều :)

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

để phần dư của chi tiết 7 là nhiều nhất

Khái niệm này không chính xác, bởi khi sắp 6 chi tiết đó vào với bất cứ kiểu nào (miễn đừng giao nhau) thì diện tích phần dư là hằng số, và luôn bằng S7-(S1+S2+...+S6).

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 là thế này :

- Lúc đầu mình có các chi tiết 1,2,3,4,5,6,7 nằm riêng rẽ nhau như thế này:

2092012191815162.jpg

- Sau đó,mình đánh lệnh Lisp,sau đó quét chọn các chi tiết 1,2,3,4,5,6 ,nhấn Enter ,sau đó kích chọn chi tiết 7 ,nhấn Enter thì các chi tiết 1,2,3,4,5,6 sẽ tự động sắp xếp vào chi tiết 7 sao cho chúng chiếm diện tích của chi tiết số 7 là ít nhất.

2092012191816974.jpg

Cái này dùng để ứng dụng cắt tôn để phần dư của chi tiết 7 là nhiều nhất để mình có thể dử dụng phần dư này cho lần cắt tiếp theo đó.

Các anh cho em hỏi là có Lisp nào như vậy ko ạ.Nếu có thì a chia sẻ cho em với.

Thanks các anh trong diễn đàn nhiều :)

 

Đọc bài của bạn thấy gần giống cái yêu cầu của mình: http://www.cadviet.c...showtopic=66049

Mình cũng đã viết một bài cụ thể hơn chút. Sau khi tìm hiểu qua thì thấy vấn đề này có lẽ quá khó với lisp và có một số phần mềm pha tôn như Autonest, Real Cut 2D,Cut logic 2D....giải quyết vấn đề này có điều đó là những phần mềm phải trả phí và sử dụng cũng không được 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

để phần dư của chi tiết 7 là nhiều nhất

Khái niệm này không chính xác, bởi khi sắp 6 chi tiết đó vào với bất cứ kiểu nào (miễn đừng giao nhau) thì diện tích phần dư là hằng số, và luôn bằng S7-(S1+S2+...+S6).

Vâng,anh nói vậy cũng đúng,tại em cũng ko biết diễn đạt thế nào.

Ý em là muốn sắp xếp một cách tối ưu các tấm 1,2,3,4,5,6 trên khổ tôn có sẵn 7 sao cho tiết kiệm nhất và tối đa hóa việc sử dụng vật liệu tấm và giảm thiểu vật liệu thừa ở tấm 7.

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 là bài toán tối ưu hóa (2 chiều) nên cực khó, cho dù có viết bằng ngôn ngữ nào.

 

Có thể sử dụng thư viện Solver của Microsoft để tính, nhưng chả dễ dàng tí nào.

 

Nếu toàn là hình chữ nhật thì dùng chương trình này, việc nhập liệu thông qua textfile hơi mất công.

Nếu hên thì có thể tìm thấy source code bằng Delphi đó:

 

cutlist4.gif

http://www.delphifor...ams/CutList.htm

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 là bài toán tối ưu hóa (2 chiều) nên cực khó, cho dù có viết bằng ngôn ngữ nào.

 

Có thể sử dụng thư viện Solver của Microsoft để tính, nhưng chả dễ dàng tí nào.

 

Nếu toàn là hình chữ nhật thì dùng chương trình này, việc nhập liệu thông qua textfile hơi mất công.

Nếu hên thì có thể tìm thấy source code bằng Delphi đó:

 

cutlist4.gif

http://www.delphifor...ams/CutList.htm

Quả thật là khó vì phần mềm chỉ có thể sắp xếp tối ưu các chi tiết là hình chữ nhật đó vào một khổ tôn có sẵn kích thước chứ không cho phép khổ tôn đó tùy biến kích thước theo chiều dài. và khi sắp xếp thì không ưu tiên lựa chọn các tấm có cùng kích thước sếp lại với nhau mà xếp tất cả lại lung tung vậy nếu là dân trong ngành thì bạn có thể biết là việc đưa lên máy cắt pha ra là rất khó khăn(trong khi cắt trên máy với một lưỡi dao thẳng thì không thể xoay lung tung để cắt đượ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

Có tùy biến khổ tôn được mà, nó nằm trong file text nhập bằng tay.

ah không! Nhập trước bằng tay kích thước khổ tôn thì sao tối ưu được. Ý mình là nó phải tùy chỉnh tự động về kích thước chiều dài cho tấm lớn. các chi tiết tấm là hình chữ nhật sẽ được sắp xếp là cùng một loại với nhau cho tới kích thước hợp lý thì dừng lại(nghĩa là sau khi sắp xếp các tấm nhỏ vào tấm lớn sẽ có nhiều dải tôn tấm lớn có chiều dài khác nhau), các chi tiết có kích thước nhỏ nếu có chèn vào để giảm vật liệu thừa thì chỉ chèn vào theo chiều rộng thôi.

http://www.cadviet.c...phoi_9863kt.dwg

P/s: Ngoài thị trường vì thông thường sẽ có một vài loại chiều dài khổ tôn pha sẵn để bán nhưng chỉ là cung cấp nhỏ lẻ thôi, nhưng đối với các công ty sản xuất với số lượng lớn thì việc tối ưu là sẽ có các dây truyền cắt ngang để pha các dải tôn có kích thước khác nhau tùy ý từ tôn cuộn ra. Các dải tôn có kích thước khác nhau này là kết quả của quá trình ta sắp xếp các tấm nhỏ vào cho tối ưu. Sau công đoạn này sẽ có một công đoạn là dùng các máy cắt nhỏ hơn để pha các dải đã sắp sếp này.

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ếu viết được cái này, mình sẽ đòi phí ít nhất 1 tỉ ^^ hoặc 100.000 nếu bạn trình bày logic được như thế nào gọi là hợp lý.

Hợp lý thi công, hợp lý tận dụng, hợp lý giải thuật, hợp lý kinh tế ...

Tiếc là trình độ mình cùi bắp, ngồi hóng thôi :(

Xưa nghiền ngẫm cái VBA cắt thép thanh (k phải tấm có hình dạng bất kỳ + không giới hạn biên như bài của bạn) , mà tứa máu. Tưởng giải ma trận ẩn là ngon, ai ngờ nảy sinh các bài toán tận dụng, sai số thi công, sai số chủ đầu tư, sai số tư vấn ... => khóc 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

@ketxu:

Cắt thanh thì giải vẫn không khó, vì đó coi như là bài toán 1 chiều, còn kiểu diện tích này thì đúng là bó 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

Thực ra bài toán này chưa nói đến cái khó là phải giải bằng cách nào, mà cái khó là không có 1 đề toán rõ ràng.

Khi không có đề toán thì bàn chi cách giải cho oải người! :lol:

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

@ketxu:

Cắt thanh thì giải vẫn không khó, vì đó coi như là bài toán 1 chiều, còn kiểu diện tích này thì đúng là bó tay.

Khó ở chỗ là tái sử dụng vì ra ngoài thiếu thép thợ lại nối thanh, nhưng phải kiểm tra thanh đó là ở gối hay bụng mà cho phép nối hay không, rồi ví dụ thiết kế yêu cầu 5m n chỉ còn 4m5 nhiều khi cũng .... tặc ^^

Hế hế

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

×