Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
Đăng nhập để thực hiện theo  
amateurday

[Yêu cầu]Tự động load .DCL khi dùng lisp

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

amateurday    4

Em có vấn đề là khi đang mở rất nhiều bản vẽ, muốn dùng lisp chứa file .dcl, nhưng copy vào Support rồi tắt đi mở lại thì bất tiện quá. Vậy có cách nào load trực tiếp không các bác???

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
ketxu    2.649

File DCL copy vào support là được, k phải tắt đi mở lại. Nó là load trực tiếp chứ còn gián tiếp nào nữa

  • 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
amateurday    4

Thanks bác, thế có cách nào tích hợp thành 1 file hoặc tự động load mà không cần phải copy vào support không bác. Mỗi lần chuyển máy là em lại hay quên copy lắ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
ketxu    2.649

Dùng Vlide -> Make Application để tạo thành file vlx để có thể mang đi mọi nơi, hoặc viết code tự động add support tại vị trí file DCL, hoặc viết code tạo file DCL tạm ở vị trí cố định bạ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
Doan Van Ha    2.676

Bác cho em hỏi code nào để lấy được đường dẫn để load file dcl nằm cùng thư mục với lsp được không???

 

Nếu Win7, Vista

(defun LAST_LOAD1()
(setq path (vl-registry-read (strcat "HKEY_CURRENT_USER\\" (vlax-product-key) "\\Profiles\\" (vla-get-activeprofile (vla-get-profiles (vla-get-preferences (vlax-get-acad-object)))) "\\Dialogs\\Appload") "MainDialog"))
(if path (setq path (substr path 1 (- (strlen path) 1)))))

Nếu Win XP, 95, 98

(defun LAST_LOAD2( / K)
(setq K (strcat "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\" "CurrentVersion\\Explorer\\ComDlg32\\OpenSaveMRU\\*"))
(setq path (vl-registry-read K (substr (vl-registry-read K "MRUList") 1 1))))

Bạn test lại thử đúng không nhé!

  • 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
amateurday    4

Cái này dùng để lấy đường dẫn vừa mới load file lisp, không lấy được đường dẫn chứa file lisp thực hiện lệnh bác nhỉ. Thế này thì phải chuyển qua vlx rồi. Thanks các bác 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
ketxu    2.649

Cái này dùng để lấy đường dẫn vừa mới load file lisp, không lấy được đường dẫn chứa file lisp thực hiện lệnh bác nhỉ. Thế này thì phải chuyển qua vlx rồi. Thanks các bác nhiều.

 

:)) Kết hợp với các hàm add support path trên 4room có post rồi đó. Khi file lisp được load thì nó add thêm vô, và đương nhiên như thế file DCL nằm cùng vị trí sẽ được CAD ngó tới. Bạn cũng phải nhớ là cách này chỉ có tác dụng khi file được load bằng Lệnh 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
Doan Van Ha    2.676

Cái này dùng để lấy đường dẫn vừa mới load file lisp, không lấy được đường dẫn chứa file lisp thực hiện lệnh bác nhỉ. Thế này thì phải chuyển qua vlx rồi. Thanks các bác nhiều.

 

"không lấy được đường dẫn chứa file lisp thực hiện lệnh". Câu này tôi không hiểu. Tôi nghĩ không cần phải chuyển qua vlx vẫn có thể load được.

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
Tue_NV    3.841

 

"không lấy được đường dẫn chứa file lisp thực hiện lệnh". Câu này tôi không hiểu. Tôi nghĩ không cần phải chuyển qua vlx vẫn có thể load được.

Mình nghĩ ý của bạn amateur là : các file Lisp đã được Load lên rồi. Giờ muốn tìm file Lisp có chứa lệnh đó ở đâ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
Doan Van Ha    2.676

Mình nghĩ ý của bạn amateur là : các file Lisp đã được Load lên rồi. Giờ muốn tìm file Lisp có chứa lệnh đó ở đâu??

 

Chắc không phải như ý bác đâu. Bởi câu hỏi nguyên thuỷ của bạn ấy là:

Bác cho em hỏi code nào để lấy được đường dẫn để load file dcl nằm cùng thư mục với lsp được không???

Tôi nghĩ, với câu hỏi này và với code lấy path của file vừa load mà tôi post ở trên thì vấn đề này giải quyết được rồi. Chỉ cần viết thêm 1 đoạn code nữa là load được tất cả file nằm cùng thư mục với 1 file lisp và được load. Nhưng bạn ấy nói không phải vậy, thành ra tôi cũng không hiểu ý bạn ấy là sao bác à.

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
amateurday    4

Vâng, cách của bác Doan Van Ha cũng được, đó cũng là 1 cách, thêm 1 chút nữa thì OK hơn.

Ý bác Tue_NV đúng ý em rồi đó, em tìm rồi nhưng hình như là không làm được. Hình như giới hạn của lisp là ở đây thì phải.!!!

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
ketxu    2.649

Vâng, ý bác Tue_NV đúng ý em rồi đó, em tìm rồi nhưng hình như là không làm được. Hình như giới hạn của lisp là ở đây thì phải.!!!

:blush:

Không phù hợp với việc giải quyết yêu cầu của bạ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
amateurday    4

Bác ketxu nói quá rồi, em không thạo về lisp, em cũng tìm cái này nhưng chưa tìm ra, em cũng nghe nói lisp có một số giới hạn, nên em nghĩ thế thôi. Bác thông cảm em 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

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

Đăng nhập để thực hiện theo  

×