Đến nội dung


Hình ảnh
- - - - -

Lisp chọn tất cả các đối tượng thuộc 1 layer !


  • Please log in to reply
22 replies to this topic

#1 leejang

leejang

    biết lệnh move

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

Đã gửi 13 April 2011 - 02:09 PM

Em muốn có 1 lisp mà khi mình đánh lệnh thì sẽ chọn tất cả các đối tượng của 1 layer đã ngầm định sẵn trong lisp rồi.
Cụ thể:
Command : chon
tất cả các đối tượng thuộc layer "CAD viet" được chọn. Người dùng muốn chọn layer khác thì đổi CODE của Lisp !
Em xin chân thành cảm ơn. Mong các anh giúp đỡ !
  • 0

#2 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 13 April 2011 - 02:31 PM

Tại sao những việc đó bạn phải cần đến lisp vậy ^^ Các công cụ qselect, fi làm tốt mà. Còn nếu bạn cần thì đây ^^ Mình vídụ chọn layer 0
(defun c:chon()(sssetfirst nil (ssget "x" '((8 . "0")))))

  • 3

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


#3 leejang

leejang

    biết lệnh move

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

Đã gửi 13 April 2011 - 02:40 PM

Tại sao những việc đó bạn phải cần đến lisp vậy ^^ Các công cụ qselect, fi làm tốt mà. Còn nếu bạn cần thì đây ^^ Mình vídụ chọn layer 0

(defun c:chon()(sssetfirst nil (ssget "x" '((8 . "0")))))

Đúng rồi. Cảm ơn bác nhiều nhé !hii
  • 0

#4 hoàngbìnhan

hoàngbìnhan

    biết lệnh move

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

Đã gửi 13 April 2011 - 02:42 PM

Thực ra cái này không cần dùng đến lisp đâu bạn ạ!
Trong Cad có lệnh Quick Select đấy
Bạn đánh lệnh Qselect -->Enter --> hiện lên ô cửa sổ trong đó có 4 lựa chọn:
1. Apply to: phạm vi áp dụng (nghĩa là lựa chọn toàn bộ hay 1 phần của bản ve);
2. Object type: loại đối tượng (trong đó có rất nhiều kiểu đối tượng như bạn thì bạn có thể chọn layer chẳng hạn);
3. Properties: Các thuộc tính;
4. Operator: cái này hợn khó nói (tự tìm hiểu nhé)
5. value: có thể lựa chọn qua màu sắc...
6. How to apply: cách dùng, cách thức áp dụng:
a. Include: các đối tượng chọn mà thỏa mãn các tiêu chuẩn trên thì được chọn;
b. Exclude: ngược lại với Include.

Cái này bạn thử đi nhé!
  • 1

#5 leejang

leejang

    biết lệnh move

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

Đã gửi 13 April 2011 - 02:54 PM

Đúng rồi. Cảm ơn bác nhiều nhé !Nhưng khi e đổi sang Layer khác "2" mà có màu của đối tượng thuộc layer đó = "2" thì ko được. E đã đổi số 8=>2 nhưng kũng ko được. Mong bác giải thịck giúp em.


  • 0

#6 Detailing

Detailing

    biết lệnh imageclip

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

Đã gửi 13 April 2011 - 03:02 PM

số 8 là mã DXF của Layer, muốn chọn layer "2" thì sửa số "0" => "2"
Theo mình bạn nên tập sử dụng CAD cho rành đi trước khi nghĩ đến xài lisp hay sửa code gì đấy.
Thân!
  • 0

Ideas don't matter, execution does!

1908412_308002392716743_8165279281236341


#7 congchivo

congchivo

    biết vẽ line

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

Đã gửi 13 December 2011 - 09:00 AM

anh ket xu oiiiii anh viet cho em 1 lisp chon tat ca cac doi tuong theo ma mauf dc ko, vd em muon chon tat ca cac doi tuong theo mau so 1 thi kich vao doi tuong co ma mau so 1 thi tat ca doi tuong cung ma mau voi doi tuong dc chon thi duoc boi het
  • 0

#8 lp_hai

lp_hai

    biết lệnh measure

  • Members
  • PipPipPipPipPipPip
  • 456 Bài viết
Điểm đánh giá: 202 (khá)

Đã gửi 13 December 2011 - 09:40 AM

Em muốn có 1 lisp mà khi mình đánh lệnh thì sẽ chọn tất cả các đối tượng của 1 layer đã ngầm định sẵn trong lisp rồi.
Cụ thể:
Command : chon
tất cả các đối tượng thuộc layer "CAD viet" được chọn. Người dùng muốn chọn layer khác thì đổi CODE của Lisp !
Em xin chân thành cảm ơn. Mong các anh giúp đỡ !

HEHHEH có ước thì ước cho hoành tráng một chút! :) bạn ko nhờ bác Ket viết luôn cái code khi bạn muốn chọn dt layer nào thì tất cả các dt thuộc layer đó được chọn? như vậy phải đỡ tốn công hơn ko hề?
  • 0
Hình đã gửi

#9 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 13 December 2011 - 11:33 AM

anh ket xu oiiiii anh viet cho em 1 lisp chon tat ca cac doi tuong theo ma mauf dc ko, vd em muon chon tat ca cac doi tuong theo mau so 1 thi kich vao doi tuong co ma mau so 1 thi tat ca doi tuong cung ma mau voi doi tuong dc chon thi duoc boi het



(defun c:ha () (setq ss (ssget (list (assoc 62 (entget (car (entsel "\nDoi tuong mau :"))))))))

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


#10 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 13 December 2011 - 12:27 PM

Bác ĐVH k check ByLayer ^^
Tuy nhiên, topic sai quy định từ lâu đã đành, bài viết yêu cầu của congchivo lại k thèm type TV, coi như bỏ qua
  • 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


#11 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 13 December 2011 - 12:29 PM

Bác ĐVH k check ByLayer ^^
Tuy nhiên, topic sai quy định từ lâu đã đành, bài viết yêu cầu của congchivo lại k thèm type TV, coi như bỏ qua


Quên. Mới nhớ, định PS thì Ket nhắc rồ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.


#12 congchivo

congchivo

    biết vẽ line

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

Đã gửi 24 December 2011 - 11:01 AM

ANH KETXU ƠI ANH VIẾT HỘ EM MỘT LISP CHON ĐỐI TƯỢNG THEO MÃ MÀU ĐƯỢC KO, VD: TRONG TẤT CẢ CÁC LAYER CÓ NHIỀU MÀU LỘN XỘN, EM CHI KÍCH CHUỘT VÀO 1 ĐỐI TƯỢNG THUỘC MÀU SỐ 1, THÌ TẤT CẢ CÁC ĐỐI TƯỢNG THUỘC MÀU SỐ 1 ĐƯỢC CHỌN, VÀ MÀU SỐ 1 LÀ MÀU BẤT KỲ. EM CẢM ƠN BÁC NHIỀU.
  • 0

#13 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 24 December 2011 - 11:17 AM

ANH KETXU ƠI ANH VIẾT HỘ EM MỘT LISP CHON ĐỐI TƯỢNG THEO MÃ MÀU ĐƯỢC KO, VD: TRONG TẤT CẢ CÁC LAYER CÓ NHIỀU MÀU LỘN XỘN, EM CHI KÍCH CHUỘT VÀO 1 ĐỐI TƯỢNG THUỘC MÀU SỐ 1, THÌ TẤT CẢ CÁC ĐỐI TƯỢNG THUỘC MÀU SỐ 1 ĐƯỢC CHỌN, VÀ MÀU SỐ 1 LÀ MÀU BẤT KỲ. EM CẢM ƠN BÁC NHIỀU.

Hề hề hề,
Anh Ketxu đi vắng, có em anh ấy giả nhời được không hè???
Cái này trên diễn đàn đã có không ít, bạn hãy chịu khó tìm kiếm nhé. Bạn cũng cần nói rõ yêu cầu củ bạn có tính tời các đối tựong nằm bên trọng các đối tượng là block là xref ... không nhé. Dù có tính tới hay không thì trên diễn đàn cũng đã có các lisp tương ứng rồi đó. Tìm là thấy bạ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.

#14 bkhn_2011

bkhn_2011

    biết vẽ pline

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

Đã gửi 24 December 2011 - 11:40 AM

Dù mình chưa thạo lắm nhưng vẫn muốn tí toáy, mong bạn chỉ giúp mình. Mình Down cái lisp kia về rồi sau đó mình load đã báo thành công nhưng lúc mình dùng lệnh /chon(0) enter thì không được. Mong bạn chỉ giúp mình với.
  • 0

#15 bkhn_2011

bkhn_2011

    biết vẽ pline

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

Đã gửi 24 December 2011 - 11:43 AM

Tại sao những việc đó bạn phải cần đến lisp vậy ^^ Các công cụ qselect, fi làm tốt mà. Còn nếu bạn cần thì đây ^^ Mình vídụ chọn layer 0

(defun c:chon()(sssetfirst nil (ssget "x" '((8 . "0")))))

Bạn ơi bạn chỉ mình cách làm với. Mình đã copy đoạn lisp của bạn về sau đó load đã báo thành công nhưng khi mình gõ lệnh /chon(0) chọn layer o nhưng không được,, mình làm chưa đúng ở chỗ nào hả bạn. Mong bạn giúp mình với.
  • 1

#16 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 24 December 2011 - 12:47 PM

Bạn ơi bạn chỉ mình cách làm với. Mình đã copy đoạn lisp của bạn về sau đó load đã báo thành công nhưng khi mình gõ lệnh /chon(0) chọn layer o nhưng không được,, mình làm chưa đúng ở chỗ nào hả bạn. Mong bạn giúp mình với.

Ketxu hướng dẫn cho bạn nhưng bạn vẫn chưa hiểu. Tôi diễn tả cụ thể như sau:
- Load lisp.
- Đánh lệnh CHON vào command.
- Sau đó chọn đối tượng. Bạn có thể lấy vùng chọn tuỳ ý, nhưng chỉ những layer "0" nằm trong vùng mới được chọn.
- Chọn xong, lisp trả về tên tập hợp chọn, đồng thời grip lên các đối tượng để bạn dễ thấy.

(defun c:chon()
(cadr (sssetfirst nil (ssget '((8 . "0"))))))

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


#17 duythanhxda

duythanhxda

    Chưa sử dụng CAD

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

Đã gửi 20 March 2012 - 02:27 PM

Tại sao những việc đó bạn phải cần đến lisp vậy ^^ Các công cụ qselect, fi làm tốt mà. Còn nếu bạn cần thì đây ^^ Mình vídụ chọn layer 0

(defun c:chon()(sssetfirst nil (ssget "x" '((8 . "0")))))


Mình đã dùng lisp SCT và lisp CHON để scale tất cả hình tròn thành công và rất cảm ơn các bạn,rất hay và hữu ích..Nhưng cho mình hỏi là Lisp SCT chỉ scale hình tròn theo tâm của nó,vậy để làm tương tự với 1 hình khác như hình mũi tên thì làm thế nào..Bản vẽ của mình có rất nhiều mũi tên nhưng các mũi tên lại hơi to,giờ mình muốn tất cả các mũi tên đều nhỏ đi thì làm thế nào..Bạn nào giúp mình với.. Thanks !
  • 0

#18 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 20 March 2012 - 07:54 PM

Trên CV đã có lisp thu nhỏ kích thước mũi tên mình viết hồi trước, bạn search nhé
  • 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


#19 hatieu

hatieu

    biết vẽ pline

  • Advance Member
  • PipPip
  • 67 Bài viết
Điểm đánh giá: 13 (tàm tạm)

Đã gửi 26 May 2012 - 10:23 PM

Các cao thủ lisp giúp em lisp này với
- Gõ lệnh ko
- Chọn đối tượng thì các đối tượng được chọn về layer defpoint
Thanks!
  • 0
Công ty cổ phần đầu tư và xây dựng AGA
Chuyên tư vấn, cung cấp, thi công hệ vách dựng nhôm kính khổ lớn, cửa nhôm kính,
kính cường lực, vách ngăn, lan can, cầu thang kinh, lam nhôm chăn nắng.
Hot: 0984.985.119

#20 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 27 May 2012 - 08:04 AM

Các cao thủ lisp giúp em lisp này với
- Gõ lệnh ko
- Chọn đối tượng thì các đối tượng được chọn về layer defpoint
Thanks!

Tôi nhớ đã viết cái này 1 lần cho ai đó, nhưng giờ tìm không ra nên đành viết lại cho bạn.
Lisp chuyển các đối tượng được chọn về lớp "Defpoints".

;----------------------------- Thay tÊt c¶ ®èi t­îng ®­îc chän sang líp "Defpoints".
(defun C:HA()
(if (not (tblsearch "layer" "Defpoints")) (Command "layer" "N" "Defpoints" ""))
(princ "\nChon doi tuong...")
(setq entlst (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget)))))
(foreach ent entlst
(entmod (subst (cons 8 "Defpoints") (assoc 8 (entget ent)) (entget ent))))
(princ))

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