Đến nội dung


Hình ảnh
- - - - -

Nhờ viết lisp kết hợp 2 lệnh trong autocad


  • Please log in to reply
7 replies to this topic

#1 pawuta

pawuta

    biết lệnh move

  • Members
  • PipPipPip
  • 126 Bài viết
Điểm đánh giá: -12 (hơi kém)

Đã gửi 21 May 2015 - 11:07 PM

Nhờ mọi người viết giúp mình lisp xoay vòng các lệnh trong autocad, ví dụ lệnh như sau:

Gõ lệnh PP lần 1 để thực hiện lệnh "CLEANSCREENON", gõ PP lần 2 để thực hiện lệnh "CLEANSCREENOFF"

Còn các lệnh khác mình hay dùng thì mình có thể thay thế lệnh vào lisp sau cũng được. Mong mọi người giúp đỡ!

 


  • -1

#2 ndtnv

ndtnv

    biết lệnh minsert

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

Đã gửi 22 May 2015 - 07:34 AM

Các lệnh khác làm tương tự nếu system variable là READ ONLY

(defun C:PP ()
(vl-cmdf (nth (getvar "CLEANSCREENSTATE") '("CLEANSCREENON" "CLEANSCREENOFF"))))


  • 1

#3 pawuta

pawuta

    biết lệnh move

  • Members
  • PipPipPip
  • 126 Bài viết
Điểm đánh giá: -12 (hơi kém)

Đã gửi 22 May 2015 - 08:09 AM

Các lệnh khác làm tương tự nếu system variable là READ ONLY

(defun C:PP ()
(vl-cmdf (nth (getvar "CLEANSCREENSTATE") '("CLEANSCREENON" "CLEANSCREENOFF"))))

Thanks bạn nhiều nhé!


  • 0

#4 pawuta

pawuta

    biết lệnh move

  • Members
  • PipPipPip
  • 126 Bài viết
Điểm đánh giá: -12 (hơi kém)

Đã gửi 22 May 2015 - 08:18 AM

Cái này không đặt đươc cho lệnh PROPERTIES hả bạn?


  • 0

#5 ndtnv

ndtnv

    biết lệnh minsert

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

Đã gửi 22 May 2015 - 01:02 PM

Trường hợp này, OPMSTATE có 3 giá trị là 0, 1 và 2 nên để tránh lỗi dùng như sau:

(defun C:QQ ()(vl-cmdf (if (= (getvar "OPMSTATE")0) "PROPERTIES" "PROPERTIESCLOSE")))


  • 1

#6 pawuta

pawuta

    biết lệnh move

  • Members
  • PipPipPip
  • 126 Bài viết
Điểm đánh giá: -12 (hơi kém)

Đã gửi 25 May 2015 - 02:04 PM

Trường hợp này, OPMSTATE có 3 giá trị là 0, 1 và 2 nên để tránh lỗi dùng như sau:

(defun C:QQ ()(vl-cmdf (if (= (getvar "OPMSTATE")0) "PROPERTIES" "PROPERTIESCLOSE")))

Oh, tuyệt quá, thanks bạn nhiều nhé, làm sao để biết lệnh đó là thuộc .....STATE nào vậy bạn?


  • 0

#7 ndtnv

ndtnv

    biết lệnh minsert

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

Đã gửi 25 May 2015 - 03:28 PM

Đánh lệnh CUI, trong command list đánh các ký tự đầu của tên lệnh

Bấm nút > ở góc dưới phải

Trong ô macro là tên biến và 2 lệnh tương ứng

Lệnh trên có thể sửa lại cho giống thứ tự trong macro như sau

(defun C:QQ ()(vl-cmdf (if (> (getvar "OPMSTATE")0) "PROPERTIESCLOSE" "PROPERTIES")))

 

19626_cui.jpg


  • 1

#8 pawuta

pawuta

    biết lệnh move

  • Members
  • PipPipPip
  • 126 Bài viết
Điểm đánh giá: -12 (hơi kém)

Đã gửi 25 May 2015 - 05:50 PM

Đánh lệnh CUI, trong command list đánh các ký tự đầu của tên lệnh

Bấm nút > ở góc dưới phải

Trong ô macro là tên biến và 2 lệnh tương ứng

Lệnh trên có thể sửa lại cho giống thứ tự trong macro như sau

(defun C:QQ ()(vl-cmdf (if (> (getvar "OPMSTATE")0) "PROPERTIESCLOSE" "PROPERTIES")))

 

19626_cui.jpg

Oh, bạn rất nhiệt tình, cảm ơn bạn rất nhiều nhé!


  • 0