Đến nội dung


Hình ảnh

Lệnh UNION có thể chạy nhanh với nhiều obj được không?


  • Please log in to reply
12 replies to this topic

#1 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 11 July 2014 - 10:31 AM

Tôi cần hợp nhất trên 5000 Region, và dùng lệnh Union. Khổ nỗi là nó chạy khá chậm (mất khoảng 15").

Hỏi:

1). Có cách gì để hợp nhất chừng đó Region mà thời gian có thể rút ngắn được không?

2). Khi Union với số lượng lớn thì màn hình nhấp nháy, thậm chí bản vẽ xuất hiện dòng "Not Responding" nhìn rất khó chịu (dù cuối cùng cũng Union được)?

Ai có phương án tốt hơn xin giúp!

Hình:

67029_union.png

File Cad:

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


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


#2 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 11 July 2014 - 03:21 PM

Tôi cần hợp nhất trên 5000 Region, và dùng lệnh Union. Khổ nỗi là nó chạy khá chậm (mất khoảng 15").
Hỏi:
1). Có cách gì để hợp nhất chừng đó Region mà thời gian có thể rút ngắn được không?
2). Khi Union với số lượng lớn thì màn hình nhấp nháy, thậm chí bản vẽ xuất hiện dòng "Not Responding" nhìn rất khó chịu (dù cuối cùng cũng Union được)?
Ai có phương án tốt hơn xin giúp!
Hình:
67029_union.png
File Cad:
http://www.cadviet.c..._lenh_union.dwg

 
Bác sử dụng method boolean xem sao.
Nhìn chung thì vla-boolean  cũng phải lặp qua chừng đó đối tượng, chưa thử nhưng cũng đoán trước tốc độ chắc khá hơn 1 chút thôi (do sử dụng vla)


  • 1

#3 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 12 July 2014 - 10:36 AM

Rất tiếc là tôi cũng hy vọng (vla-boolean obj1 acUnion obj2) sẽ nhanh hơn (command "union" ss ""), nhưng test thì thấy thời gian thậm chí còn tăng lên khoảng 1.5 lần. Dù sao cũng thank đã góp ý, và chắc đành chịu vậy.


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


#4 pphung183

pphung183

    biết dimstyle

  • Members
  • PipPipPipPipPip
  • 384 Bài viết
Điểm đánh giá: 425 (tốt)

Đã gửi 12 July 2014 - 10:41 AM

Bạn thử Group lại rồi Uni xem có khá hơn không?


  • 1

#5 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 12 July 2014 - 10:50 AM

Thanks! Time cũng như nhau.


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


#6 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 12 July 2014 - 03:01 PM

Thanks! Time cũng như nhau.

Hề hề hề,

Úi bác ĐoanvanHa ơi, 15 giây có nhẽ cũng chấp nhận được với hơn 5000 đối tượng như vầy bác ạ. nếu là 15 phút hay 15 giờ thì chắc là phải cải tiến gấp.


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

#7 Hoan1111

Hoan1111

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2587 Bài viết
Điểm đánh giá: 692 (tốt)

Đã gửi 12 July 2014 - 03:59 PM

Tôi cần hợp nhất trên 5000 Region, và dùng lệnh Union. Khổ nỗi là nó chạy khá chậm (mất khoảng 15").

Hỏi:

1). Có cách gì để hợp nhất chừng đó Region mà thời gian có thể rút ngắn được không?

2). Khi Union với số lượng lớn thì màn hình nhấp nháy, thậm chí bản vẽ xuất hiện dòng "Not Responding" nhìn rất khó chịu (dù cuối cùng cũng Union được)?

Ai có phương án tốt hơn xin giúp!

Hình:

 

File Cad:

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

 

Máy của bác xuất hiện dòng Not Responding mà chạy hết có 15'', chứng tỏ máy của bác có cấu hình hơi bị ...khủng bố! :) :) :)

Em thử với AutoCAD2013 chạy được một lúc cũng thấy xuất hiện Not Responding và phải mất đúng 32''

Em thử với AutoCAD2007 không thấy xuất hiện Not Responding, nhưng cũng mất đến 25''

a1111_zps63ee7144.gif

(Xem ảnh động)

Em vẫn chưa biết vì sao em dùng CAD2007 không bị Not Responding, còn CAD2013 lại bị Not Responding.???

Em nghĩ rằng nếu bác tìm cách loại bỏ được Not Responding thì thời gian có thể nhanh hơn.

Em vừa tìm kiếm được bài viết sau:

7 nguyên nhân gây lỗi Not responding  và cách khắc phục: http://xahoithongtin...ding-d1672.html


  • 1

66 Câu Phật Học Cho Cuộc Sống : http://ngocchinh.com...-cho-cuoc-song/

Gió đưa cây cải về trời / Rau răm ở lại chịu lời đắng cay...

 

 


#8 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 12 July 2014 - 04:11 PM

Cám ơn thông tin của em. Vừa đọc. Thật rắc rối!

Đang dùng cad2007, lúc thì bị "Not Responding", nhưng đôi lúc lại không.

@PTB: 15" không phải là dài, nhưng nó là 1 hệ số nhân trong chuỗi chương trình nên kết quả cuối cùng khá khủng. Đang mơ nó tầm 5" thôi.


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

Tot77

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 990 Bài viết
Điểm đánh giá: 498 (tốt)

Đã gửi 12 July 2014 - 05:17 PM

Sao bác không chỉ chọn các region nằm ngoài rìa rồi union nó lại, rồi xoá các region bên trong?


  • 0

#10 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 12 July 2014 - 05:28 PM

Để chọn Region bên ngoài thì có tới 1000 lận. Hơn nữa, không dễ gì chọn nó.


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


#11 Tot77

Tot77

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 990 Bài viết
Điểm đánh giá: 498 (tốt)

Đã gửi 12 July 2014 - 05:40 PM

Giảm càng nhiều số luong thì thời gian se càng ngắn, dù sao 1000 cũng đỡ hơn 5600.
Sao lại khó? bác chọn select "f" rồi quét.
Nhưng nếu bác đang viết ct thì kể cũng khó thiệt, phải giải bài toán tìm rìa, với lại region khó kiếm thông tin từ entget.
  • 0

#12 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 12 July 2014 - 05:56 PM

Bạn có thể đề xuất giùm 1 phương án để chọn các Region nằm ngoài trong số các Region được không?

P/S: lỗi "Not Responding" đã xử được, bằng cách chia nhỏ tập chọn. Còn Time thì chưa.


  • 1

* 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.


#13 Tot77

Tot77

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 990 Bài viết
Điểm đánh giá: 498 (tốt)

Đã gửi 12 July 2014 - 06:08 PM

Nếu phải tìm rìa thì trước hết phải tìm cái tâm của đám region, có thể là trung bình cộng toạ độ x, y. Sau đó sắp xếp theo thứ tự kc từ lớn đến nhỏ so với cái tâm đó.
Từ cái xa nhất tìm cái region gần nó nhất, có thể bắt dư cũng ko sao, cứ thế đén khi quay lại cái đàu tiên.
Nói cách làm thì dễ chứ vào viết ct thì không dễ chút nào, tui cũng chưa đụng tới region bao giờ.
  • 0