Đến nội dung


Hình ảnh
- - - - -

[Yêu cầu] Xin Lisp chọn nhanh đối tượng cùng layer


  • Please log in to reply
5 replies to this topic

#1 victor85

victor85

    biết lệnh stretch

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

Đã gửi 28 March 2013 - 04:10 PM

Thực ra bản chất nó cũng giống như mình layiso đối tượng rồi mình chọn để đạt mục đích thôi ạ. Nhưng nhược điểm là layiso nhiều khi khá mất thời gian, nhất là với những máy cấu hình yếu hoặc như con laptop già nua của em ạ. Vậy kính mong các bác viết dùm e cái lisp chọn nhanh đối tượng cùng layer trong vùng chọn xác định với ạ.

Lisp như sau: 

select_layer.lsp 

lệnh: sl

Đầu vào: chọn đối tượng mẫu cần xác định layer .

Chọn vùng cần lấy các đối tượng cùng layer với đối tượng mẫu.

Đầu ra: mình chọn được các đối tượng có cùng layer với đối tượng gốc trong vùng xác định ạ.

Em cảm ơn các bác nhiều ạ. 

P/s: quan điểm của e nhiều khi chỉ cần những lisp đơn giản tương tự như lisp này nhưng thực sự nó rất tiết kiệm thời gian cho người sử dụng. Mình nghĩ mọi người sẽ sử dụng trường hợp này nhiều thôi. Hì, chúc các bác lisper và cadviet ngày càng phát triển bất chấp kinh tế suy thoái khó khăn :)

 


  • 0

#2 KangKung

KangKung

    biết lệnh array

  • Members
  • PipPipPip
  • 189 Bài viết
Điểm đánh giá: 227 (khá)

Đã gửi 28 March 2013 - 05:17 PM

Lisp đây bác ơi

(defun C:SL()
  (setq lay(cdr (assoc 8 (entget (car (entsel "\n Chon doi tuong mau:\n"))))))
  (setq taphop(ssget (list (cons 8 lay))))
  (sssetfirst nil taphop))

  • 0

#3 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 28 March 2013 - 10:23 PM

Góp tí : KangKung hay viết cẩn thân từng bước code, ưu điểm là rõ ràng và dễ bắt lỗi, nhược điểm là tạo ra quá nhiều biến trung gian, trong khi đó KK lại k bao giờ khử biến (các lisp cho đến lúc này) ^^


@victor : nặng quá dùng qselect cũng được vậy ^^
  • 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 KangKung

KangKung

    biết lệnh array

  • Members
  • PipPipPip
  • 189 Bài viết
Điểm đánh giá: 227 (khá)

Đã gửi 28 March 2013 - 10:49 PM

Hê hê ý ketxu là thế này chứ gì

(defun C:SL()
  (sssetfirst nil (ssget (list (assoc 8 (entget (car (entsel "\n Chon doi tuong mau:\n"))))))))
Mình viết thế cho bác nào gà mờ về Lisp đọc dễ hiểu tí. Còn việc khử biến thì do lười copy paste nên cứ kệ.  :D  :D  :D

  • 1

#5 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 28 March 2013 - 10:54 PM

Code trên của Kk vẫn thừa :) Trên 4r rất nhiều bác dính lỗi này, bạn thử nhìm lại xem sao
  • 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


#6 KangKung

KangKung

    biết lệnh array

  • Members
  • PipPipPip
  • 189 Bài viết
Điểm đánh giá: 227 (khá)

Đã gửi 28 March 2013 - 11:42 PM

:D  :D  :D Tại copy paste không để ý. Nói như bác Đoàn Văn Hà thì là cởi áo ra rồi mặc lại  :D  :D  :D. Đã sửa lại ở #4


  • 0