Latest topics
» Mẫu Biệt Thự Đẹp Các Thiết Kế Biệt Thự Tân Cổ Điển Cao Cấp 2016 Xinh
by xathu Yesterday at 11:16 am

» Mẫu Nhà Phố Đẹp Tổng Hợp Mẫu Nhà Phố Đẹp 2 Mặt Tiền
by xathu 28/11/16, 01:53 pm

» Mẫu Biệt Thự Đẹp Tổng Hợp Biệt Thự Cổ Điển
by xathu 23/11/16, 10:39 am

» Mẫu Biệt Thự Đẹp Biệt Thự Cổ Điển Xinh 2016
by xathu 18/11/16, 01:45 pm

» Mẫu Biệt Thự Đẹp Thiết Kế Biệt Nghĩ Dưỡng Hiện Đại
by xathu 05/11/16, 11:29 am

» Mẫu Biệt Thự Đẹp Thiết Kế Biệt Thự Cổ Điển
by xathu 07/10/16, 03:20 pm

» Mẫu Biệt Thự Đẹp Biệt Thự Sang Trọng Xinh
by xathu 30/09/16, 01:54 pm

» bổ xung thư viện cad
by minh minh 22/09/16, 02:30 pm

» Mẫu Biệt Thự Đẹp Biệt Thự Sân Vườn Hiện Đại Xinh
by xathu 19/09/16, 03:37 pm

» Mẫu Nhà Phố Đẹp Thiết Kế Nhà Phố 3.8x16
by xathu 08/09/16, 10:53 am

» Những Mẫu Biệt Thự Đẹp Biệt Thự Cổ Điển Xinh
by xathu 25/08/16, 02:31 pm

» Nhà Phố 2 Mặt Tiền Xinh - Mẫu Nhà Phố Đẹp
by xathu 15/08/16, 03:51 pm

» Bộ thư viện ghép shop cho anh em làm đồ án đây. xúc nhanh nào
by lqhanh29 13/07/16, 03:13 pm

» Architecture: FORM, SPACE and ORDER (Kiến trúc HÌNH THỂ, KHÔNG GIAN và TRẬT TỰ)
by nguyên thanh duy 30/06/16, 03:15 pm

» Mẫu Nhà Phố 4x18 Đẹp
by xathu 21/06/16, 11:07 am

» Tổng Hợp Các Mẫu Biệt Thự Đẹp
by xathu 04/06/16, 10:58 am

» Mẫu Thiết Kế Nhà Phố Tương Lai
by xathu 15/04/16, 11:17 am

» Mẫu Nhà Phố Đẹp - Nhà Phố 5M
by xathu 01/04/16, 04:47 pm

» Mẫu Thiết Kế Biệt Thự Hiện Đại Đẹp
by xathu 21/03/16, 11:21 am

» CHO TÔI 1 VÉ RA KHỎI TRƯỜNG ĐH KIẾN TRÚC........!
by teo.vipp 15/03/16, 01:06 am


Cách làm 1 bộ lisp di động.

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

code Cách làm 1 bộ lisp di động.

Bài gửi by furious on 16/04/11, 10:19 pm


*Bạn có trong tay một bộ lisp ưng ý và dùng đã quen. Đôi lúc bạn ngồi 1 máy khác cảm thấy rất bất tiện, cài lisp của mình vào thì sợ ảnh hưởng đến người khác.
*Mình cũng bị tình trạng này và đến nay đã tìm ra cách giải quyết nên khoe với mọi người. Cách này mình gọi là lisp di động.
-Nhiều bạn sẽ nghỉ lisp thì để đâu cũng không quan trọng chỉ cần load lên thôi có gì phải tinh vi,,,,,,,,,,, Vấn đề là lisp nhiều khi không đơn thuần chỉ là các file lisp mà còn rất nhiều thứ kèm theo ví dụ:
+File dwg dùng chèn vào phục vụ nhu cầu nào đó của lisp.
+File dcl dùng hiển thị hộp thoại.
+Các file sld dùng cho hộp thoại và các mục đích trang trí, minh họa khác.
Nói chung là có rất nhiều loại file kèm theo cần phải dùng trong ứng dụng lisp.

-Thông thường người viết lisp có hai cách ứng xử với các file này:
+Chỉ đích danh file với đầy đủ đường dẩn ví dụ:
(command ".INSERT" "C:\\tienich\\dwg\\cott.dwg" (list (car a)(cadr a)) 1 1 0)
+Chỉ tên file không có đường dẩn và tạo Support File Search Path đến thư mục chứa file ví dụ:
(command ".INSERT" "cott.dwg" (list (car a)(cadr a)) 1 1 0)
Và Add thư mục C:\\tienich\\dwg\\ vào Support File Search Path.
-Cả hai trường hợp trên phù hợp khi lisp nằm cố định trên máy. Bây giờ bạn chép tất cả vào CD hoặc USB để đem nó đi máy khác thì đường dẩn sẽ không còn ổn định (mổi máy mổi khác) Tôi xin trình bày cách mà tôi áp dụng cho ứng dụng lisp của mình như sau:

-Tổ chức một thư mục tổng (tôi đặt tên tienich).Bên trong là các thư mục con theo từng loại file (để dể kiểm soát) ví dụ tôi đặt như sau:
+DWG
+DCL
+LENH
+FLIEHETHONG

-Tạo 1 file bất kỳ tốt nhất nên là file có định dạng đặt biệt chút cho đở nhầm lẩn (trường hợp của tôi là file DUY.ICO). Đặt file này trong thư mục tổng ví dụ: tienich\\duy.ico. Tác dụng của file này tôi sẽ trình bày phía dưới.
-Cải tạo tất cả các dòng trong lisp có liên quan đến file bên ngoài như sau:

(start_image "img_1")
(slide_image 0 0 (dimx_tile "img_1")(dimy_tile "img_1") (strcat odiachay "\\tienich\\dcl\\lgoduy.sld"))
(end_image)

(setq DCL_ID (load_dialog (strcat odiachay "\\tienich\\dcl\\VEKHOIDAC.DCL")))

(command "INSERT" (strcat odiachay "\\tienich\\dwg\\cos") (list (car p0cos)(cadr p0cos)) 1 1 0)

Nghĩa là cần phải xác định biến odiachay thì các dường dẩn đến file mới hoàn thiện.
-Tạo file lisp để khi load lên sẽ làm tất cả các bước sau:
+Xác định biến odiachay.
+Load tất cả các file lsp cần load.
Nội dung như sau:

(setq vitrifilekiemtraduongdan (getfiled "DE XAC DINH DUONG DAN BAN HAY CHON FILE DUY.ICON " "" "ico" 0))
(setq dodaiduongdantienichdocduoc (strlen vitrifilekiemtraduongdan))
(setq dodaiduongdantienichdocduoctru (- dodaiduongdantienichdocduoc 16))
(setq tenodiachay (substr vitrifilekiemtraduongdan 1 dodaiduongdantienichdocduoctru))
(setq odiachay tenodiachay)

(load(strcat odiachay "/tienich/lenh/thuvienndung"))
(load(strcat odiachay "/tienich/lenh/thuvienchitiet"))
(load(strcat odiachay "/tienich/lenh/tienichchonht"))
(load(strcat odiachay "/tienich/lenh/thongke"))


Phần màu xanh dùng để load các file lisp.
Phần màu cam dùng xác định biến odiachay cách làm việc như sau:
+Hiển thị hộp thoại open file với tiêu đề DE XAC DINH DUONG DAN BAN HAY CHON FILE DUY.ICON, định dạng file mặc định là file *.ico.
+Đọc ra đường dẩn đầy đủ của file DUY.ICO.
+Đếm số ký tự trong chuổi vừa thu được.
+Trừ số ký tự đi 16 (là số ký tự của chuỗi tienich\\duy.ico).
+Lấy giá ra chuỗi con của chuổi tên file đầy đủ từ vị trí đầu tiên đến vị trí thứ đã trừ đi 16.
Giá trị này chính là biến odiachay.

*Tất nhiên có nhiều cách hay hơn để làm việc lisp di động này nhưng mình làm được như vậy và dùng thấy rất ổn nên giới thiệu lên đây mong giúp được cho nhửng bạn đang bị vướng vấn đề như mình.
*Tham khảo sản phẩm ở Đây!

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



furious
Quản Lý Cấp Cao
Quản Lý Cấp Cao

Bài viết : 589
Giới tính : Nam
Points Points : 281

http://arck32pro.info.tm

Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết