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

Hỏi cách xem nhiều file *.sld

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

Bạn muốn xem trong CAD hay ngoài CAD ? Bằng công cụ có sẵn hay bạn muốn viết ?

Thank Ketxu đã quan tâm câu hỏi :) , dĩ nhiên là trong Cad rồi. Nếu ngoài Cad thì dùng công cụ phần mềm nào xin bạn chỉ điể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

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

Trong CAD :

Sử dụng script hoặc lisp tạo script hoặc viết form fill image slide vào.

Mình đóng gói 1 ví dụ cho bạn đây

http://www.cadviet.com/upfiles/3/24067_sv.rar

 

Code LSP :

(defun c:sv( / display_image sldpath slides dial_id sldx sldy)
(vl-load-com)
(defun display_image (img sldx sldy)
(start_image "slideimg")
(fill_image 0 0 sldx sldy -2)
(end_image)
(start_image "slideimg")
(slide_image 0 0 sldx sldy img)
(end_image)
)

(cond
((setq sldpath (getfiled "Select a Slide in Folder" "c:\\" "sld" 8))
(setq sldpath (strcat(vl-filename-directory sldpath)"\\")
slides (vl-directory-files sldpath "*.sld")
dial_id (load_dialog "slideview")
)
(new_dialog "slideview" dial_id)
(setq sldx(dimx_tile "slideimg")
sldy(dimy_tile "slideimg")
)
(start_list "slidelist")
(mapcar 'add_list slides)
(end_list)
(action_tile "slidelist"
"(display_image(strcat sldpath(nth(atoi $value)slides))sldx sldy)"
)
(setq next(start_dialog))
(unload_dialog dial_id)
)
)
(princ)
)

Code DCL :

// slideview.dcl

slideview : dialog {
label = "Slide Viewer";
: boxed_row {
: column {
: list_box {
label = "Slide List:";
key = "slidelist";
width = 20;
height = 24;
}
: button {
key = "exit";
label = "Exit";
is_cancel = true;
mnemonic = "E";
}
}
: image {
key = "slideimg";
aspect_ratio = 1.0;
fixed_width = true;
width = 114;
fixed_height = true;
height = 31.75;
color = graphics_background;
}
}
}	

Cái này cũng search thấy nhiều quá luôn

  • 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

Tặng bạn cái máy chiếu phim di động mini.

Mở cái folder chứa file sld, nhấp đại file nào trong đó để lấy tên folder, mỗi slide sau khi xăm xoi thấy ok rồi thì nhấn space hoặc enter để chiếu cái tiếp theo.

 

(defun c:vsl()
  (if slddir
    (setq slddir (vl-filename-directory  (getfiled "Open file" (strcat slddir "\\") "sld" 4)))
    (setq slddir (vl-filename-directory (getfiled "Open file" (getvar "dwgprefix") "sld" 4)))    
  )
  (foreach slide (vl-directory-files slddir "*.sld" 1)    
    (command "VSLIDE" (strcat slddir "\\" slide))
    (getstring)
  )
  (redraw)
)
  • 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

Đề nghị bạn Tot77 chơi cú delay cho thỏa ước chờ mong của chủ topic, chứ sướng rứa rồi mà chưa chịu thì không biết sao 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

Cái này là áp dụng thuyết tương đối của Einstein đó bác!! cái hình mình thích xem thì 3" là quá ít, còn cái mình không muốn xem thì 3" là quá nhìu.  :lol:  :lol:  :lol:

 

Còn nếu muồn đổ đồng 3" thì thay dòng (getstring) bằng (command "delay" "3000")

  • 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

Uhm...Cũng chưa giống dạng trình chiếu lắm vì phài thao tác phím mới qua hình mới :)

Trình chiếu có tùy chọn đặt thời gian và cũng có tùy chọn bấm chuột, bấm mũi tên v.v... Đưa 3s cứng vào thì chắc chẳng sướng chút nào 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

Ek :wacko: , thay dòng (getstring) bằng (command "delay" "3000") thì thử trong Folder có 3 slide lisp chạy dừng 3s cái rẹt luôn 1 hình :blink: khỏi thấy 2 hình kia :wub:

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

Ek :wacko: , thay dòng (getstring) bằng (command "delay" "3000") thì thử trong Folder có 3 slide lisp chạy dừng 3s cái rẹt luôn 1 hình :blink: khỏi thấy 2 hình kia :wub:

Trong trường hợp này Delay không được. Thì chuyển qua Wait vậy.


(defun c:vsl()
  (if slddir
    (setq slddir (vl-filename-directory  (getfiled "Open file" (strcat slddir "\\") "sld" 4)))
    (setq slddir (vl-filename-directory (getfiled "Open file" (getvar "dwgprefix") "sld" 4)))    
  )
  (foreach slide (vl-directory-files slddir "*.sld" 1)    
    (command "VSLIDE" (strcat slddir "\\" slide))
    (wait 3)
;(command "delay" 3000)
;    (getstring)
  )
  (redraw)
)
(defun wait (seconds / stop)
 (setq stop (+ (getvar "DATE") (/ seconds 86400.0)))
 (while (> stop (getvar "DATE"))
  (princ)))
 

  • 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

Cho mình hỏi lặp lại chuỗi lệnh script trong Cad thì làm sao? Có phải là RSCRIPT không?

 

 

Trong CAD :

Sử dụng script hoặc lisp tạo script hoặ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

Thanks bạn Doan Van Ha :) .Test đã OK. Nhưng nếu có thể cho trình chiếu lập lại cho đến khi Enter kết thúc trình chiếu thì lisp này tuyệt vời :P .

Được voi đòi 2 bà Trưng hè!

Lisp đây! Nó lặp hết 1 lượt trong thư mục thì lại lặp lượt khác, chừng nào chưa nhấn Enter hoặc Space.


(defun c:vsl(/ lst grr)
 (if slddir
  (setq slddir (vl-filename-directory  (getfiled "Open file" (strcat slddir "\\") "sld" 4)))
  (setq slddir (vl-filename-directory (getfiled "Open file" (getvar "dwgprefix") "sld" 4))))
 (setq lst (vl-directory-files slddir "*.sld" 1))
 (while (and (setq grr (grread T 4 0)) (not (equal '(2 32) grr)) (not (equal '(2 13) grr)))  
  (command "VSLIDE" (strcat slddir "\\" (car lst)))
  (setq lst (cdr lst))
  (if (not lst) (setq lst (vl-directory-files slddir "*.sld" 1)))
  (wait 3))
  (redraw))
(defun wait (seconds / stop)
 (setq stop (+ (getvar "DATE") (/ seconds 86400.0)))
 (while (> stop (getvar "DATE"))
  (princ)))
 

 
  • 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

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  

×