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

vấn đề về lệnh tắt trong cad

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

các bác cho em hỏi là

1,từ 1 lệnh đầy đủ có cách nào biết lệnh tắt của nó là gì ko (mặc định của cad) vì em tìm trong file acad.pgp ở tool không thấy đâu( hỏi thêm là sao trong file .pgp đó có lệnh có có lệnh không là thế nòa ví dụ như lênh dimspace em tìm mãi mà không thấy)

2,khi em sd lệnh aliasedid để đặt lệnh tắt thì đã đc chưa vì em thấy các pác hay bảo vào sửa file .pgp ở trong tool,và sự giống và khác nhau ở 2 cách sửa này ntn,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

1. Chỉ có điều ngược lại :)

Các lệnh tắt mặc định thì đã được liệt kê trong pgp (và cui). Chú ý trong file lệnh tắt thì CAD mặc định đặt 1 số lệnh thôi, chứ đó không phải nơi để bạn tham khảo danh sách lệnh của CAD. Cần thiết thì hãy vào Hekp

2. Đã được (aliasedit). Sự khác nhau là sau khi sửa ở file acad.pgp và lưu lại, bạn phải khởi động lại CAD hoặc reinit -> Pgp thì lệnh tắt mới mới cập nhật , còn aliasedit (1 tiện ích của Express) đã tự động làm việc này rồi

  • Vote tăng 1

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

1. Chỉ có điều ngược lại :)

Các lệnh tắt mặc định thì đã được liệt kê trong pgp (và cui). Chú ý trong file lệnh tắt thì CAD mặc định đặt 1 số lệnh thôi, chứ đó không phải nơi để bạn tham khảo danh sách lệnh của CAD. Cần thiết thì hãy vào Hekp

2. Đã được (aliasedit). Sự khác nhau là sau khi sửa ở file acad.pgp và lưu lại, bạn phải khởi động lại CAD hoặc reinit -> Pgp thì lệnh tắt mới mới cập nhật , còn aliasedit (1 tiện ích của Express) đã tự động làm việc này rồi

hỏi thêm anh ketxu là cad sẽ ưu tiên nhận lệnh ở đâu. vd cùng 1 lệnh mà ở file acad.pgp và aliasedit lại khác nhau thì cad sẽ thực hiện theo bên nào.

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

Aliasedit chỉ là tiện ích giúp bạn ghi lệnh tắt vào file acad.pgp một cách gián tiếp, về bản chất thì cả 2 là 1. Và nguyên tắc vàng của CAD là cái nào vào sau nó ưu tiên cái đó ^^

  • Vote tăng 1

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

xin lỗi các pác vì góp ý ko đúng với topic chút nha :)

theo em thì mình nên tạo 1 cái lisp nhỏ gọn có tên là lệnh tắt

trong đó vd như

(defun c:c()

(command "copy")

)

...

...

như vậy tiện một cái là đi tới đâu mình chỉ việc load cái lisp đó là có một bảng lệnh tắt cho riêng mình, sẽ ko làm ảnh hưởng tới file pgp gốc (có thể là mình mượn máy ai xài mà lệnh tắt người ta ko giống với mình), cũng ko cần phải tạo lại mỗi khi cài lại Cad

các pác nghĩ sao?!

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

các bác ơi cho em hỏi: có cách nào để tạo 1 file word có nội dung là lệnh tắt và tạo 1 lisp có tên là LENHTAT để gọi bảng Lenhtat.doc, mục đích là viết tất cả những tên lệnh của mình có trong lisp hoặc là hướng dẫn thực hiện 1 lệnh trong lisp không a? vì đôi khi minh không nhớ hết tên lệnh mà mình đang có, mục đích ra sao nên em muốn tạo ra cai file Lenhtat.doc để nhặc lại cho mình. cảm ơn các anh rất nhiều!

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

các bác ơi cho em hỏi: có cách nào để tạo 1 file word có nội dung là lệnh tắt và tạo 1 lisp có tên là LENHTAT để gọi bảng Lenhtat.doc, mục đích là viết tất cả những tên lệnh của mình có trong lisp hoặc là hướng dẫn thực hiện 1 lệnh trong lisp không a? vì đôi khi minh không nhớ hết tên lệnh mà mình đang có, mục đích ra sao nên em muốn tạo ra cai file Lenhtat.doc để nhặc lại cho mình. cảm ơn các anh rất nhiều!

Có thể được. Nhưng cấu trúc file *.doc như thế nào?

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

VD: em muốn tạo 1 danh sách các lệnh tắt như sau:

 

BẢNG LỆNH TẮT

 

TÊN LỆNH --------------- MỤC ĐÍCH

AS ---------------Ghi diện tích trực tiếp vào đối tượng

AZ ---------------Ghi diện tích đè vào TEXT có sẵn

KT ---------------Ghi kích thước hàng loạt LINE

KT ---------------Ghi kích thước hàng loạt PLINE

………………………………………………………..

cảm ơn anh đã quan tâm!

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

Anh Ha giúp em với!

danh sách lệnh tắt viết bên Word bình thường và lưu lại, khi cần lệnh nào đó mà không nhớ lệnh tắt thì có thể gõ LENHTAT thì sẽ xuất hiện bảng lệnh tắt trong Word.

đây là file VD về lệnh tắt của em;

http://www.cadviet.com/upfiles/3/89068_bang_lenh_tat.doc

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

Anh Ha giúp em với!

danh sách lệnh tắt viết bên Word bình thường và lưu lại, khi cần lệnh nào đó mà không nhớ lệnh tắt thì có thể gõ LENHTAT thì sẽ xuất hiện bảng lệnh tắt trong Word.

đây là file VD về lệnh tắt của em;

http://www.cadviet.c...ng_lenh_tat.doc

Nhét luôn cái danh sách trong lisp nếu nó ko dài thì làm thế này.

 

(DEFUN c:bao (/ noidungtieude noidungthongbao noidungtacgia)

(setq noidungtieude "DANHSACH")

(setq noidungthongbao (strcat

"\n dong thong bao 1"

"\n dong thong bao 2"

"\n dong thong bao 3"

"\n dong thong bao 4"))

(setq noidungtacgia "\nVIET BOI ...")

(alert (strcat noidungtieude noidungthongbao noidungtacgia))

(princ)

)

 

Nếu nó dài thì làm lisp gọi nội dung file nhưng file txt thì mình mới gọi được.

  • Vote tăng 1

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

Anh Ha giúp em với!

danh sách lệnh tắt viết bên Word bình thường và lưu lại, khi cần lệnh nào đó mà không nhớ lệnh tắt thì có thể gõ LENHTAT thì sẽ xuất hiện bảng lệnh tắt trong Word.

Lisp mở file Word để xem.

Cách thứ 1:

;Doan Van Ha - CADViet.com - Ngay 01/6/2012
;Muc dich: mo 1 file Word co san.
;Cach thuc hien:
; - Tim vi tri file "Winword.exe", kem duong dan.
; - Tim vi tri file "*.doc" cua ban, kem duong dan.
; - Thay ca 2 ten file tim duoc vao dong code trong lisp.
; Vi du:
; - Vi tri file "Winword.exe" la: "C:/Program Files/Microsoft Office/Office12/Winword.exe"
; - Vi tri file "Test.doc" cua ban la: "D:/Test.doc"
; - Thay chung vao code lisp se duoc lisp mo file "Test.doc" nhu duoi day:
(defun C:HA1()
(startapp "C:/Program Files/Microsoft Office/Office12/Winword.exe" "D:/Test.doc"))

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

Lisp mở file Word để xem.

Cách thứ 2:

;Doan Van Ha - CADViet.com - Ngay 01/6/2012
;Muc dich: mo 1 file Word co san.
;Cach su dung:
;- Thay "Ten_File_kem_Path" bang ten File ban can mo de xem, vao lisp duoi day. Vi du "Ten_File_kem_Path" la "D:/LENTTAT.doc" chang han.
;- Neu File cua ban da Add vao "Support File Search Path" thi khong can kem Path.
;- Add lisp nay vao Statup Suite khi Load.
(defun C:HA2()
(setq Wapp (vlax-get-or-create-object "Word.Application"))
(vlax-invoke-method (vlax-get-property Wapp 'Documents) 'Open "Ten_File_kem_Path")
(vla-put-visible Wapp 1)
(vlax-release-object Wapp))

  • Vote tăng 1

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

cam ơn các anh, cảm ơn anh Ha. em đã làm được rồi. thế này thì có nhiều lệnh tắt cũng không cần bận tâm phải nhớ nhiều, chỉ cần gõ LENHTAT là nhớ hết :)

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

anh Ha ơi em chạy thử lần đầu thì ok, nhưng khi chạy lại thì gặp sự cố này khi chay thử lại lần 2

Command: HA2

; error: Automation Error. This file could not be found.

Try one or more of the following:

* Check the spelling of the name of the document.

(LENH TAT.doc)nt file name.

 

vậy là sao anh nhỉ?

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

anh Ha ơi em chạy thử lần đầu thì ok, nhưng khi chạy lại thì gặp sự cố này khi chay thử lại lần 2

Command: HA2

; error: Automation Error. This file could not be found.

Try one or more of the following:

* Check the spelling of the name of the document.

(LENH TAT.doc)nt file name.

vậy là sao anh nhỉ?

Liệu bạn có move nó khác path không? Tôi test lúc nào cũng OK.

  • Vote tăng 1

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

em đặt tên file là LENHTAT.doc và lưu trong support

em sửa phần tên file trong code cung như vậy, anh coi giúp em xem có bị sao không?

 

(defun C:HA2()

(setq Wapp (vlax-get-or-create-object "Word.Application"))

(vlax-invoke-method (vlax-get-property Wapp 'Documents) 'Open "LENHTAT.doc")

(vla-put-visible Wapp 1))

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

(defun C:HA2()

(setq Wapp (vlax-get-or-create-object "Word.Application"))

(vlax-invoke-method (vlax-get-property Wapp 'Documents) 'Open "C:/Program Files/AutoCAD 2004/Support/LENHTAT.doc")

(vla-put-visible Wapp 1))

 

FILE LENHTAT.doc em để theo đường dẫn đó cũng không được. em cung không hiểu là lần đầu tiên thì được, cón lần sau thì không được nữa

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 Hà chưa release nó sau khi dùng lisp ^^

 

@toiyeuvietnam :

- Nếu không nhớ lệnh (hay như trong ví dụ của bạn là các hàm viết bằng lisp), tại sao bạn không tạo menu, hoặc tạo Toolbar bằng lệnh CUI của CAD ?

- Nếu không rành tạo menu thì tạo Tool Palette

- Nếu đã dùng lisp gọi bảng lệnh thì nên làm theo gợi ý của bác Duy, không nên tốn chỗ cho 1 file lisp + 1 file txt list lệnh, ngoài ra khi gọi sang chương trình khác sẽ làm gián đoạn quá trình làm việc của bạn, bất kể là word hay txt thì sau đó cũng phải back ngược lại về CAD và đánh lệnh

Mình viết cho bạn 1 cái hiển thị bảng lệnh - hoặc lisp. Sau khi chọn lệnh bạn có thể ấn nút OK để CAD thực hiện lệnh đó luôn.

Cách thêm lệnh bạn xem trong code mình ghi chú rồi đó. Sau khi thêm các lệnh sẽ được sắp xếp theo thứ tự abc.

Bạn có thể đánh dòng ghi chú bằng tiếng việt không dấu, hoặc tiếng việt có dấu dạng TCVN3, hoặc Unicode Hexa (tìm tool convert trong các bài tiếng việt trong Lisp), tuyệt đối không đánh trực tiếp font Unicode

Ghichulenh.jpg


(defun c:lc(/ LM:ListBox str lstData ST:SendKeys)
(setq lstData
(acad_strlsort (list
;Viet tiep cac lenh vao duoi dong nay theo mau "Ten lenh Noi dung"
"Erase Xoa doi tuong"
"Copy Sao chep doi tuong"
"Mirror Lay doi xung"
"CO Copy th\U+00F4ng minh"
))
)
(defun ST:SendKeys (keys / ws)
(vlax-invoke-method (setq ws (vlax-create-object "WScript.Shell")) 'sendkeys keys)
(vlax-release-object ws)
(princ)
)
(defun LM:ListBox ( title data multiple / file tmp dch return )
(cond
(
(not
(and (setq file (open (setq tmp (vl-filename-mktemp nil nil ".dcl")) "w"))
(write-line
(strcat "listbox : dialog { label = \"" title
"\"; spacer; : list_box { key = \"list\"; multiple_select = "
(if multiple "true" "false") "; } spacer; ok_cancel;}"
)
file
)
(not (close file)) (< 0 (setq dch (load_dialog tmp))) (new_dialog "listbox" dch)
)
)
)
(
t
(start_list "list")
(mapcar 'add_list data) (end_list)

(setq return (set_tile "list" "0"))
(action_tile "list" "(setq return $value)")

(setq return
(if (= 1 (start_dialog))
(mapcar '(lambda ( x ) (nth x data)) (read (strcat "(" return ")")))
)
)
)
)
(if (< 0 dch) (unload_dialog dch))
(if (setq tmp (findfile tmp)) (vl-file-delete tmp))
return
)
(cond (
(setq str (LM:ListBox "Ghi ch\U+00FA l\U+1EC7nh - lisp CAD - @ketxu - 2/6/2012 :" lstData nil))
(setq str (car str))
(ST:SendKeys (strcat (substr str 1 (vl-string-position 32 str)) "\n"))
)
)
(princ)
)

 

  • Vote tăng 6

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

×