Đến nội dung


Hình ảnh

[ nhờ giúp ] hướng dẫn add file *.dll


  • Please log in to reply
10 replies to this topic

#1 hakhoailang

hakhoailang

    biết lệnh rotate

  • Members
  • PipPipPip
  • 132 Bài viết
Điểm đánh giá: 2 (bình thường)

Đã gửi 08 September 2012 - 08:53 PM

e có môt số file của net và chỉ biết dùng lệnh NETLOAD để gọi nó ra dùng , rất mất công , mỗi lần mở cad lại phải gọi bằng lệnh đó .
các bác có thể hướng dẫn e add cứng nó như kiểu add lisp để dùng luôn ko phải gọi lại mỗi lần sau khi mở cad ko ?
chân thành cảm ơn các bác !
  • 0

#2 xaydungit.vn

xaydungit.vn

    biết vẽ arc

  • Members
  • PipPip
  • 48 Bài viết
Điểm đánh giá: 54 (tàm tạm)

Đã gửi 08 September 2012 - 09:13 PM

e có môt số file của net và chỉ biết dùng lệnh NETLOAD để gọi nó ra dùng , rất mất công , mỗi lần mở cad lại phải gọi bằng lệnh đó .
các bác có thể hướng dẫn e add cứng nó như kiểu add lisp để dùng luôn ko phải gọi lại mỗi lần sau khi mở cad ko ?
chân thành cảm ơn các bác !

Mình thường làm thế này, có thể load *.dll và thay đổi lệnh XDIT(trong dll) thành XD



(if (setq fil (findfile "C:\\XDIT\\XDIT.dll")) (command "_.netLoad" fil) )
(defun C:XD()
(command "netrun" "XDIT")
)

  • 1

#3 hakhoailang

hakhoailang

    biết lệnh rotate

  • Members
  • PipPipPip
  • 132 Bài viết
Điểm đánh giá: 2 (bình thường)

Đã gửi 08 September 2012 - 09:29 PM

cảm ơn bác , thế e muốn thêm một số file nữa thì phải làm sao bác nhỉ , đây chỉ là load 1 file , còn load nhiều file thì phải làm sao bác ?
bác hướng dẫn giúp e tí . e đã làm dc với 1 file , bác hướng dẫn giúp e tí , e hơi gà về líp
  • 0

#4 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 08 September 2012 - 09:49 PM

Thử chép tất cả *.dll vào 1 thư mục rồi dùng lisp này xem sao (cad tôi đang có vấn đề nên chưa test được).

(defun load-dll (path)
(foreach f (apply
(function append)
(mapcar (function (lambda (x) (vl-directory-files path x 1))) '("*.DLL")))
(command "_.netLoad" (strcat path "\\" f))))
;EX: (load-dll "D:\Test")

  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#5 xaydungit.vn

xaydungit.vn

    biết vẽ arc

  • Members
  • PipPip
  • 48 Bài viết
Điểm đánh giá: 54 (tàm tạm)

Đã gửi 08 September 2012 - 09:55 PM

Như thế này bạn

(if (setq fil (findfile "C:\\XDIT\\XDIT1.dll")) (command "_.netLoad" fil) )
(if (setq fil (findfile "C:\\XDIT\\XDIT2.dll")) (command "_.netLoad" fil) )

cảm ơn bác , thế e muốn thêm một số file nữa thì phải làm sao bác nhỉ , đây chỉ là load 1 file , còn load nhiều file thì phải làm sao bác ?
bác hướng dẫn giúp e tí . e đã làm dc với 1 file , bác hướng dẫn giúp e tí , e hơi gà về líp


  • 0

#6 hakhoailang

hakhoailang

    biết lệnh rotate

  • Members
  • PipPipPip
  • 132 Bài viết
Điểm đánh giá: 2 (bình thường)

Đã gửi 08 September 2012 - 10:12 PM

Thử chép tất cả *.dll vào 1 thư mục rồi dùng lisp này xem sao (cad tôi đang có vấn đề nên chưa test được).


cái này dùng lệnh gì bác nhỉ hay là tải líp về rồi load nó lên là nó tự động phải ko bác .
  • 0

#7 hakhoailang

hakhoailang

    biết lệnh rotate

  • Members
  • PipPipPip
  • 132 Bài viết
Điểm đánh giá: 2 (bình thường)

Đã gửi 08 September 2012 - 10:14 PM

Như thế này bạn

có phải như thế này o bác

(if (setq fil (findfile "C:\\XDIT\\XDIT1.dll")) (command "_.netLoad" fil) )
(if (setq fil (findfile "C:\\XDIT\\XDIT2.dll")) (command "_.netLoad" fil) )
(defun C:XD1()
(command "netrun" "XDIT1")
)
(defun C:XD2()
(command "netrun" "XDIT2")
)

  • 0

#8 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 08 September 2012 - 10:37 PM

Load tất cả file DLL trong 1 thư mục:

(defun C:DLL()
(setq path (vl-filename-directory (getfiled "Chon 1 file DLL bat ky trong thu muc" "" "dll" 2)))
(foreach f (apply
(function append)
(mapcar (function (lambda (x) (vl-directory-files path x 1))) '("*.DLL")))
(command "_.netLoad" (strcat path "\\" f))))

  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#9 hakhoailang

hakhoailang

    biết lệnh rotate

  • Members
  • PipPipPip
  • 132 Bài viết
Điểm đánh giá: 2 (bình thường)

Đã gửi 08 September 2012 - 10:57 PM

Load tất cả file DLL trong 1 thư mục:


bác xem thử nó báo Command: nil
với lại cái này là nó load lên chứ ko add dc ( có thể e sai ) vì e đã thử .
2 là load lên nó vẫn phải đánh lệnh 1 lần nữa , bác có cách nào đánh lệnh của dll để thực thi luôn ko phải qua bước load ko bác nhỉ ?
  • 0

#10 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 09 September 2012 - 07:46 AM

Muốn autoload khi mở cad thì bạn làm như sau:
1). Chép toàn bộ *.dll vào 1 thư mục, ví dụ đó là "D:\\File_DLL".
2). Add lisp này vào contents:

(defun load-dll (path)
(foreach f (apply (function append) (mapcar (function (lambda (x) (vl-directory-files path x 1))) '("*.DLL")))
(command "_.netLoad" (strcat path "\\" f))))
(load-dll "D:\\File_DLL") ;Edit folder o dong nay!!!

  • 1

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#11 hakhoailang

hakhoailang

    biết lệnh rotate

  • Members
  • PipPipPip
  • 132 Bài viết
Điểm đánh giá: 2 (bình thường)

Đã gửi 09 September 2012 - 12:11 PM

cảm ơn bác e đã làm dc rồi , đúng là 1 lisp hay
  • 0