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

Cách tạo menu

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

Tui thay Lam Menu cho Autolisp khong kho, con de hon la viet Lisp ay chu.

Voi Cad 2007 tro len ban co the tu tao Menu moi cho minh cuc ky don gian.

Tu Cad2007

Command : CUI ---> Chon New menu ----> cu vao lam la biet lien, de ec.

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
<a href="http://www.cadviet.com/upfiles/ThuVien_ssg.rar" target="_blank">http://www.cadviet.com/upfiles/ThuVien_ssg.rar</a>

 

1) Unzip, copy cả thư mục ThuVien và file acad.lsp vào thư mục gốc của AutoCAD (nơi có file acad.exe).

2) Khởi động Acad, bạn sẽ có ngay cái mình muốn!

3) Xin góp ý thêm:

- Không cần lập quá nhiều file *.lsp và *.dcl. Có thể gom chúng lại cho gọn (toàn bộ nội dung chương trình của bạn đã được gom vào ThuVien.lsp và ThuVien.dcl)

- Lệnh chu_I bị lỗi, lúc chạy được lúc không (bạn tự sửa nhé?)

- Nhìn chung, lisp của bạn hơi dài dòng. Bạn nên chỉnh lý lại theo nguyên tắc:

NGẮN GỌN - RÕ RÀNG - SÚC TÍCH - HIỆU QUẢ

Chúc vui,

ssg

Anh có thể viết hộ e lisp này đc không?

E có 1 File là CadViet.mns ( (http://www.cadviet.com/upfiles/CadViet.mns)) Trong đó có 2pop là Thiết Kế và Chỉnh Sửa.Giờ e muốn khi e mở cad lên thì menu cadviet sẽ đưa cả 2pop đó của e lên.Giống như cái mà anh đã Post ấy nhưng không cần thực thi gì cả.Chỉ cần load menu lên cho e là đc!! E đã làm thử cái của anh và làm đc nhưng đến cái của e khi menu có 2pop thì e không làm đc. Giúp e với .E đang rất càn!!!!!!! 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
Anh có thể viết hộ e lisp này đc không?

E có 1 File là CadViet.mns ( (http://www.cadviet.com/upfiles/CadViet.mns)) Trong đó có 2pop là Thiết Kế và Chỉnh Sửa.Giờ e muốn khi e mở cad lên thì menu cadviet sẽ đưa cả 2pop đó của e lên.Giống như cái mà anh đã Post ấy nhưng không cần thực thi gì cả.Chỉ cần load menu lên cho e là đc!! E đã làm thử cái của anh và làm đc nhưng đến cái của e khi menu có 2pop thì e không làm đc. Giúp e với .E đang rất càn!!!!!!! Thanks

Lấy ví dụ Thuvien_ssg.rar hôm nọ nhé. Giả sử bạn muốn thêm THUVIEN2.

Thêm ở file Thuvien.mns:

 

***MENUGROUP=THUVIEN
***POP1
**THUVIEN

ID_ThuVien	[&THUVIEN]
ID_ChuI		[Chu I]^C^C_chu_I
ID_MatBich	[Mat bich]^C^C_holes

***POP2
**THUVIEN2

ID_ThuVien2	[&THUVIEN2]
ID_ChuI2		[Chu I2]^C^C_chu_I2
ID_MatBich2	[Mat bich2]^C^C_holes2

 

Thêm ở file Thuvien.lsp:

(defun ThuVien()
(if (not (menugroup "ThuVien")) (command "_menuload" (strcat (TVPath) "ThuVien.mns")))
(menucmd "P12=+ThuVien.pop1")
(menucmd "P13=+ThuVien.pop2")
)

 

Acad.lsp vẫn như 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

có nhiều vấn đề rất đơn giản mà chúng ta cứ hay ỉ lại vào người khác.

Hãy dùng chức năng tìm kíêm của windows, lôi ra file ACAD.MNS -->open = notepad

Rồi bạn ngắm qua cấu trúc của menu lệnh trong CAD..tập toẹ làm theo, quá đơn giản mà.

Cái quan trọng là tự mình làm thì mình hiểu bản chất và nhớ lâu :rolleyes:

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
Chưa hiêủ bác nói menu thu vien nào. nếu menu mà mình vừa tạo cho ông bạn tamhoncuada thì nó nằm trong thư mục chủ của ACAD. Có khi hệ thống tự dờinó vào mydocumen. DCL cứ gỏ tìm kiếm là thấy thôi mà.

Xóa hẳn bất cứmenu nào khỏi ACAD thì gỏ lệnh menuload chọn vào tên menu cần xóa chọn unload. đól2 cách thông thường. còn dùng lispthì cócách nhưng máy cơ quan đan mất mạng đang ngồi quánnet nên không chéplên cho bác được.

****File gicungduoc.mns để bất cứ chổ nào cũng dùnglệnh menuload goilên được hết khi gọi nó sẽ tạo thêm *.mnc và *.mnr trong thư mục mình chứa *.mns. Hôm nào thọ giáo bác chút DCL chứ mình toàn viết lisp không rành lắmvề DCL.

bác ơi em đã chót unload đi hết những cái menu mặc định của cad.giờ em muốn lấy lại thì làm thế nào vậy?

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
Không biết hôm nay bác đã làm dược menu chưa. Tôi chạy trên máy tôi thì rất ổn không biết bác lổi chổ nào.

Về tiện ích líp của bác thấy anh em góp ý nhiều nhưng tôi có ý thế này.

Dùng Líp là để cho tiện lợi nên bác cần cho con líp của bác chức năng sau:

Các giá trị đã nhập trong các ô thì nên lưu lại trong lần gọi lệnh sau người dùng muốn chỉnh gì thì chỉnh còn không thì cú thế mà vẽ tiếp. Chứ của bác cứ mổi lần gọi lệnh là lên giá trị mặc định miết nếu muốn vẽ lại cái i chang thi cũng phải phập lại toàn bộ trhông số không phù hợp.

Khi thông báo dử liệu không phù hợp thì nên cho hiện lại hộp thoại để điều chỉnh chứ không mất luôn như của bác hiện giờ.

bác DUY782006 ơi em load cái thư viện menu của bác về và cài lên rùi. giờ em muốn gỡ nó ra thì làm thế nào vậy?

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

Khả năng diển đạt của tôi kém nên tách ra trà lời bác lần lượt như sau:

*Vấn đề tự động load file lisp khi chạy CAD:

**Đối với CAD R14 thì phài viết 1 file như thế này:(trường hợp bác có file lisp là lenhmot.lsp và lenhhai.lsp nằm trong d:/tienich/lenh)

 

(load"d:/tienich/lenh/lenhmot")

(load"d:/itienich/lenh/lenhhai")

 

Lưu phần màu cam trên thành file tên là ACAD.LSP

Chép file này vào thư mục SUPPORT của CAD R14

 

**Đối với các CAD2+ thì lưu thành tên ACADDOC.LSP (các CAD đời mới còn có 1 cách khác đã có đề cập trên diển đàn này rồi bác tìm đọc)

 

Phần menu tôi sẻ viết rtrong phần sau

Em chưa rõ phần này lắm, các anh hướng dẫn chi tiết em với.

Giả sử em có 1 số lisp để trong thư mục C:\QKHS

Em muốn mỗi lần khởi động Cad lên nó tự load (Không dùng AP)

Em viết 1 file Lsp như các anh hướng dẫn tên là Acađoc.lsp rồi lưu vào Suport trong C:\Program Files\AutoCAD 2005\Support nhưng không được.

Nội dung file lisp:

(LOAD "C:/QKHS/DN_DCT.VLX")
(LOAD "C:/QKHS/BatchPrinter.VLX")
(LOAD "C:/QKHS/NHTKTNV2.VLX")
(LOAD "C:/QKHS/VOVE.VLX")
(LOAD "C:/QKHS/InBinhDo.VLX")
(LOAD "C:/QKHS/xdim.vlx")
(LOAD "C:/QKHS/RTL.lsp") 

Nhờ các anh chỉ giúp em.

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 chưa rõ phần này lắm, các anh hướng dẫn chi tiết em với.

Giả sử em có 1 số lisp để trong thư mục C:\QKHS

Em muốn mỗi lần khởi động Cad lên nó tự load (Không dùng AP)

Em viết 1 file Lsp như các anh hướng dẫn tên là Acađoc.lsp rồi lưu vào Suport trong C:\Program Files\AutoCAD 2005\Support nhưng không được.

Nội dung file lisp:

(LOAD "C:/QKHS/DN_DCT.VLX")
(LOAD "C:/QKHS/BatchPrinter.VLX")
(LOAD "C:/QKHS/NHTKTNV2.VLX")
(LOAD "C:/QKHS/VOVE.VLX")
(LOAD "C:/QKHS/InBinhDo.VLX")
(LOAD "C:/QKHS/xdim.vlx")
(LOAD "C:/QKHS/RTL.lsp") 

Nhờ các anh chỉ giúp em.

Bạn có thể làm theo cách này:

1. Load tất cả các file đó 1 lần.

2. Click vào Contents trong Startup suite và Add tất cả bản vẽ đã load. Lần sau, mở Acad ra thì nó tự Load.

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ó thể làm theo cách này:

1. Load tất cả các file đó 1 lần.

2. Click vào Contents trong Startup suite và Add tất cả bản vẽ đã load. Lần sau, mở Acad ra thì nó tự Load.

Vâng, cách đó em biết rồi, em muốn hỏi cách đặt File load lisp trong hệ thống cho nó tự load mỗi khi khởi động máy mà không cần AP.

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 chưa rõ phần này lắm, các anh hướng dẫn chi tiết em với.

Giả sử em có 1 số lisp để trong thư mục C:\QKHS

Em muốn mỗi lần khởi động Cad lên nó tự load (Không dùng AP)

Em viết 1 file Lsp như các anh hướng dẫn tên là Acađoc.lsp rồi lưu vào Suport trong C:\Program Files\AutoCAD 2005\Support nhưng không được.

Nội dung file lisp:

(LOAD "C:/QKHS/DN_DCT.VLX")
(LOAD "C:/QKHS/BatchPrinter.VLX")
(LOAD "C:/QKHS/NHTKTNV2.VLX")
(LOAD "C:/QKHS/VOVE.VLX")
(LOAD "C:/QKHS/InBinhDo.VLX")
(LOAD "C:/QKHS/xdim.vlx")
(LOAD "C:/QKHS/RTL.lsp") 

Nhờ các anh chỉ giúp em.

Sửa (bỏ dấu cách sau chử load, file *.lsp thì không cần ghi phần mở rộng) thành như sau:

(LOAD"C:/QKHS/DN_DCT.VLX")

(LOAD"C:/QKHS/BatchPrinter.VLX")

(LOAD"C:/QKHS/NHTKTNV2.VLX")

(LOAD"C:/QKHS/VOVE.VLX")

(LOAD"C:/QKHS/InBinhDo.VLX")

(LOAD"C:/QKHS/xdim.vlx")

(LOAD"C:/QKHS/RTL")

  • 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

Cảm ơn anh Quốc Duy nhiều. Em làm làm được rồi.

Bạn có thể sử dụng hàm autoload như trong help của autocad mô tả như sau:

 

(autoload filename cmdlist)

 

The first time a user enters a command specified in cmdlist, AutoCAD loads the application specified in filename, then continues the command.

 

Arguments

 

filename

 

A string specifying the .lsp file to be loaded when one of the commands defined by the cmdlist argument is entered at the Command prompt. If you omit the path from filename, AutoCAD looks for the file in the Support File Search Path.

cmdlist: A list of strings.

 

Return Values: nil

If you associate a command with filename and that command is not defined in the specified file, AutoCAD alerts you with an error message when you enter the command.

 

Examples

 

The following causes AutoCAD to load the bonusapp.lsp file the first time the APP1, APP2, or APP3 commands are entered at the Command prompt:

 

(autoload "BONUSAPP" '("APP1" "APP2" "APP3"))

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 tham khảo bản "nháp" CadViet Utility:

 

http://www.cadviet.com/forum/index.php?showtopic=374

 

Chỉ cần xem các chỗ có liên quan đến yêu cầu của bạn:

1) File acad.lsp

2) Cadviet01.lsp (xem phần đầu Prepare)

3) Cadviet.mns

 

Nếu chưa thông, ssg sẽ giải thích rõ hơn.

Command:
GOIMENU
SHELL
OS Command: copy D:Bi KipThu Vien_ Tran Viet Anh\TAOMENU.MNS
Command: DELAY Enter delay time (in milliseconds): 2000
Command: GOIMENU
Unknown command "GOIMENU".  Press F1 for help.
Command: _menuload
Enter name of customization file to load: TAOMENU.MNS
Enter name of customization file to load:
Enter name of customization file to load: *Cancel*
 
 
CHÀO BÁC, em có làm mấy file như trên, nhưng khi vào cad thì ko thấy hiện lên, mong bác và mọi người giúp đỡ.
dưới đây là những file do em tự viết.
còn ở trên là những dòng khi dưa file vào cad thì máy báo như vậy.
rất mong được mọi người giúp sức !!
em cảm ơn @

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


×