Đến nội dung


Hình ảnh
- - - - -

[Help] Nhờ Sửa Lisp


  • Please log in to reply
3 replies to this topic

#1 Trnghiado

Trnghiado

    biết vẽ arc

  • Members
  • PipPip
  • 43 Bài viết
Điểm đánh giá: -11 (hơi kém)

Đã gửi 29 November 2016 - 09:17 AM

Hi anh em trên diễn đàn, mình có thử làm đoạn mã sau để đổi màu đối tượng 

 

(defun c:a1 (/ m ss)
(command "undo" "be")
(princ "\nChon doi tuong muon doi mau:")
(setq ss (ssget))
(command "change" ss "" "P" "c" 1 "")
(command "undo" "end")
(princ)
)

 

Khi đánh lệnh trc rồi chọn đối tượng thì ok. Tuy nhiên nếu mình chọn đối tượng trc  rồi mới đánh lệnh thì lisp  ko hoạt động.

Vậy nhờ anh em sửa giúp để lisp có thể dùng đc cả 2 chiều như mình nói

Thanks anh em


  • 0

#2 gia_bach

gia_bach

    biết lệnh adcenter

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

Đã gửi 29 November 2016 - 09:54 AM

Hi anh em trên diễn đàn, mình có thử làm đoạn mã sau để đổi màu đối tượng 

 

(defun c:a1 (/ m ss)
(command "undo" "be")
(princ "\nChon doi tuong muon doi mau:")
(setq ss (ssget))
(command "change" ss "" "P" "c" 1 "")
(command "undo" "end")
(princ)
)

 

Khi đánh lệnh trc rồi chọn đối tượng thì ok. Tuy nhiên nếu mình chọn đối tượng trc  rồi mới đánh lệnh thì lisp  ko hoạt động.

Vậy nhờ anh em sửa giúp để lisp có thể dùng đc cả 2 chiều như mình nói

Thanks anh em

Không chính xác! Lisp vẫn hoạt đông, nhưng ... bỏ qua các đối tượng đã chọn trước đó ???

Thử lisp này xem sao:

(defun c:a1 (/ ss)
  (princ "\nChon doi tuong muon doi mau:")
  (if (setq ss (ssget"_:L"))
    (progn
      (command "undo" "be")
      (command "change" ss "" "P" "c" 1 "")
      (command "undo" "end")))
  (princ))

  • 1

#3 Danh Cong

Danh Cong

    biết lệnh linetype

  • Members
  • PipPipPipPip
  • 242 Bài viết
Điểm đánh giá: 40 (tàm tạm)

Đã gửi 29 November 2016 - 11:00 AM

Hi anh em trên diễn đàn, mình có thử làm đoạn mã sau để đổi màu đối tượng 

 

(defun c:a1 (/ m ss)
(command "undo" "be")
(princ "\nChon doi tuong muon doi mau:")
(setq ss (ssget))
(command "change" ss "" "P" "c" 1 "")
(command "undo" "end")
(princ)
)

 

Khi đánh lệnh trc rồi chọn đối tượng thì ok. Tuy nhiên nếu mình chọn đối tượng trc  rồi mới đánh lệnh thì lisp  ko hoạt động.

Vậy nhờ anh em sửa giúp để lisp có thể dùng đc cả 2 chiều như mình nói

Thanks anh em

 

Bỏ 2 code:  (command "undo" "be") và (command "undo" "end") là xài được thôi.  :) :)  :) 


  • 0

             ***  Vô lo - Vô nghĩ - Vô sầu hận  ***

***  Chẳng thương - Chẳng giận - Chẳng đau lòng  ***


#4 Trnghiado

Trnghiado

    biết vẽ arc

  • Members
  • PipPip
  • 43 Bài viết
Điểm đánh giá: -11 (hơi kém)

Đã gửi 29 November 2016 - 02:28 PM

 

Không chính xác! Lisp vẫn hoạt đông, nhưng ... bỏ qua các đối tượng đã chọn trước đó ???

Thử lisp này xem sao:

(defun c:a1 (/ ss)
  (princ "\nChon doi tuong muon doi mau:")
  (if (setq ss (ssget"_:L"))
    (progn
      (command "undo" "be")
      (command "change" ss "" "P" "c" 1 "")
      (command "undo" "end")))
  (princ))

ổn rồi , thanks bạn nhiều


  • 0