Đến nội dung


Hình ảnh
- - - - -

[Share] lisp xóa tất cả đối tượng trong một layer


  • Please log in to reply
13 replies to this topic

#1 bemove

bemove

    biết lệnh divide

  • Vip
  • PipPipPipPipPipPip
  • 446 Bài viết
Điểm đánh giá: 1308 (rất tốt)

Đã gửi 07 May 2007 - 01:50 AM

Dùng để xóa sạch tất cả đối tượng trong 1 layer :lol:
Lệnh "LD"

download
  • 4

#2 vbao

vbao

    biết lệnh array

  • CADViet Team
  • PipPipPip
  • 184 Bài viết
Điểm đánh giá: 80 (tàm tạm)

Đã gửi 10 May 2007 - 06:00 PM

Dùng để xóa sạch tất cả đối tượng trong 1 layer :lol:
Lệnh "LD"

download


anh bemove có thể hướng dẫn cho tôi nếu gặp trường hợp block trong block và block tồn tại trong 2 layer vậy có cách nảo tìm ra đối tượng này để delete ?
  • 0

#3 vndesperados

vndesperados

    biết lệnh xref

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

Đã gửi 10 May 2007 - 06:58 PM

Bác này cho tải về file nén mà không cho password để Unzip.
Bótay chấm cơm...
Trường hợp mà bác vbao nói thì chỉ cần lọc đối tượng nào mà assoc với 8 là OK rồi.
Còn chuyện block trong block hay một block có chứa nhiều đối tượng có layer khác nhau thì không lo gì vì bản thân block cũng thuộc một layer nhất đình thôi, nếu explode nó ra thì các đối tượng trong block mới chuyển về trạng thái layer gốc.
Ngu ý một chút, nếu không phải thì bỏ qua
....
  • 0

#4 bemove

bemove

    biết lệnh divide

  • Vip
  • PipPipPipPipPipPip
  • 446 Bài viết
Điểm đánh giá: 1308 (rất tốt)

Đã gửi 10 May 2007 - 08:18 PM

Password mặc định của diễn đàn là www.cadviet.com
  • 0

#5 vbao

vbao

    biết lệnh array

  • CADViet Team
  • PipPipPip
  • 184 Bài viết
Điểm đánh giá: 80 (tàm tạm)

Đã gửi 10 May 2007 - 09:56 PM

Bác này cho tải về file nén mà không cho password để Unzip.
Bótay chấm cơm...
Trường hợp mà bác vbao nói thì chỉ cần lọc đối tượng nào mà assoc với 8 là OK rồi.
Còn chuyện block trong block hay một block có chứa nhiều đối tượng có layer khác nhau thì không lo gì vì bản thân block cũng thuộc một layer nhất đình thôi, nếu explode nó ra thì các đối tượng trong block mới chuyển về trạng thái layer gốc.
Ngu ý một chút, nếu không phải thì bỏ qua
....


tôi gặp trường hợp trong 1 bản vẽ có nhiều layer không thể purge được dù các layer này empty, sau khi explode các block trong bản vẽ và chuyển về layer 0, lúc đó mới có thể purge các layer empty này, vấn đề tôi muốn nêu ra: nếu block2 có chứa nội dung block1 và nằm ở nhiều layer khác nhau, có thủ thuật hoặc tiện ích nào có thể chỉ ra và đánh dấu block thuộc các trường hợp vừa nêu ? chứ explode toàn bộ các block trong bản vẽ tôi sợ khó quản lý, chỉnh sửa, cũng như dung lượng của file sẽ tăng đáng kể.
  • 0

#6 vndesperados

vndesperados

    biết lệnh xref

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

Đã gửi 10 May 2007 - 11:51 PM

tôi gặp trường hợp trong 1 bản vẽ có nhiều layer không thể purge được dù các layer này empty, sau khi explode các block trong bản vẽ và chuyển về layer 0, lúc đó mới có thể purge các layer empty này, vấn đề tôi muốn nêu ra: nếu block2 có chứa nội dung block1 và nằm ở nhiều layer khác nhau, có thủ thuật hoặc tiện ích nào có thể chỉ ra và đánh dấu block thuộc các trường hợp vừa nêu ? chứ explode toàn bộ các block trong bản vẽ tôi sợ khó quản lý, chỉnh sửa, cũng như dung lượng của file sẽ tăng đáng kể.



Vậy bác cần xóa Layer hay là xóa các đối tượng trong Layer.
Theo tôi hiểu thì bác cần như sau:
Bác muốn dùng lệng PURGE để xóa đi các layer không chứa đối tượng (== rỗng?)
Các layer này có vẽ như là không chứa đối tượng nhưng thực chất là một số đối tượng nằm trong block thuộc layer khác, khi bác dùng lệng Explode thì các đối tượng lại trả về layer gốc của nó.
Nếu vậy thì chương trình của bác gì ấy post lên chưa làm được đâu.

Xin lỗi các bác để sáng mai mình gửi.
Bây giờ buồn ngủ rồi
  • 0

#7 vbao

vbao

    biết lệnh array

  • CADViet Team
  • PipPipPip
  • 184 Bài viết
Điểm đánh giá: 80 (tàm tạm)

Đã gửi 11 May 2007 - 08:14 PM

Vậy bác cần xóa Layer hay là xóa các đối tượng trong Layer.
Theo tôi hiểu thì bác cần như sau:
Bác muốn dùng lệng PURGE để xóa đi các layer không chứa đối tượng (== rỗng?)
Các layer này có vẽ như là không chứa đối tượng nhưng thực chất là một số đối tượng nằm trong block thuộc layer khác, khi bác dùng lệng Explode thì các đối tượng lại trả về layer gốc của nó.
Nếu vậy thì chương trình của bác gì ấy post lên chưa làm được đâu.

Xin lỗi các bác để sáng mai mình gửi.
Bây giờ buồn ngủ rồi


cảm ơn vndesperados trước nhé.
  • 1

#8 vndesperados

vndesperados

    biết lệnh xref

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

Đã gửi 14 May 2007 - 05:13 PM

cảm ơn vndesperados trước nhé.

Xin lỗi nhé. Cái này khó thật đó. Mình nghĩ mãi mấy hôm rồi mà vẫn chưa tìm ra. Xin thêm ít thời gian nữa...
  • 0

#9 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

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

Đã gửi 14 May 2007 - 08:22 PM

vndesperados khỏi cần viết lisp mà mất công. Nếu mục đích của vbao chỉ là pure các layer thì quá đơn giản.

Đầu tiên dùng lệnh laytrans để chuyển tất cả các đối tượng chứa các layer cần pure về layer 0. Bằng cách: cửa sổ Translate from (bên trái) chọn các layer cần pure, cửa sổ Translate to (bên phải) chọn layer 0; Rồi nhấn map, rồi nhấn tiếp translate.

Sau đó dùng lệnh pure, đảm bảo sạch 100%.

Điều này có thể làm được trong mọi trường hợp, có nghĩa là có thể pure toàn bộ layer của một bản vẽ (trừ layer 0) mà không cần phải explode, bedit, refedit, ....
  • 0

#10 bemove

bemove

    biết lệnh divide

  • Vip
  • PipPipPipPipPipPip
  • 446 Bài viết
Điểm đánh giá: 1308 (rất tốt)

Đã gửi 14 May 2007 - 08:30 PM

Lệnh này dùng rất sướng khi xử lý một file đạc cần cho nó về layer 0. Trước đây để làm công việc này thì mất thời gian hơn rất nhiều với lệnh bedit và refedit mà còn không triệt để nữa chứ!! :s_dead:
  • 0

#11 vbao

vbao

    biết lệnh array

  • CADViet Team
  • PipPipPip
  • 184 Bài viết
Điểm đánh giá: 80 (tàm tạm)

Đã gửi 15 May 2007 - 06:35 AM

vndesperados khỏi cần viết lisp mà mất công. Nếu mục đích của vbao chỉ là pure các layer thì quá đơn giản.

Đầu tiên dùng lệnh laytrans để chuyển tất cả các đối tượng chứa các layer cần pure về layer 0. Bằng cách: cửa sổ Translate from (bên trái) chọn các layer cần pure, cửa sổ Translate to (bên phải) chọn layer 0; Rồi nhấn map, rồi nhấn tiếp translate.

Sau đó dùng lệnh pure, đảm bảo sạch 100%.

Điều này có thể làm được trong mọi trường hợp, có nghĩa là có thể pure toàn bộ layer của một bản vẽ (trừ layer 0) mà không cần phải explode, bedit, refedit, ....


tôi hiện đang sử dụng cad 2000 nên không có lệnh laytrans, , khó khăn tôi gặp trong file này là không thể xóa mất 1 layer (trong file tôi có ghi chú các vướng mắc cần tháo gỡ) cảm ơn anh Hoanh đã giải đáp, tôi sẽ tìm hiểu thêm về lệnh này. Thanks
http://www.cadviet.com/upfiles/RChieu.dwg
  • 0

#12 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

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

Đã gửi 31 May 2007 - 03:47 PM

Để xóa tất cả đối tượng thuộc 1 layer bất kỳ (trừ layer 0 và DEFPOINTS), AutoCAD có sẵn 1 lệnh là LAYDEL. Ở phiên bản 2000 thì lệnh này nằm trong Express Tool, với phiên bản cao hơn, lệnh trở thành lệnh cơ bản của CAD.
  • 1

#13 thanhtungvnn

thanhtungvnn

    biết vẽ arc

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

Đã gửi 20 December 2012 - 08:01 PM

Chào các bác. Cho em hỏi 1 câu là : Có cách nào để del các block rác không dùng đến trong file của mình không? Block chỉ hiện trong insert ( theo em nghĩ thì nó gây tốn dung lượng và khó quản lí list block của mình hơn ).

Dùng purge thì xóa cả layer... em muốn nó chỉ purge riêng block thôi có được không?
  • 0

#14 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 20 December 2012 - 08:39 PM

Purge cho phép chọn đối tượng phi hình học (định nghĩa) nào đó để xóa, k nhất thiết à phải Purge All
  • 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