Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
Han Tinh

Lsp Thay Lệnh Open

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

Chào mọi người mình muốn dùng đoạn lisp để thay cho lệnh open của cad, mong moi người chỉ giúp

Mình viết như này nó không chạy được, không biết nó còn thiếu gì nữa: 

 

(defun C:opp ()

(command "open")
)
 
Sau khi gõ lệnh opp thì nó xuất hiện như hình này. 
 
127675_untitled_1.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

 

Chào mọi người mình muốn dùng đoạn lisp để thay cho lệnh open của cad, mong moi người chỉ giúp

Mình viết như này nó không chạy được, không biết nó còn thiếu gì nữa: 

 

(defun C:opp ()

(command "open")
)
 
Sau khi gõ lệnh opp thì nó xuất hiện như hình này. 
 
127675_untitled_1.jpg

 

Thix oai thì làm thế này :D :

(defun c:opp (/ sd fn) (vl-load-com)
(setq sd (getvar "SDI")) (setvar "SDI" 0)
(setq fn (getfiled "SELECT FILE" "" "dwg" 8))
(vla-activate (vla-open (vla-get-documents (vlax-get-acad-object)) fn))
(setvar "SDI" sd) (princ))

Muốn vào thẳng đường dẫn thì sữa : (setq fn (getfiled "SELECT FILE" "D:\\XXX\\BIEN PHAP THI CONG\\" "dwg" 8))

  • Vote tăng 3

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 để oai đâu bạn pphung183 ơi! Mình muốn mở nhiều bản vẽ cùng lúc thôi. Nhưng mình dùng lsp của bạn thì nó hiện lên hôp thoại như mình cần rồi, nhưng mình chon nhiều file để mở thì không được bạn giúp mình chỗ này vớ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

Không để oai đâu bạn pphung183 ơi! Mình muốn mở nhiều bản vẽ cùng lúc thôi. Nhưng mình dùng lsp của bạn thì nó hiện lên hôp thoại như mình cần rồi, nhưng mình chon nhiều file để mở thì không được bạn giúp mình chỗ này với

Bạn thử lsp này nhé! 

http://www.cadviet.com/upfiles/5/4652_testnil_1.lsp

 

 

  • 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

Không để oai đâu bạn pphung183 ơi! Mình muốn mở nhiều bản vẽ cùng lúc thôi. Nhưng mình dùng lsp của bạn thì nó hiện lên hôp thoại như mình cần rồi, nhưng mình chon nhiều file để mở thì không được bạn giúp mình chỗ này với

Nâng cấp 1 chút : Chọn 1 file bản vẽ sẽ mở tất cả các file có trong thư mục :

(muốn mở các file có chọn lọc thì xem cái lisp hoành tráng theo link bác TUE_NV đã post :)).

(defun c:opp (/ sd fn path lstfile) (vl-load-com)
(setq sd (getvar "SDI")) (setvar "SDI" 0)
(setq fn (getfiled "SELECT FILE" "" "dwg" 8))
(setq path (vl-filename-directory (findfile fn)))
(setq lstfile (vl-directory-files path "*.dwg") 
lstfile (vl-remove (getvar "dwgname") lstfile))
(foreach f lstfile (vla-open (vla-get-documents (vlax-get-acad-object)) 
(strcat path "\\" f)))
(setvar "SDI" sd) (princ))

  • 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

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  

×