Đến nội dung


Hình ảnh
- - - - -

Cần một lisp liên quan đến việc tạo lớp


  • Please log in to reply
2 replies to this topic

#1 jimicuong

jimicuong

    biết pan

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

Đã gửi 31 July 2008 - 11:49 AM

Mình cần một lisp tạo lớp mà khi vẽ chỉ cần gọi bằng các phím tắt. Ví dụ như muốn sử dụng lớp số 1 thì mình chỉ cần ấn phím số 1 rồi nhấn Enter là dùng được lớp này. Cám ơn mọi người rất nhiều nhá.
  • 0

#2 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 July 2008 - 12:32 PM

Mình cần một lisp tạo lớp mà khi vẽ chỉ cần gọi bằng các phím tắt. Ví dụ như muốn sử dụng lớp số 1 thì mình chỉ cần ấn phím số 1 rồi nhấn Enter là dùng được lớp này. Cám ơn mọi người rất nhiều nhá.

Bạn xem ở đây:
http://www.cadviet.c...?showtopic=3997
  • 0

#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 31 July 2008 - 02:06 PM

Mình cần một lisp tạo lớp mà khi vẽ chỉ cần gọi bằng các phím tắt. Ví dụ như muốn sử dụng lớp số 1 thì mình chỉ cần ấn phím số 1 rồi nhấn Enter là dùng được lớp này. Cám ơn mọi người rất nhiều nhá.


Bạn thử dùng đoạn code này xem sao :
(defun c:LayerActive ( / name)
(PrintLayer)
(setq name (getstring "\nNhap ten Layer : "))
(if name
(progn
(if (not (tblsearch "layer" name)) ; k/t nếu bản vẽ chưa có Layer "name"
(command "-layer" "n" name "") ) ; tạo mới Layer "name"
(command "-layer" "s" name "") ; set active layer "name"
)
)
(princ)
)
;;; In tên các Layer hiện có trên bản vẽ
(defun PrintLayer (/ LayerList Table)
(while
(if (not LayerList)
(setq Table (tblnext "LAYER" 1))
(setq Table (tblnext "LAYER"))
)
(setq LayerList (cons (cdr (assoc 2 Table)) LayerList))
)
(setq LayerList (vl-sort LayerList '<))
(print LayerList)
)

  • 0