Đến nội dung


Hình ảnh
- - - - -

Truy cập ent


  • Please log in to reply
3 replies to this topic

#1 tchinh371

tchinh371

    biết zoom

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

Đã gửi 04 August 2008 - 09:36 PM

Em có dòng lệnh lisp sau (dùng để lấy màu của đối tượng):

Command: (cdr (assoc 62 (entget (ssname (ssget) 0))))
Select objects: 1 found
Select objects: 3

Đây là đối tượng có màu là màu tự chọn, đến khi em chọn đối tượng có màu là "by layer' thì dòng lệnh trên dùng không được:

Command: (cdr (assoc 62 (entget (ssname (ssget) 0))))
Select objects: 1 found
Select objects: nil

Vậy làm sao để trích xuất số màu của đối tượng có màu là "by layer" vậy các Bác? Mong được chỉ giáo thêm!
  • 0
""AutoCAD đã có công tạo LISP, chúng ta hãy cùng nhau phát triển LISP"

#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 04 August 2008 - 10:38 PM

Em có dòng lệnh lisp sau (dùng để lấy màu của đối tượng):

Command: (cdr (assoc 62 (entget (ssname (ssget) 0))))
Select objects: 1 found
Select objects: 3

Đây là đối tượng có màu là màu tự chọn, đến khi em chọn đối tượng có màu là "by layer' thì dòng lệnh trên dùng không được:

Command: (cdr (assoc 62 (entget (ssname (ssget) 0))))
Select objects: 1 found
Select objects: nil

Vậy làm sao để trích xuất số màu của đối tượng có màu là "by layer" vậy các Bác? Mong được chỉ giáo thêm!

by layer = 256
  • 0

#3 tchinh371

tchinh371

    biết zoom

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

Đã gửi 07 August 2008 - 11:33 PM

by layer = 256


Không dùng được tham số 256 này rồi Bác Hoanh oi...... Có các nào khác không?
VD: Màu của layer "tuong trong" là màu 56. Vậy khi ta dùng lisp chọn đối tượng có màu "by layer" thuộc layer "tuong trong" phài ra kết quà là 56 đó. Em phải làm sao đây???
  • 0
""AutoCAD đã có công tạo LISP, chúng ta hãy cùng nhau phát triển LISP"

#4 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 07 August 2008 - 11:59 PM

Không dùng được tham số 256 này rồi Bác Hoanh oi...... Có các nào khác không?
VD: Màu của layer "tuong trong" là màu 56. Vậy khi ta dùng lisp chọn đối tượng có màu "by layer" thuộc layer "tuong trong" phài ra kết quà là 56 đó. Em phải làm sao đây???

Lệnh maucuadoituong dưới đây sẽ trả về màu của đối tượng mà bạn nhìn thấy trên màn hình:

(defun maucuadoituong (ent)
(setq tt (entget ent)
chon (assoc 62 tt)
)
(cond
(chon (cdr chon))
(t (cdr (assoc 62 (tblsearch "layer" (cdr (assoc 8 tt))))))
)
)

  • 1