Đến nội dung


Hình ảnh
- - - - -

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


  • Please log in to reply
19 replies to this topic

#1 kedensau88

kedensau88

    biết vẽ circle

  • Members
  • PipPip
  • 32 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 20 September 2012 - 12:22 PM

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ẽ.
Hình đã gửi
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.
  • 0

#2 quansla

quansla

    biết lệnh xclip

  • Members
  • PipPipPipPipPipPipPip
  • 643 Bài viết
Điểm đánh giá: 224 (khá)

Đã gửi 20 September 2012 - 01:02 PM

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
  • 0

#3 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5685 Bài viết
Điểm đánh giá: 2606 (tuyệt vời)

Đã gửi 20 September 2012 - 01:22 PM

Bạn tìm các phần mềm cắt tôn thì chắc sẽ có kết quả
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#4 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6009 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 20 September 2012 - 01:40 PM

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......
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#5 kedensau88

kedensau88

    biết vẽ circle

  • Members
  • PipPip
  • 32 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 20 September 2012 - 04:32 PM

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 ?
  • 0

#6 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 20 September 2012 - 06:48 PM

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
  • 0

#7 kedensau88

kedensau88

    biết vẽ circle

  • Members
  • PipPip
  • 32 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 20 September 2012 - 07:24 PM

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:
Hình đã gửi
- 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.
Hình đã gửi
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 :)
  • 0

#8 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 20 September 2012 - 07:34 PM

để 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).
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#9 CUONG20051982

CUONG20051982

    biết lệnh extend

  • Members
  • PipPipPip
  • 196 Bài viết
Điểm đánh giá: 15 (tàm tạm)

Đã gửi 20 September 2012 - 07:52 PM

Ý 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:
Hình đã gửi
- 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.
Hình đã gửi
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ư ý.
  • 0

#10 kedensau88

kedensau88

    biết vẽ circle

  • Members
  • PipPip
  • 32 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 20 September 2012 - 07:59 PM

để 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.
  • 0

#11 anhcos

anhcos

    biết lệnh hatchedit

  • Advance Member
  • PipPipPipPip
  • 260 Bài viết
Điểm đánh giá: 170 (tàm tạm)

Đã gửi 20 September 2012 - 08:40 PM

Đâ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 đó:

Hình đã gửi
http://www.delphifor...ams/CutList.htm
  • 0
Clear sky!

MF Rock collection.

#12 CUONG20051982

CUONG20051982

    biết lệnh extend

  • Members
  • PipPipPip
  • 196 Bài viết
Điểm đánh giá: 15 (tàm tạm)

Đã gửi 20 September 2012 - 09:00 PM

Đâ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 đó:

Hình đã gửi
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)
  • 0

#13 anhcos

anhcos

    biết lệnh hatchedit

  • Advance Member
  • PipPipPipPip
  • 260 Bài viết
Điểm đánh giá: 170 (tàm tạm)

Đã gửi 20 September 2012 - 09:31 PM

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

MF Rock collection.

#14 CUONG20051982

CUONG20051982

    biết lệnh extend

  • Members
  • PipPipPip
  • 196 Bài viết
Điểm đánh giá: 15 (tàm tạm)

Đã gửi 21 September 2012 - 07:22 PM

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.
  • 0

#15 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5685 Bài viết
Điểm đánh giá: 2606 (tuyệt vời)

Đã gửi 21 September 2012 - 08:14 PM

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
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#16 anhcos

anhcos

    biết lệnh hatchedit

  • Advance Member
  • PipPipPipPip
  • 260 Bài viết
Điểm đánh giá: 170 (tàm tạm)

Đã gửi 21 September 2012 - 08:20 PM

@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.
  • 0
Clear sky!

MF Rock collection.

#17 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 21 September 2012 - 08:52 PM

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:
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#18 fpttelecom0110

fpttelecom0110

    Chưa sử dụng CAD

  • Members
  • Pip
  • 2 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 21 September 2012 - 10:24 PM

Cám ơn bạn đã chia sẻ kiến thức hay
  • 0

Chúng tôi chuyên cung cấp các dịch internet trên toàn quốc

Dịch vụ Lắp Mạng Viettel

Dịch Vụ Lắp Mạng FPT

Lắp Mạng Cáp Quang FPT

Lắp Mạng Cáp Quang Viettel

Lap Cap Quang FPT

                Rất Hân Hạnh Được Phục Vụ Quý Khách


#19 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5685 Bài viết
Điểm đánh giá: 2606 (tuyệt vời)

Đã gửi 22 September 2012 - 05:44 AM

@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ế
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#20 kedensau88

kedensau88

    biết vẽ circle

  • Members
  • PipPip
  • 32 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 28 September 2012 - 09:03 AM

Nếu các tấm nhỏ mình sắp xếp lên tấm tôn lớn chỉ có dạng hình chữ nhật thì Lisp có thể làm được không nhỉ các anh ? :rolleyes:
  • 0