Đến nội dung


Hình ảnh

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


  • Please log in to reply
21 replies to this topic

#1 phamhung12

phamhung12

    biết vẽ ellipse

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

Đã gửi 04 November 2014 - 08:28 PM

Các Cadder cho mình hỏi có cách nào xem nhiều file  *.sld dưới dạng trình chiếu từng .sld không? Lệnh Vslide thì chỉ xem một  .sld thôi :(


  • 0

#2 phamhung12

phamhung12

    biết vẽ ellipse

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

Đã gửi 04 November 2014 - 10:33 PM

Nhờ các pro CadViet chỉ giáo giúp ạ :(


  • 0

#3 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5682 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 05 November 2014 - 08:42 AM

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 ?
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#4 phamhung12

phamhung12

    biết vẽ ellipse

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

Đã gửi 05 November 2014 - 09:20 AM

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?


  • 0

#5 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5682 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 05 November 2014 - 09:47 AM

Mình search thấy nhiều mà :

Ngoài CAD : 

http://www.cadviet.c...lideviewer2.zip

http://www.cadviet.c...ibman_setup.rar

Nguồn Code 

http://www.cadviet.c...ldviewsetup.rar

 

Và vân vân ...


  • 1

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#6 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5682 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 05 November 2014 - 10:00 AM

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.c.../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


  • 1

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#7 phamhung12

phamhung12

    biết vẽ ellipse

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

Đã gửi 05 November 2014 - 10:18 AM

Thanks Ket! Nhưng các phần mềm này củng chỉ xem từng Slide :( , bạn có cách nào xem nhiều file  *.sld dưới dạng trình chiếu từng .sld không?


  • 0

#8 phamhung12

phamhung12

    biết vẽ ellipse

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

Đã gửi 05 November 2014 - 10:20 AM

À, để thử cái lisp  :)


  • 0

#9 Tot77

Tot77

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 990 Bài viết
Điểm đánh giá: 498 (tốt)

Đã gửi 05 November 2014 - 10:27 AM

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)
)

  • 1

#10 phamhung12

phamhung12

    biết vẽ ellipse

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

Đã gửi 05 November 2014 - 10:32 AM

Cũng không như ý :( ,  Ý mình muốn là dạng trình chiếu 1 .sld  thì khoảng 3s sẽ sang 1  .sld khác :( và cứ thế lập lại....


  • 0

#11 phamhung12

phamhung12

    biết vẽ ellipse

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

Đã gửi 05 November 2014 - 10:33 AM

Ah, thử cái lisp bạn Tot77 xem :)


  • 0

#12 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 05 November 2014 - 10:37 AM

Đề 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!


  • 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.


#13 phamhung12

phamhung12

    biết vẽ ellipse

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

Đã gửi 05 November 2014 - 10:40 AM

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 :)


  • 0

#14 Tot77

Tot77

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 990 Bài viết
Điểm đánh giá: 498 (tốt)

Đã gửi 05 November 2014 - 10:42 AM

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")


  • 2

#15 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 05 November 2014 - 10:46 AM

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ỉ?


  • 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.


#16 phamhung12

phamhung12

    biết vẽ ellipse

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

Đã gửi 05 November 2014 - 10:50 AM

Vậy cần có thêm thoi gian tùy chọn để cho qua slide khác luôn càng tốt :)


  • 0

#17 phamhung12

phamhung12

    biết vẽ ellipse

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

Đã gửi 05 November 2014 - 10:58 AM

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:


  • 0

#18 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 05 November 2014 - 12:04 PM

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)))
 


  • 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.


#19 phamhung12

phamhung12

    biết vẽ ellipse

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

Đã gửi 05 November 2014 - 12:42 PM

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 .


  • 0

#20 phamhung12

phamhung12

    biết vẽ ellipse

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

Đã gửi 05 November 2014 - 01:50 PM

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 ........................


  • 0