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

Tăng tốc (làm nhẹ) AutoCAD

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

Nhiều người sử dụng AutoCAD phiên bản mới trên các máy có cấu hình không cao. Hệ quả là máy sẽ giật và chậm.

Trong bài viết ACAD đời mới chạy trên máy đời cũ
Đã hướng dẫn cách làm nhẹ phần mềm AutoCAD, tuy nhiên, mỗi lần làm lại phải rà soát nhiều tên biến.

Lisp dưới đây với mục đích làm nhẹ AutoCAD bằng cách thay đổi các biến hệ thống, và thực hiện các lệnh để giảm bớt một số tính năng về hiển thị và quản lý trong AutoCAD nhưng về cơ bản không hạn chế các tính năng liên quan đến công việc của AutoCAD.


Các bạn lưu ý: chỉ cần appload file lisp 1 lần duy nhất (không cho vào mục khởi động Startup Suite) và không cần gọi lệnh.


(defun c:spa (/ svl cml rgl old x productkey)
(setq
svl '(
("DYNMODE" 0)
("QPMODE" 0)
("DRAWORDERCTL" 0)
("HPDLGMODE" 1)
("UCSDETECT" 0)
("LAYERDLGMODE" 0)
("ROLLOVERTIPS" 0)
("SELECTIONCYCLING" 0)
("LAYERDLGMODE" 0)
("HPQUICKPREVIEW" 0)
("NAVVCUBEDISPLAY" 0)
("NAVBARDISPLAY" 0)
("INDEXCTL" 3)
("GRIPOBJLIMIT" 0)
("SIGWARN" 0)
("SELECTIONAREA" 0)
("MAXACTVP" 5)
("VTENABLE" 0)
("COMMANDPREVIEW" 0)
("SELECTIONPREVIEW" 0)
)

cml '(
(".IMAGEQUALITY" "DRAFT")
(".VIEWRES" "Y" "200")
)

rgl '(
("InfoCenter" "InfoCenterOn" 0)
)
)

(vl-load-com)
(setq
old (getvar "cmdecho")
productkey (if vlax-user-product-key (vlax-user-product-key) (if vlax-product-key (vlax-product-key) nil))
)

(setvar "cmdecho" 0)
(foreach x svl (vl-catch-all-apply 'setvar x))
(foreach x cml (mapcar 'command x))
(if productkey
(foreach x rgl
(vl-registry-write
(strcat
"HKEY_CURRENT_USER"
(chr 92)
productkey
(chr 92)
(nth 0 x)
)
(nth 1 x)
(nth 2 x)
)
)
)

(setvar "cmdecho" old)
(alert
"\u+0110\u+00E3 ho\u+00E0n t\u+1EA5t thi\u+1EBFt l\u+1EADp \u+0111\u+1EC3 AutoCAD nh\u+1EB9 h\u+01A1n\nB\u+1EA1n \u+0111\u+00E3 c\u+00F3 th\u+1EC3 s\u+1EED d\u+1EE5ng AutoCAD nh\u+1EB9 h\u+01A1n m\u+00E0 kh\u+00F4ng c\u+1EA7n l\u+00E0m th\u+00EAm g\u+00EC n\u+1EEFa."
)

(princ)
)

(c:spa)


___________________________________________________
Hỏi đáp thường gặp
Hỏi: Lisp này có rút ngắn thời gian khởi động không?
Trả lời: Lisp không rút ngắn thời gian khởi động, Lisp chỉ làm nhẹ thao tác vẽ của cad.

Hỏi: Lisp này hữu ích cho những AutoCAD phiên bản nào
Trả lời: Lisp chỉ có tác dụng với cad đời từ 2009 trở lên, ACAD 2008 trở xuống không có tác dụng.

Hỏi: Tôi phải load lisp này mỗi khi AutoCAD chạy hay chỉ cần chạy 1 lần duy nhất?
Trả lời: Bạn chỉ cần chạy 1 lần duy nhất vì lisp này tinh chỉnh cấu hình hệ thống, và lưu lại luôn.
___________________________________________________
Lịch sử các cập nhật:
2015-02-23:
- Phiên bản đầu
2015-02-27:
- Fix lỗi vlax-user-productkey
- Tự động chạy luôn mà không cần phải gọi SPA
2015-03-02:
- Fix lỗi chưa có biến hệ thống trên các phiên bản ACAD đời cũ
2015-03-23:
- Gỡ LWDISPLAY, PALETTEOPAQUE ra khỏi danh sách biến hệ thống
2015-08-27:
- Thêm COMMANDPREVIEW vào danh sách biến hệ thống
- Thêm (vl-load-com) vào code
2015-09-22:
- Sửa lại viewres về 200
2015-09-28:
- Thêm SELECTIONPREVIEW vào danh sách biến hệ thống
2015-10-08:
- Fix lỗi no function definition: VLAX-PRODUCTKEY
2015-10-20:
- Fix lỗi no function definition: VLAX-PRODUCTKEY lần 2
- Bẫy lỗi setvar
___________________________________________________
  • Vote tăng 17

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 vừa thử trên acad 2012, kết quả như sau: Command: ap APPLOAD spa.lsp successfully loaded.  Command: SPA; error: no function definition: VLAX-USER-PRODUCT-KE. Bác Nguyen Hoanh xem 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

Hàm VLAX-USER-PRODUCT-KEY chỉ có từ Cad2013. Chắc bạn đang dùng Cad thấp hơn?

Bạn thử thay VLAX-USER-PRODUCT-KEY bởi VLAX-PRODUCT-KEY xem sao.

  • 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 vừa thử trên acad 2012, kết quả như sau: Command: ap APPLOAD spa.lsp successfully loaded.  Command: SPA; error: no function definition: VLAX-USER-PRODUCT-KE. Bác Nguyen Hoanh xem thế nào.

Đã fix lỗi, bạn thử lại xem được chưa 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

Em vừa thử trên cad 2014, chưa biết thế nào nhưng thời gian khởi động giảm đáng kể.

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

mình dùng acad 2010 thì bị lỗi:

Command: ap APPLOAD spa.lsp successfully loaded.
Command: ; error: AutoCAD variable setting rejected: "HPDLGMODE" 1

 

Bác Hoành xem lại 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

mình dùng acad 2010 thì bị lỗi:

Command: ap APPLOAD spa.lsp successfully loaded.

Command: ; error: AutoCAD variable setting rejected: "HPDLGMODE" 1

 

Bác Hoành xem lại giúp

Đã fix,

bạn thử lại xem được chưa 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

Bác Hoành cho em hỏi, thực hiện lệnh SPA 1 lần, các biến hệ thống có được lưu lại cho các lần khởi động Cad tiếp theo hay vẫn phải gọi lại lệnh nếu muốn cad nhẹ hơn ở các lần khởi động sau. 

- Nếu em muốn đưa về cài đặt mặc định thì làm tn?

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

 Command: spa ; error: no function definition: VLAX-PRODUCT-KEY

 

lỗi của em đó bác Hoành ạ, cad2012

Tuy báo lỗi nhưng vẫn thấy có tác động của lệnh vào pm

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

Nhiều người sử dụng AutoCAD phiên bản mới trên các máy có cấu hình không cao. Hệ quả là máy sẽ giật và chậm.

 

Trong bài viết ACAD đời mới chạy trên máy đời cũ

Đã hướng dẫn cách làm nhẹ phần mềm AutoCAD, tuy nhiên, mỗi lần làm lại phải rà soát nhiều tên biến.

 

Lisp dưới đây với mục đích làm nhẹ AutoCAD bằng cách thay đổi các biến hệ thống, và thực hiện các lệnh để giảm bớt một số tính năng về hiển thị và quản lý trong AutoCAD nhưng về cơ bản không hạn chế các tính năng liên quan đến công việc của AutoCAD.

 

Tên lệnh là SPA (Speed uP Autocad), tuy nhiên chỉ cần appload file lisp 1 lần duy nhất mà không cần gọi lệnh.

 


(defun c:spa ( / svl cml rgl old x)

(setq

svl '(

("DYNMODE" . 0)

("QPMODE" . 0)

("DRAWORDERCTL" . 0)

("HPDLGMODE" . 1)

("UCSDETECT" . 0)

("LAYERDLGMODE" . 0)

("ROLLOVERTIPS" . 0)

("SELECTIONCYCLING" . 0)

("LAYERDLGMODE" . 0)

("HPQUICKPREVIEW" . 0)

("NAVVCUBEDISPLAY" . 0)

("NAVBARDISPLAY" . 0)

("INDEXCTL" . 3)

("GRIPOBJLIMIT" . 0)

("SIGWARN" . 0)

("PALETTEOPAQUE" . 1)

("SELECTIONAREA" . 0)

("MAXACTVP" . 5)

("LWDISPLAY" . 0)

("VTENABLE" . 0)

)

 

cml '(

(".IMAGEQUALITY" "DRAFT")

(".VIEWRES" "Y" "20")

)

 

rgl '(

("InfoCenter" "InfoCenterOn" 0)

)

)

 

(setq old (getvar "cmdecho"))

(setvar "cmdecho" 0)

(foreach x svl (if (getvar (car x)) (setvar (car x) (cdr x))))

(foreach x cml (mapcar 'command x))

(foreach x rgl (vl-registry-write (strcat "HKEY_CURRENT_USER" (chr 92) (if vlax-user-product-key (vlax-user-product-key) (vlax-product-key)) (chr 92) (nth 0 x)) (nth 1 x) (nth 2 x)))

(setvar "cmdecho" old)

(alert "\u+0110\u+00E3 ho\u+00E0n t\u+1EA5t thi\u+1EBFt l\u+1EADp \u+0111\u+1EC3 AutoCAD nh\u+1EB9 h\u+01A1n\nB\u+1EA1n \u+0111\u+00E3 c\u+00F3 th\u+1EC3 s\u+1EED d\u+1EE5ng AutoCAD nh\u+1EB9 h\u+01A1n m\u+00E0 kh\u+00F4ng c\u+1EA7n l\u+00E0m th\u+00EAm g\u+00EC n\u+1EEFa.")

(princ)

)

(c:spa)

 

--------------------

Lịch sử các cập nhật:

2015-02-23:

- Phiên bản đầu

2015-02-27:

- Fix lỗi vlax-user-productkey

- Tự động chạy luôn mà không cần phải gọi SPA

2015-03-02:

- Fix lỗi chưa có biến hệ thống trên các phiên bản ACAD đời cũ

 

Mình dùng CAD 2010 nhưng bị lỗi sau. bạn xem lại nhé

9928_loi_lisp_lam_nhe_cad.jpg

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

ở trên toàn dùng các phiên bản cad mới thôi, e muốn dùng cho cad 2007 thì có được ko bác

và nếu cad dùng được thì áp dụng vào phần mềm thiết kế đường (chạy trên nền cad 2007) thì có bị ảnh hưởng gì đến đối tượng cad ko ah

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ó vẻ như kg có tác dụng lắm. Mình sd dụng trên win 7 và xp.

Trên win 7 mở cad 2010-2013 lần đầu mất khoảng 30-45'' (máy mình yếu), từ lần 2 trở đi (ngay sau đó) nhanh hơn khoảng 5-10''. Sau khi chạy lisp trên vẫn kg cải thiện lắm.

Trên win xp lần đầu cũng khoảng thời gian như trên. lần 2 trở đi mất khoảng 4-7'' (từ lần 2 win xp chạy nhanh hơn win 7, mình chưa hiểu cơ chế nào lại như vậy mặc dù trên xp mình cài nhiều CT hơn trên win 7) . Sau khi chạy lisp trên vẫn thế.

Nói chung phải khởi động lại máy thì thấy có vẽ vẫn kg thay đổi lắm.

  • 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ác bạn lưu ý:

1. Lisp chỉ làm nhẹ thao tác vẽ của cad, không rút ngắn thời gian khởi động.

2. Lisp chỉ có tác dụng với cad đời mới, cad 2008 trở xuống không có tác dụng.

  • Vote tăng 2

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

Nhiều người sử dụng AutoCAD phiên bản mới trên các máy có cấu hình không cao. Hệ quả là máy sẽ giật và chậm.

 

Trong bài viết ACAD đời mới chạy trên máy đời cũ

Đã hướng dẫn cách làm nhẹ phần mềm AutoCAD, tuy nhiên, mỗi lần làm lại phải rà soát nhiều tên biến.

 

Lisp dưới đây với mục đích làm nhẹ AutoCAD bằng cách thay đổi các biến hệ thống, và thực hiện các lệnh để giảm bớt một số tính năng về hiển thị và quản lý trong AutoCAD nhưng về cơ bản không hạn chế các tính năng liên quan đến công việc của AutoCAD.

 

Tên lệnh là SPA (Speed uP Autocad), tuy nhiên chỉ cần appload file lisp 1 lần duy nhất mà không cần gọi lệnh.

 


(defun c:spa ( / svl cml rgl old x)

(setq

svl '(

("DYNMODE" . 0)

("QPMODE" . 0)

("DRAWORDERCTL" . 0)

("HPDLGMODE" . 1)

("UCSDETECT" . 0)

("LAYERDLGMODE" . 0)

("ROLLOVERTIPS" . 0)

("SELECTIONCYCLING" . 0)

("LAYERDLGMODE" . 0)

("HPQUICKPREVIEW" . 0)

("NAVVCUBEDISPLAY" . 0)

("NAVBARDISPLAY" . 0)

("INDEXCTL" . 3)

("GRIPOBJLIMIT" . 0)

("SIGWARN" . 0)

("SELECTIONAREA" . 0)

("MAXACTVP" . 5)

("VTENABLE" . 0)

)

 

cml '(

(".IMAGEQUALITY" "DRAFT")

(".VIEWRES" "Y" "20")

)

 

rgl '(

("InfoCenter" "InfoCenterOn" 0)

)

)

 

(setq old (getvar "cmdecho"))

(setvar "cmdecho" 0)

(foreach x svl (if (getvar (car x)) (setvar (car x) (cdr x))))

(foreach x cml (mapcar 'command x))

(foreach x rgl (vl-registry-write (strcat "HKEY_CURRENT_USER" (chr 92) (if vlax-user-product-key (vlax-user-product-key) (vlax-product-key)) (chr 92) (nth 0 x)) (nth 1 x) (nth 2 x)))

(setvar "cmdecho" old)

(alert "\u+0110\u+00E3 ho\u+00E0n t\u+1EA5t thi\u+1EBFt l\u+1EADp \u+0111\u+1EC3 AutoCAD nh\u+1EB9 h\u+01A1n\nB\u+1EA1n \u+0111\u+00E3 c\u+00F3 th\u+1EC3 s\u+1EED d\u+1EE5ng AutoCAD nh\u+1EB9 h\u+01A1n m\u+00E0 kh\u+00F4ng c\u+1EA7n l\u+00E0m th\u+00EAm g\u+00EC n\u+1EEFa.")

(princ)

)

(c:spa)

 

--------------------

Lịch sử các cập nhật:

2015-02-23:

- Phiên bản đầu

2015-02-27:

- Fix lỗi vlax-user-productkey

- Tự động chạy luôn mà không cần phải gọi SPA

2015-03-02:

- Fix lỗi chưa có biến hệ thống trên các phiên bản ACAD đời cũ

2015-03-23:

- Gỡ LWDISPLAY, PALETTEOPAQUE ra khỏi danh sách biến hệ thống

Mình dùng cad 2010 64bit vẫn bị lỗi, bác Hoành kiểm tra giúp nhé. Thank!

http://www.cadviet.com/upfiles/4/21668_

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


×