Đến nội dung


Hình ảnh
- - - - -

Lấy layer hiện hành


  • Please log in to reply
2 replies to this topic

#1 Phương Anh

Phương Anh

    biết vẽ line

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

Đã gửi 11 November 2009 - 09:47 AM

Nhờ các anh giúp em đoạn mã lấy lớp hiện hành và trả lại lớp đó ở trạng thái current sau khi thực hiện một lisp.
Cảm ơn các anh.
  • 0

#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 November 2009 - 10:29 AM

Nhờ các anh giúp em đoạn mã lấy lớp hiện hành và trả lại lớp đó ở trạng thái current sau khi thực hiện một lisp.
Cảm ơn các anh.

Chào Phương Anh.
Bạn sử dụng Code này thử nhé :

(defun c:lcur()
(setq str (getstring t "\n Nhap ten layer hoac Enter de pick vao doi tuong :"))
(if (= str "")
(progn
(while (null (setq e (entsel "\n pick vao doi tuong :"))))
(setvar "clayer" (cdr(assoc 8 (entget(car e)))))
)
(progn
(while (null (tblsearch "layer" str))
(setq str (getstring t "\n Nhap lai ten layer :"))
)
(setvar "clayer" str))
)

(princ)
)

  • 2

#3 gia_bach

gia_bach

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1432 Bài viết
Điểm đánh giá: 1425 (rất tốt)

Đã gửi 11 November 2009 - 11:18 AM

Nhờ các anh giúp em đoạn mã lấy lớp hiện hành và trả lại lớp đó ở trạng thái current sau khi thực hiện một lisp.
Cảm ơn các anh.

Bạn tham khảo Lisp sau :
(defun c:lcur(/ cur_lay)
(setq cur_lay (getvar "clayer" ));lay ten layer hien hanh
(princ (strcat "\nTen layer hien hanh : " cur_lay) )

; thuc hien mot lisp nao do.
; vd : tao layer co ten CadViet
(command "-layer" "n" "CadViet" "")

;tra ve ten layer hien hanh
(setvar "clayer" cur_lay)
(princ)
)

  • 4