Chuyển đến nội dung
Diễn đàn CADViet
Nguyen Hoanh

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

Các bài được khuyến nghị

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"))

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

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 đỡ.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
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))

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
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 !

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
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.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
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

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
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

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

×