Đến nội dung


Hình ảnh
- - - - -

Đang viết lisp gọi lệnh Express


  • Please log in to reply
8 replies to this topic

#1 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 28 August 2007 - 03:00 PM

Em lại phải nhờ cậy Bác giúp đỡ:
Em đang tập viết một lisp để ghi lại các lệnt tắt trong cad cho riêng em nhưng có một vấn để xảy ra.
Em viết lệnh tắt cho các lệnh trong cad thì không vấn để gì nhưng khi lệnh tắt nằm trong mục mở rộng Express thì không được. Ví dụ cụ thể như sau:
(defun c:q1() (command ".layiso"))
(defun c:q2() (command ".layoff"))
(defun c:q3() (command ".layuniso"))
(defun c:q4() (command ".layon"))
Khi gõ q1 thì cad thông báo: .layiso Unknown command "LAYISO". Press F1 for help.
Command: nil
Nhưng nếu gõ layiso trực tiếp thì Cad lại hiểu ngay: Command: layiso
Initializing...
Select object(s) on the layer(s) to be isolated:
Không hiểu các bro có thể giúp đỡ em làm cách nào để giải quyết vấn để này không?
Lưu ý là chỉ các lệnh trong Express thì Cad mới không hiểu thôi còn các lệnh có sẵn trong Cad thì không vấn đề gì.
Chứ không thì mỗi khi sang làm máy khác lại phải mất công làm lại lệnh tắt thì lâu quá.
Cảm ơn Bác đã giành thời gian giúp đỡ.


Bạn có nhìn thấy chữ 'Initializing...' không?
đó chính là lúc Express load các lệnh này lên.
Nếu bạn đã dùng lệnh layiso 1 lần rồi thì lệnh q1 của bạn sẽ chạy ngon lành.
Để không phải chạy lệnh iso lần nào cả, bạn hãy dùng lệnh
EXPRESSTOOLS trong file acettest.fas trước khi các lệnh của bạn được thực thi.

Như vậy, bạn sẽ phải thêm đoạn mã trước các dòng lệnh defun của bạn. Để trở thành:
(load "acettest.fas")
(c:expresstools)

(defun c:q1() (command ".layiso"))
(defun c:q2() (command ".layoff"))
(defun c:q3() (command ".layuniso"))
(defun c:q4() (command ".layon"))
  • 0

#2 huutruongdt123

huutruongdt123

    biết zoom

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

Đã gửi 29 August 2007 - 10:00 AM

Bác Hoành ơi em đã làm như Bác bảo rồi nhưng Cad vẫn báo lỗi nhũ cũ. Không biết có phải do em đang dùng Cad 2004 không??
Command: q1
.layiso Unknown command "LAYISO". Press F1 for help.
Command: nil
ngay cả khi em vừa dùng xong lệnh "layiso" ngon lành thì khi gõ "q1" Cad vẫn báo lỗi như trên.
Mong Bác tiếp tục giúp đỡ.
  • 0

#3 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 29 August 2007 - 10:06 AM

Bác Hoành ơi em đã làm như Bác bảo rồi nhưng Cad vẫn báo lỗi nhũ cũ. Không biết có phải do em đang dùng Cad 2004 không??
Command: q1
.layiso Unknown command "LAYISO". Press F1 for help.
Command: nil
ngay cả khi em vừa dùng xong lệnh "layiso" ngon lành thì khi gõ "q1" Cad vẫn báo lỗi như trên.
Mong Bác tiếp tục giúp đỡ.

Tôi dùng ACAD 2007 & 2008 thấy không có vấn đề gì.
Bạn thử dùng theo mã dưới đây xem có cải thiện được gì không?
(load "acettest.fas")
(c:expresstools)
(defun c:q1() (c:layiso))
(defun c:q2() (c:layoff))
(defun c:q3() (c:layuniso))
(defun c:q4() (c:layon))
  • 0

#4 huutruongdt123

huutruongdt123

    biết zoom

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

Đã gửi 30 August 2007 - 08:27 AM

Cảm ơn Bác Hoành nhé.
Làm như Bác lần này em thấy OK rồi.
Cad chạy tốt ngay. :unsure:
  • 0

#5 nobitapm

nobitapm

    biết zoom

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

Đã gửi 18 April 2008 - 03:03 PM

Tôi dùng ACAD 2007 & 2008 thấy không có vấn đề gì.
Bạn thử dùng theo mã dưới đây xem có cải thiện được gì không?
(load "acettest.fas")
(c:expresstools)
(defun c:q1() (c:layiso))
(defun c:q2() (c:layoff))
(defun c:q3() (c:layuniso))
(defun c:q4() (c:layon))




Bác cho em hỏi là khi mà load Expresstools thì phải chờ hơi lâu. không biết có cách nào cho nó load lẹ hơn k ta ! Thanks các bác quan tâm đến e !
  • 0

#6 0983329677

0983329677

    biết pan

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

Đã gửi 06 June 2008 - 03:21 PM

Tôi dùng ACAD 2007 & 2008 thấy không có vấn đề gì.
Bạn thử dùng theo mã dưới đây xem có cải thiện được gì không?
(load "acettest.fas")
(c:expresstools)
(defun c:q1() (c:layiso))
(defun c:q2() (c:layoff))
(defun c:q3() (c:layuniso))
(defun c:q4() (c:layon))


Tôi muốn dùng lisp để dùng lệnh Rtext trong Express nhưng không được mong bạn chỉ giúp. Thank.
  • 0

#7 0983329677

0983329677

    biết pan

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

Đã gửi 06 June 2008 - 03:25 PM

Bạn có nhìn thấy chữ 'Initializing...' không?
đó chính là lúc Express load các lệnh này lên.
Nếu bạn đã dùng lệnh layiso 1 lần rồi thì lệnh q1 của bạn sẽ chạy ngon lành.
Để không phải chạy lệnh iso lần nào cả, bạn hãy dùng lệnh
EXPRESSTOOLS trong file acettest.fas trước khi các lệnh của bạn được thực thi.

Như vậy, bạn sẽ phải thêm đoạn mã trước các dòng lệnh defun của bạn. Để trở thành:
(load "acettest.fas")
(c:expresstools)

(defun c:q1() (command ".layiso"))
(defun c:q2() (command ".layoff"))
(defun c:q3() (command ".layuniso"))
(defun c:q4() (command ".layon"))


Đơn giản nhất là sửa trong acad.pgp
  • 0

#8 hugo007

hugo007

    biết lệnh erase

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

Đã gửi 09 May 2010 - 09:56 PM

Bạn có nhìn thấy chữ 'Initializing...' không?
đó chính là lúc Express load các lệnh này lên.
Nếu bạn đã dùng lệnh layiso 1 lần rồi thì lệnh q1 của bạn sẽ chạy ngon lành.
Để không phải chạy lệnh iso lần nào cả, bạn hãy dùng lệnh
EXPRESSTOOLS trong file acettest.fas trước khi các lệnh của bạn được thực thi.

Như vậy, bạn sẽ phải thêm đoạn mã trước các dòng lệnh defun của bạn. Để trở thành:
(load "acettest.fas")
(c:expresstools)

(defun c:q1() (command ".layiso"))
(defun c:q2() (command ".layoff"))
(defun c:q3() (command ".layuniso"))
(defun c:q4() (command ".layon"))

Bác hoành ơi,sao làm như bác chỉ nếu dùng để load lệnh dimstyle và ddptyle không được vậy?Mong tin bác.thanks
  • 0

#9 hugo007

hugo007

    biết lệnh erase

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

Đã gửi 10 May 2010 - 10:30 PM

Không ai trả lời giùm mình sao.????
  • 0