Chuyển đến nội dung
Diễn đàn CADViet
nguyentuyen6

Thêm 1 lisp in nhiều bản vẽ

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

@lp_hai : rất tiếc là với VBA thì mình chưa up đc, bạn thông cảm cho mình ^^ Trên mạng có khá nhiều module batch, bạn GG sẽ thấy, rồi sử dụng vào module Print thôi. Còn nếu để dùng, lúc nào rỗi mình sẽ chuyển qua VB để up ^^ ( bản thân mình vẫn thích dùng VBA, vì rất ngại chuyện đang vẽ cad lại phải gọi application ở chỗ khác, mà vấn đề về tốc độ cũng khá đau đầu )

  • 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

Muốn tự viết cái Líp in cho mình nên Em mới viết cái Lisp này. Các bác cho em nhận xét nhé.

Tên lệnh là: TPL :lol:

 

Download: TPL

 

1111_2.jpg

Hướng dẫn:

1: Chọn tên máy in, khổ giấy, plotstyle cần in

2: Có 2 lựa chọn :

------Block: Khi chọn vùng in sẽ nằm trong block chọn. Để lấy block mẫu ấn vào nút Pick

------Rectangle: Khi chọn vùng in sẽ nằm trong rectangle chọn. Và chỉ chọn đc Rec có layer ở khung layer

3: Khi muốn xuất ra PDF thì chọn đường dẫn lưu File

4: Sắp xếp in:

------ Nomal: cái nào chọn trước in trước

------ Left->Right : in từ trái sang phải bất kể chọn cái nào trước

------ Top->Bottom : in từ trên xuống dưới bất kể chọn cái nào trước.

Thank!!!

lisp nayf khi tớ load vào nova thì no lại hiểu như là vẽ PL bạn àh, bạn xem lại cái nha

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

lisp nayf khi tớ load vào nova thì no lại hiểu như là vẽ PL bạn àh, bạn xem lại cái nha

Bạn đánh tên lệnh là TPL hay PL thế. TPL là đúng nhé!

Mình không dùng Nova nên cũng không biết về gì về nó. Hay cái lệnh TPL bị trùng vào cái lệnh nào của Nova nhỉ :ph34r:

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 rồi bạn ah dowload nhầm ^^. mình sẽ thử có gì mình sẽ PM lai

MÌnh tưởng nó bị trùng lệnh nên định nghĩa thêm vài cái lệnh cho bạn chọn, hì. bạn sửa đc rồi thôi thì mình Post lại lên #1 cho ai dùng thích đánh lệnh là gì thì đánh :lol:

 

PS : Mình vừa sửa 1 số lỗi trong phần PLOT to File của Líp. Bạn nào down rồi thì down lại giúp mình nhé. Nếu không khi chọn đường dẫn là nó lưu sai chỗ.

Và sửa phần SORT đối với lệnh in nhé. Nếu ko là nó ko sếp theo thứ tự đâu!!!

MOng các bạn thông cảm :wacko: Úpdate ở #1 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

Muốn tự viết cái Líp in cho mình nên Em mới viết cái Lisp này. Các bác cho em nhận xét nhé.

16/4: Chú ý :

Mình vừa sửa 1 số lỗi trong phần PLOT to File của Líp. Bạn nào down rồi thì down lại giúp mình nhé. Nếu không khi chọn đường dẫn là nó lưu sai chỗ.

Và sửa phần SORT đối với lệnh in nhé. Nếu ko là nó ko xếp theo thứ tự đâu!!!

 

Lệnh TPL hoặc IN hoặc MP:

 

Download: TPL-IN-MP

 

 

1111_2.jpg

Hướng dẫn:

1: Chọn tên máy in, khổ giấy, plotstyle cần in

2: Có 2 lựa chọn :

------Block: Khi chọn vùng in sẽ nằm trong block chọn. Để lấy block mẫu ấn vào nút Pick

------Rectangle: Khi chọn vùng in sẽ nằm trong rectangle chọn. Và chỉ chọn đc Rec có layer ở khung layer

3: Khi muốn xuất ra PDF thì chọn đường dẫn lưu File

4: Sắp xếp in:

------ Nomal: cái nào chọn trước in trước

------ Left->Right : in từ trái sang phải bất kể chọn cái nào trước

------ Top->Bottom : in từ trên xuống dưới bất kể chọn cái nào trước.

Thank!!!

bạn ơi sao mình tải về khi chọn máy in thì nó không nhận. mình đã thử chọn các máy in khác nhung cũng khong dc

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

bạn ơi sao mình tải về khi chọn máy in thì nó không nhận. mình đã thử chọn các máy in khác nhung cũng khong dc

Bạn down lại ở #1 nhé. Mình vừa kiểm tra và sửa lại rồi ;)

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

cam onn pac rat nhieu nhe!

bai viet cua pac giup e rat nhiẻtong luc nay!

:D

cái lisp này của bạn ko hay ở chỗ. ko căn lề được, và gặp bản vẽ in đứng thì bó tay 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

cái lisp này của bạn ko hay ở chỗ. ko căn lề được, và gặp bản vẽ in đứng thì bó tay luôn.

Bản vẽ in đứng là sao bạn. Nó tự chỉnh Landscape với Portrait ma`

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ác bác ơi sao e ấn vào nó cứ báo là chưa cài expresstoll thế mà e vẫn dùng được lệnh layiso và layon ầm ầm 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

các bác ơi sao e ấn vào nó cứ báo là chưa cài expresstoll thế mà e vẫn dùng được lệnh layiso và layon ầm ầm mà

MÌnh vừa sửa lại rồi bạn ạ. Bạn dơn lại nhé.

 

Mới update thêm cái Plot Offset!!

Các bạn Test giúp mình với nhé! :lol:

  • 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

Muốn tự viết cái Líp in cho mình nên Em mới viết cái Lisp này. Các bác cho em nhận xét nhé.

Công dụng: Dùng để in nhiều bản vẽ trong 1 file cad (dwg) mà chỉ phải chỉnh 1 lần.

20/4: Sửa lỗi

18/4: Sửa lỗi+ thêm phần Plot offset

16/4: Chú ý :

Mình vừa sửa 1 số lỗi trong phần PLOT to File của Líp. Bạn nào down rồi thì down lại giúp mình nhé. Nếu không khi chọn đường dẫn là nó lưu sai chỗ.

Và sửa phần SORT đối với lệnh in nhé. Nếu ko là nó ko xếp theo thứ tự đâu!!!

 

Lệnh TPL hoặc IN hoặc MP:

 

Download: TPL-IN-MP

 

 

untitled_49.jpg

Hướng dẫn:

1: Chọn tên máy in, khổ giấy, plotstyle cần in

2: Có 2 lựa chọn :

------Block: Khi chọn vùng in sẽ nằm trong block chọn. Để lấy block mẫu ấn vào nút Pick

------Rectangle: Khi chọn vùng in sẽ nằm trong rectangle chọn. Và chỉ chọn đc Rec có layer ở khung layer

3: Khi muốn xuất ra PDF thì chọn đường dẫn lưu File

4: Sắp xếp in:

------ Nomal: cái nào chọn trước in trước

------ Left->Right : in từ trái sang phải bất kể chọn cái nào trước

------ Top->Bottom : in từ trên xuống dưới bất kể chọn cái nào trước.

5: Chỉnh Plot Offset

Thank!!!

hình như trong nova không hiểu lệnh in bạn àh, mình load ra bảng và thử xả block lẫn rectang mà khi preview no ra trắng tinh, hay plot thì không thấy in được, cad 2007 thi vẵn ok, load vào nova thi không đượ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

hình như trong nova không hiểu lệnh in bạn àh, mình load ra bảng và thử xả block lẫn rectang mà khi preview no ra trắng tinh, hay plot thì không thấy in được, cad 2007 thi vẵn ok, load vào nova thi không được :-(

 

Có thể là do trong Nova thì tỷ lệ bản vẽ là 1/1000 (không phải là tỷ lệ 1/1) nên rất có thể trong thuật toán của bạn í có chút nhầm lẫn khi định dạng tỷ lệ in không chính xác (nhỏ quá so với bản vẽ A3) nên bạn có thể thấy toàn là trắng tinh vậy thôi

:rolleyes:

  • 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

Muốn tự viết cái Líp in cho mình nên Em mới viết cái Lisp này. Các bác cho em nhận xét nhé.

Công dụng: Dùng để in nhiều bản vẽ trong 1 file cad (dwg) mà chỉ phải chỉnh 1 lần.

20/4: Sửa lỗi

18/4: Sửa lỗi+ thêm phần Plot offset

16/4: Chú ý :

Mình vừa sửa 1 số lỗi trong phần PLOT to File của Líp. Bạn nào down rồi thì down lại giúp mình nhé. Nếu không khi chọn đường dẫn là nó lưu sai chỗ.

Và sửa phần SORT đối với lệnh in nhé. Nếu ko là nó ko xếp theo thứ tự đâu!!!

 

Lệnh TPL hoặc IN hoặc MP:

 

Download: TPL-IN-MP

 

 

untitled_49.jpg

Hướng dẫn:

1: Chọn tên máy in, khổ giấy, plotstyle cần in

2: Có 2 lựa chọn :

------Block: Khi chọn vùng in sẽ nằm trong block chọn. Để lấy block mẫu ấn vào nút Pick

------Rectangle: Khi chọn vùng in sẽ nằm trong rectangle chọn. Và chỉ chọn đc Rec có layer ở khung layer

3: Khi muốn xuất ra PDF thì chọn đường dẫn lưu File

4: Sắp xếp in:

------ Nomal: cái nào chọn trước in trước

------ Left->Right : in từ trái sang phải bất kể chọn cái nào trước

------ Top->Bottom : in từ trên xuống dưới bất kể chọn cái nào trước.

5: Chỉnh Plot Offset

Thank!!!

Lisp quá tuyệt vời bác. Thanks bác nhiều lắm. Nhờ lisp này mà mình đỡ tốn một khoản thời gian chuyển cad-> pdf. Mình cũng đã viết một lisp về in nhưng khá thủ công và không thể Multiple như của bác đựơc. Sao mình không thấy nút "Thanks" chỗ nào nhĩ. Một lần nữa xin cảm ơn nhuyentuyen

  • 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

Lisp quá tuyệt vời bác. Thanks bác nhiều lắm. Nhờ lisp này mà mình đỡ tốn một khoản thời gian chuyển cad-> pdf. Mình cũng đã viết một lisp về in nhưng khá thủ công và không thể Multiple như của bác đựơc. Sao mình không thấy nút "Thanks" chỗ nào nhĩ. Một lần nữa xin cảm ơn nhuyentuyen

He, bác dí vào nút + màu xanh ý :lol:

  • Vote tăng 5

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

Lisp này nếu in sang pdf có thể ghi tên tự động thì tuyệt. Ví dụ mình in 20 bản vẽ cùng lúc, mình chỉ cần gõ tên bản vẽ đầu tiên là 5 thì nó sẽ tự động ghi tên các bản vẽ tiếp theo là 6,7...24. Chắc là khó đây vì cái này phụ thuộc vào kiểu máy in, không biết có kiểu máy in ảo nào có thể làm được việc đó không nhỉ. Nhân tiện hỏi bác nguyentuyen một chút, mình gõ lệnh (Command "PLOT" "") sao không thấy có phần Preview trong đó nhĩ. Thanks.

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

He, bác dí vào nút + màu xanh ý :lol:

Hề hề hề,

Nếu bác không phiền và không có gì ảnh hưởng tới công việc của bác, bác có thể post file *.lsp và *.dcl lên để mọi người tham khảo được không??? Mình cũng muốn mót thêm tí chút ở trong đó.

Chúc bác vui.

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

Hề hề hề,

Nếu bác không phiền và không có gì ảnh hưởng tới công việc của bác, bác có thể post file *.lsp và *.dcl lên để mọi người tham khảo được không??? Mình cũng muốn mót thêm tí chút ở trong đó.

Chúc bác vui.

Hề hề!

E viết đc cái này là nhờ CadViet mà bác, làm sao mà để của riêng đc. Mới lại E code loạn xạ lắm, chả tối ưu gì cả, hoa mắt các bác ráng chịu nhé, hề hề...

Lisp:

 

(defun C:tpl (/		  OldEcho     OldOs	  blklist
      block	  dsmayin     chonmayin	  udindex
      dskhogiay	  dsplotstyle MyPrinter	  dsblock
      ddiag	  dcl_id      tenmayin	  pIndex
      tenkhogiay  gIndex      tenplotstyle
      psIndex	  tenblk      method ;ssblk
      luupdf	  drectluupdf	;slfit recmethod
      lyrlist	  lyr	      tenlayer	  lIndex
      slsort	  luachonin   luachonin1
				;*screenpoint* ;luu vi tri hop thoai
      center	  trucx	      trucy	  xyoffset
     )
 (setq OldEcho (getvar "cmdecho"))
 (setvar "cmdecho" 0)
 (command "undo" "be")
 (vl-load-com)
 (princ
   "\n      From nguyentuyen6 @CadViet \n Cai Express-Tools truoc khi su dung!!!"
 )
				;----------------------------------------------------------  
				;----------kiem tra & tao regedit
 (registry)
				;----------------------------------------------------------  

				;--------- tao danh sach them vao dcl
 (setq dsmayin (PrintersList))
 (setq dsplotstyle (PlotStyle))
 (setq dsblock (BlockList))
 (setq dslayer (LayerList))
				;dat fit to paper
 (ScaleFit)
				;--- load dcl
 (setq ddiag 6)
 (while (>= ddiag 3)			;de cho dcl hien sau khi pick
   (setq dcl_id (load_dialog "TPL.dcl"))
;;;--- Load the dialog definition if it is not already loaded
				;(if	(not (new_dialog "TPL" dcl_id "" (cond ( *screenpoint* ) ( '(-1 -1) ))))
   (if	(not (new_dialog "TPL" dcl_id))
     (progn
(alert "The TPL.DCL file could not be loaded!")
(exit)
     )
   )
				;--------------------------------
   (start_list "layerlist" 3)
   (mapcar 'add_list dslayer)
   (end_list)
				;kiem tra gia tri truoc do dc luu chua, neu luu roi thi set lai nhu lan truoc	
   (if	(/= (vl-registry-read "HKEY_CURRENT_USER\\TPL\\layer")
    nil
)
     (set_tile	"layerlist"
	(vl-registry-read "HKEY_CURRENT_USER\\TPL\\layer")
     )
   )
				;-------------------gan thong tin vao tenmayin
   (start_list "tenmayin" 3)
   (mapcar 'add_list dsmayin)
   (end_list)
				;kiem tra gia tri truoc do dc luu chua, neu luu roi thi set lai nhu lan truoc	
   (if	(/= (vl-registry-read "HKEY_CURRENT_USER\\TPL\\tenmayin")
    nil
)
     (set_tile	"tenmayin"
	(vl-registry-read "HKEY_CURRENT_USER\\TPL\\tenmayin")
     )
   )
   (update)				; update lai ten kho giay	
				;-------------------gan thong tin vao plotstyle
   (start_list "plotstyle" 3)
   (mapcar 'add_list dsplotstyle)
   (end_list)
				;kiem tra gia tri truoc do dc luu chua, neu luu roi thi set lai nhu lan truoc	
   (if	(/= (vl-registry-read "HKEY_CURRENT_USER\\TPL\\tenplotstyle")
    nil
)
     (set_tile	"plotstyle"
	(vl-registry-read "HKEY_CURRENT_USER\\TPL\\tenplotstyle")
     )
   )
				;kiem tra gia tri truoc do dc luu chua, neu luu roi thi set lai nhu lan truoc	
   (if	(/= (vl-registry-read "HKEY_CURRENT_USER\\TPL\\tenmayin")
    nil
)
     (set_tile	"khogiay"
	(vl-registry-read "HKEY_CURRENT_USER\\TPL\\tenkhogiay")
     )
   )
   (if	(/= (vl-registry-read "HKEY_CURRENT_USER\\TPL\\khungtenchuan")
    nil
)
     (set_tile
"khungtenchuan"
(vl-registry-read "HKEY_CURRENT_USER\\TPL\\khungtenchuan")
     )
   )
   (if	(/= (vl-registry-read "HKEY_CURRENT_USER\\TPL\\printmethod")
    nil
)
     (set_tile	"printmethod"
	(vl-registry-read "HKEY_CURRENT_USER\\TPL\\printmethod")
     )
   )
   (if	(/= (vl-registry-read "HKEY_CURRENT_USER\\TPL\\sort")
    nil
)
     (set_tile	"luachon"
	(vl-registry-read "HKEY_CURRENT_USER\\TPL\\sort")
     )
   )
   (updatemethod)
   (selectsort)
   (if	(/= (vl-registry-read "HKEY_CURRENT_USER\\TPL\\plottofile")
    nil
)
     (progn
(set_tile "tenduongdan"
	  (vl-registry-read "HKEY_CURRENT_USER\\TPL\\plottofile")
)
(vlax-put-property
  (vlax-get-property
    (vlax-get-property (vlax-get-acad-object) 'Preferences)
    'Output
  )
  'DefaultPlotToFilePath
  (vl-registry-read "HKEY_CURRENT_USER\\TPL\\plottofile")
)
     )
     (progn
(set_tile
  "tenduongdan"
  (vlax-get-property
    (vlax-get-property
      (vlax-get-property (vlax-get-acad-object) 'Preferences)
      'Output
    )
    'DefaultPlotToFilePath
  )
)
     )
   )
;;;laygia tri trong phan plotoffset
   (if	(/= (vl-registry-read "HKEY_CURRENT_USER\\TPL\\center")
    nil
)
     (set_tile	"center"
	(vl-registry-read "HKEY_CURRENT_USER\\TPL\\center")
     )
   )
   (if	(/= (vl-registry-read "HKEY_CURRENT_USER\\TPL\\offsetx")
    nil
)
     (set_tile	"trucx"
	(vl-registry-read "HKEY_CURRENT_USER\\TPL\\offsetx")
     )
   )
   (if	(/= (vl-registry-read "HKEY_CURRENT_USER\\TPL\\offsety")
    nil
)
     (set_tile	"trucy"
	(vl-registry-read "HKEY_CURRENT_USER\\TPL\\offsety")
     )
   )
   (offset)
;;;;---------------fit to paper
;;;	
;;;	;;tu
;;;	(if	(/= (vl-registry-read "HKEY_CURRENT_USER\\TPL\\fittopaper\\tu")
;;;	    nil
;;;	)
;;;      (set_tile	"numerator"
;;;		(vl-registry-read "HKEY_CURRENT_USER\\TPL\\fittopaper\\tu")
;;;      )
;;;    )
;;;;; mau	
;;;	(if	(/= (vl-registry-read "HKEY_CURRENT_USER\\TPL\\fittopaper\\mau")
;;;	    nil
;;;	)
;;;      (set_tile	"denominator"
;;;		(vl-registry-read "HKEY_CURRENT_USER\\TPL\\fittopaper\\mau")
;;;      )
;;;    )
;;;	;; fit	
;;;	(if	(/= (vl-registry-read "HKEY_CURRENT_USER\\TPL\\fittopaper\\fit")
;;;	    nil
;;;	)
;;;      (set_tile	"fittopaper"
;;;		(vl-registry-read "HKEY_CURRENT_USER\\TPL\\fittopaper\\fit")
;;;      )
;;;    )
				; update lai method
;;;	(updatefit)
				;----------------------------------------------------------  	
;;;-------------------gan thong tin vao blocklist
				;	(start_list "blocklist" 3)
				;	  (mapcar 'add_list dsblock)
				;	(end_list)
;;;--------------------------
				;----------------------------------------------------------  	
;;;--- If an action event occurs, do this function
;;;    (action_tile "fittopaper" "(saveVars)(updatefit)")

   (action_tile "center" "(offset)")
   (action_tile "printmethod" "(updatemethod)")
   (action_tile "tenmayin" "(update)")
   (action_tile
     "print"
				;"(setq ddiag 1)(setq *screenpoint* (done_dialog 1))(saveVars)(done_dialog)"
     "(setq ddiag 1)(offset)(saveVars)(done_dialog)"
   )
   (action_tile
     "preview"
     "(setq ddiag 4)(offset)(saveVars)(done_dialog)"
   )
   (action_tile "cancel" "(setq ddiag 2)(done_dialog)")
   (action_tile
     "khungten"
     "(setq ddiag 3)(saveVars)(done_dialog) "
   )
   (action_tile "datduongdan" "(setq ddiag 5)(done_dialog)")
   (action_tile "luachon" "(selectsort)")
				;----------------------------------------------------------  
;;;--- Display the dialog box
   (start_dialog)
;;;--- Unload the dialog box
   (unload_dialog dcl_id)
;;;--- If the user pressed the PRINT button
   (if	(= ddiag 1)
     (Printtt ssblk)
   )
;;;--- If the user pressed the PREVIEW button
   (if	(= ddiag 4)
     (Preview)
   )
;;;--- If the user pressed the Cancel button
   (if	(= ddiag 2)
     (princ "\nTPL cancelled!")
   )
;;;--- If the user pressed the Pick button
   (if	(= ddiag 3)
     (laykungten)
   )
   (if	(= ddiag 5)
     (PlotToFile)
   )
 )					;while 4
				;----------------------------------------------------------  
;;;--- Suppress the last echo for a clean exit
 (command "undo" "e")
 (setvar "cmdecho" OldEcho)
 (princ "\n...Done...")
 (princ)
)
(vl-load-com)
				;--------------------------------------------------------------
(defun saveVars	()
;;; luu gia tri de xu ly
 ;; lay ten may in
 (setq tenmayin (get_tile "tenmayin"))
 (vl-registry-write
   "HKEY_CURRENT_USER\\TPL\\tenmayin"
   ""
   tenmayin
 )					; luu ten may in
 (if (/= tenmayin "")
   (progn
     (setq pIndex (atoi tenmayin))
     (setq tenmayin (nth pIndex dsmayin))
     (setq tenmayin (acet-str-replace "\\" "\\" tenmayin))
				;thay \ = \\
   )
 )
				; lay kho giay  
 (setq tenkhogiay (get_tile "khogiay"))
 (vl-registry-write
   "HKEY_CURRENT_USER\\TPL\\tenkhogiay"
   ""
   tenkhogiay
 )					;luu ten kho giay
 (if (/= tenkhogiay "")
   (progn
     (setq gIndex (atoi tenkhogiay))
     (setq tenkhogiay (nth gIndex dskhogiay))
   )
 )
				; luu layer  
 (setq tenlayer (get_tile "layerlist"))
 (vl-registry-write
   "HKEY_CURRENT_USER\\TPL\\layer"
   ""
   tenlayer
 )					;llay ten layer
 (if (/= tenlayer "")
   (progn
     (setq lIndex (atoi tenlayer))
     (setq tenlayer (nth lIndex dslayer))
   )
 )
				; lay plotstyle 
 (setq tenplotstyle (get_tile "plotstyle"))
 (vl-registry-write
   "HKEY_CURRENT_USER\\TPL\\tenplotstyle"
   ""
   tenplotstyle
 )					; luu plotstyle 
 (if (/= tenplotstyle "")
   (progn
     (setq psIndex (atoi tenplotstyle))
     (setq tenplotstyle (nth psIndex dsplotstyle))
   )
 )
				; lay blk 
 (setq tenblk (get_tile "khungtenchuan"))
 (vl-registry-write
   "HKEY_CURRENT_USER\\TPL\\khungtenchuan"
   ""
   tenblk
 )					;luu ten kho giay
				; lay blk 
 (setq method (get_tile "printmethod"))
 (vl-registry-write
   "HKEY_CURRENT_USER\\TPL\\printmethod"
   ""
   method
 )
 (setq sort (get_tile "luachon"))	;luu sort
 (vl-registry-write
   "HKEY_CURRENT_USER\\TPL\\sort"
   ""
   sort
 )					;luu offset
 (setq trucx (get_tile "trucx"))
 (vl-registry-write
   "HKEY_CURRENT_USER\\TPL\\offsetx"
   ""
   trucx
 )
 (setq trucy (get_tile "trucy"))
 (vl-registry-write
   "HKEY_CURRENT_USER\\TPL\\offsety"
   ""
   trucy
 )
 (setq center (get_tile "center"))
 (vl-registry-write
   "HKEY_CURRENT_USER\\TPL\\center"
   ""
   center
 )
;;; (vl-registry-write
;;;    "HKEY_CURRENT_USER\\TPL\\fittopaper\\fit"
;;;    ""
;;;    (get_tile "fittopaper")
;;;  )
;;;;------------
;;; (vl-registry-write
;;;             "HKEY_CURRENT_USER\\TPL\\fittopaper\\tu"
;;;             ""
;;;             (get_tile "numerator")
;;;             )					;luu tu
;;;(vl-registry-write
;;;          "HKEY_CURRENT_USER\\TPL\\fittopaper\\mau"
;;;          ""
;;;             (get_tile "denominator")
;;;      )					;luu mau
)
;;;-------------------------------------------------------

(defun update ()
 (setq chonmayin (get_tile "tenmayin"))
				;(setq chonkhogiay (get_tile "khogiay"))
 (if (/= chonmayin "")
   (progn
     (setq udindex (atoi chonmayin))
     (setq MyPrinter (nth udindex dsmayin))
     (vla-put-ConfigName (ActLay) MyPrinter)
     (setq dskhogiay (PaperList))
     (start_list "khogiay" 3)
     (mapcar 'add_list dskhogiay)
     (end_list)
     (if (/= (vl-registry-read "HKEY_CURRENT_USER\\TPL\\tenkhogiay")
      nil
  )
(set_tile "khogiay"
	  (vl-registry-read "HKEY_CURRENT_USER\\TPL\\tenkhogiay")
)
     )
   )
 )
)
				;---------------------------------------------------------------
(defun Printtt (ssblk / i pt1 pt2 Rec blkname)
				;(princ "\nChon khung ten can in:")
 (if (= tenblk nil)
   (progn
     (alert "\nBan chua chon khung ten chuan")
     (setq maublk (car (entsel "\nChon BLOCK khung ten chuan: "))
    tenblk (cdr (assoc 2 (entget maublk)))
     )
   )
 )
				;----------------------------------------------
				; lua chon in rec hay blk
 (if (= slmethod "recmethod")
   (progn
     (princ "\nChon Rectangle can in:")
     (setq
ssblk (ssget (list (cons 0 "LWPOLYLINE") (cons 8 tenlayer)))
     )
   )
 )
 (if (= slmethod "blockmethod")
   (progn
     (princ "\nChon BLOCK khung ten:")
     (setq ssblk (ssget (list (cons 0 "INSERT") (cons 2 tenblk))))
   )
 )
				;---------------------------------------------
 (if (= ssblk nil)
   (alert "!!! Khong co khung in !!!")
   (progn
				;	(setq ssblk (SSsort ssblk))
				;	(setq ssblk (acet-list-to-ss ssblk))
				;========
     (if (/= slsort "nsrt")
(setq ssblk (SSsort ssblk)
      ssblk (acet-list-to-ss ssblk)
				; mac dinh la in tu trai sang phai
)
     )
				;========
     (setq i 0)
     (while (< i (sslength ssblk))
  
(setq blkname (ssname ssblk i))
(setq Rec (acet-ent-geomextents blkname)
      pt1 (nth 0 Rec)
      ;;LL
      pt2 (nth 1 Rec)
	  ;;UR
)
;;;-----chia truong hop khung ngang, doc
(BatDau)
(command "RECTANG" pt1 pt2)
(KetThuc)
(setq el1 (entlast))		;el1
				;-----lay dinh HCN = acet-geom-vertex-list
(setq toadodinh	(acet-geom-vertex-list el1)
				;    	      rpt4----rpt3
      rpt1	(nth 0 toadodinh)
				;lay dinh                  |  el1 |
      rpt2	(nth 1 toadodinh)
				;lay dinh                 rpt1----rpt2
      rpt3	(nth 2 toadodinh) ;lay dinh 
      rpt4	(nth 3 toadodinh) ;lay dinh
      dis12	(distance rpt1 rpt2)
      dis14	(distance rpt1 rpt4)
)				;setq
				;----- Chia truong hop khung ngang va khung doc
(if (> dis12 dis14)
  (setq ngangdoc "l")		;T
  (setq ngangdoc "p")		;F
)
(command "ERASE" el1 "")
;;;-----------------------------------------------			
(if (or	(= tenmayin "DWG To PDF.pc3")
	(= tenmayin "DWF6 ePlot.pc3")
    )
  ;; lay ten ban ve
  (progn
    (setq luachonin
		     (vl-string-right-trim
		       ".dwg"
		       (vlax-get-property
			 (vla-get-activedocument (vlax-get-acad-object))
			 'WindowTitle
		       )
		     )
	  luachonin1 (itoa (1+ i))
    )
    (setq luachonin (strcat luachonin "-" luachonin1))
  )
				;); dat ten ban ve cua file pdf xuat ra
  (setq luachonin "n")
)
(command "-PLOT"    "y"	       "Model"	  tenmayin   tenkhogiay
	 "m"	    ngangdoc   "n"	  "Window"   pt1
	 pt2	    "f"	       xyoffset	  "y"
	 tenplotstyle	       "y"	  "Wireframe"
	 luachonin  "y"	       "y"
	)
(setq i (1+ i))

     )					;while
   )					;progn
 )					;if
 (princ "\nDa in: <")
 (princ (sslength ssblk))
 (princ "> ban ve")
)					;defun
				;------------------------------------------------
(defun Preview (/ i pt1 pt2 Rec blkname)
 (princ "\nChon khung ten can xem truoc:")
 (if (= tenblk nil)
   (progn
     (alert "\nBan chua chon khung ten chuan")
     (setq maublk (car (entsel "\nChon BLOCK khung ten chuan: "))
    tenblk (cdr (assoc 2 (entget maublk)))
     )
   )
 )
				;----------------------------------------------
				; lua chon in rec hay blk
 (if (= slmethod "recmethod")
   (progn
     (princ "\nChon Rectangle can xem:")
     (setq
ssblk (ssget (list (cons 0 "LWPOLYLINE") (cons 8 tenlayer)))
     )
   )
 )
 (if (= slmethod "blockmethod")
   (progn
     (princ "\nChon BLOCK can xem:")
     (setq ssblk (ssget (list (cons 0 "INSERT") (cons 2 tenblk))))
   )
 )
				;----------------------------------------------
 (if (= ssblk nil)
   (alert "!!! Kiem Tra Lai Print Method !!!")
   (progn
				;========
     (if (/= slsort "nsrt")
(setq ssblk (SSsort ssblk)
      ssblk (acet-list-to-ss ssblk)
				; mac dinh la in tu trai sang phai
)
     )
				;========
     (setq i 0)
     (while (< i (sslength ssblk))
(setq blkname (ssname ssblk i))
(setq Rec (acet-ent-geomextents blkname)
      pt1 (nth 0 Rec)
      ;;LL
      pt2 (nth 1 Rec)
	  ;;UR
)
;;;-----chia truong hop khung ngang, doc
(BatDau)
(command "RECTANG" pt1 pt2)
(KetThuc)
(setq el1 (entlast))		;el1
				;-----lay tile, mac dinh la :1

				;-----lay dinh HCN = acet-geom-vertex-list
(setq toadodinh	(acet-geom-vertex-list el1)
				;     	  rpt4----rpt3
      rpt1	(nth 0 toadodinh)
				;lay dinh                  |  el1 |
      rpt2	(nth 1 toadodinh)
				;lay dinh                 rpt1----rpt2
      rpt3	(nth 2 toadodinh) ;lay dinh 
      rpt4	(nth 3 toadodinh) ;lay dinh
      dis12	(distance rpt1 rpt2)
      dis14	(distance rpt1 rpt4)
)				;setq
				;----- Chia truong hop khung ngang va khung doc
(if (> dis12 dis14)
  (setq ngangdoc "l")		;T
  (setq ngangdoc "p")		;F
)
(command "ERASE" el1 "")
;;;-----------------------------------------------			
(if (or (= tenmayin "") (= tenkhogiay ""))
  (progn
    (princ "\nChua chon may in, kho giay!!!")
    (princ)
  )
  (progn
    (command "-PLOT"   "y"	 "Model"   tenmayin  tenkhogiay
	     "m"       ngangdoc	 "n"	   "Window"  pt1
	     pt2       "f"	 xyoffset  "y"
	     tenplotstyle	 "y"	   "Wireframe"
	     "n"       "y"	 "n"
	    )
    (command "PREVIEW")
  )
)
(setq i (1+ i))
     )					;while
   )					;progn
 )					;if
)					;defun
				;------------------------------------------------
(defun BatDau ()
 (setq OldOs (getvar "osmode"))
 (setvar "osmode" 0)
)
(defun KetThuc () (setvar "osmode" OldOs) (princ))

				;------------------------------------------------
(defun updatemethod ()
;;;--- Get the key of the choice made
 (setq slmethod (get_tile "printmethod"))
 (if (= slmethod "recmethod")
   (progn
     (mode_tile "khungtenchuan" 1)
     (mode_tile "khungten" 1)
     (mode_tile "rec" 0)
     (mode_tile "layerlist" 0)
   )
 )
 (if (= slmethod "blockmethod")
   (progn
     (mode_tile "khungtenchuan" 0)
     (mode_tile "khungten" 0)
     (mode_tile "rec" 1)
     (mode_tile "layerlist" 1)
   )
 )
)
(defun selectsort ()
 (setq slsort (get_tile "luachon"))
)
(defun offset ()
 (setq center (atoi (get_tile "center")))
 (if (= center 0)
   (progn
     (setq trucx (get_tile "trucx"))
     (setq trucy (get_tile "trucy"))
     (setq xyoffset (LM:lst->str (list trucx trucy) ","))
     (mode_tile "trucx" 0)
     (mode_tile "trucy" 0)
   )
 )
 (if (= center 1)
   (progn
     (setq xyoffset "c")
     (mode_tile "trucx" 1)
     (mode_tile "trucy" 1)
   )
 )
)
;;;;;;--------------------------------------
;;;(defun updatefit ()
;;;;;;--- Get the key of the choice made
;;;  (setq fit (get_tile "fittopaper"))
;;;  (if (= fit "fit")
;;;	(progn
;;;	  (vlax-put-property (ActLay) 'UseStandardScale "TRUE")
;;;      (mode_tile "numerator" 1)
;;;      (mode_tile "denominator" 1)
;;;	  ;(princ "\nFit")
;;;    )
;;;  )
;;;  (if (= fit "custom")
;;;  (progn
;;;		 (setq numerator (distof (get_tile "numerator"))
;;;	         denominator (distof (get_tile "denominator")))
;;;			 (vlax-put-property (ActLay) 'UseStandardScale "FALSE")
;;;		(vla-SetCustomScale (ActLay) numerator denominator); thiet lap ti le in
;;;		;(princ "\nCustom")
;;;		;(vla-Regen (vla-get-activedocument (vlax-get-acad-object)) acActiveViewport)
;;;      
;;;	  (mode_tile "numerator" 0)
;;;      (mode_tile "denominator" 0)
;;;    )
;;;  )
;;;)  
;;;;;-------------------
;;;;------------------------------------------------
(defun PlotToFile ()
 (setq	luupdf
 (getfiled
   " TPL-Save In:"
   (vlax-get-property
     (vlax-get-property
       (vlax-get-property (vlax-get-acad-object) 'Preferences)
       'Output
     )
     'DefaultPlotToFilePath
   )
   ""
   1
 )
 )
 (if (/= luupdf nil)
   (progn
     (setq drectluupdf (vl-filename-base luupdf)) ;
     (setq luupdf (vl-string-right-trim drectluupdf luupdf))
     (vlax-put-property
(vlax-get-property
  (vlax-get-property (vlax-get-acad-object) 'Preferences)
  'Output
)
'DefaultPlotToFilePath
luupdf
     )
     (vl-registry-write
"HKEY_CURRENT_USER\\TPL\\plottofile"
""
luupdf
     )
     (vl-registry-write
"HKEY_CURRENT_USER\\TPL\\plottofile"
""
luupdf
     )
     (set_tile	"tenduongdan"
	(vl-registry-read "HKEY_CURRENT_USER\\TPL\\plottofile")
     )
   )
 )
)
;;;--------------------------------------------------
(defun SSsort (ss)
;;;--- Get the key of the choice made
 (if (= slsort "l2r")
   (progn (princ "\nChon thu tu in: Left->Right")
   (setq
     lst (ss2ent ss)
     lst (vl-sort lst
		  '(lambda (e1 e2)
		     (<
		       (cadr (assoc 10 (entget e1)))
		       (cadr (assoc 10 (entget e2)))
		     )
		   )
	 )
   )

   )

   (progn (princ "\nChon thu tu in: Top->Bottom")
   (setq
     lst (ss2ent ss)
     lst (vl-sort lst
		  '(lambda (e1 e2)
		     (>
		       (caddr (assoc 10 (entget e1)))
		       (caddr (assoc 10 (entget e2)))
		     )
		   )
	 )
   )
   )
 )
)
				;----------------------------------
(defun BlockList ()			; lay danh sach block trong ban ve
 (setq blklist (list))
 (setq block (tblnext "BLOCK" T))
 (setq blklist (append blklist (list (cdr (assoc 2 block)))))
 (while (setq block (tblnext "BLOCK"))
   (setq blklist (append blklist (list (cdr (assoc 2 block)))))
 )
)
(defun LayerList ()			; lay danh sach block trong ban ve
 (setq lyrlist (list))
 (setq layr (tblnext "LAYER" T))
 (setq lyrlist (append lyrlist (list (cdr (assoc 2 layr)))))
 (while (setq layr (tblnext "LAYER"))
   (setq lyrlist (append lyrlist (list (cdr (assoc 2 layr)))))
 )
)
;;;-------------------------------------------------------
(defun ActLay ()
;;;get Active Layout
 (vla-get-ActiveLayout
   (vla-get-activedocument (vlax-get-acad-object))
 )
)
;;;-------------------------------------------------------
(defun PrintersList ()
;;;get Printers List- danh sach may in:STRING
 (vla-RefreshPlotDeviceInfo (ActLay))
 (vlax-safearray->list
   (vlax-variant-value (vla-GetPlotDeviceNames (ActLay)))
 )
)
;;;-------------------------------------------------------
(defun PaperList (/ PLObj PSL)
;;;get Paper Size List- danh sach kho giay: STRING
 (setq PLObj (vla-GetCanonicalMediaNames (ActLay)))
 (foreach i (vlax-safearray->list (vlax-variant-value PLObj))
   (setq PSL (append PSL (list (vla-GetLocaleMediaName (ActLay) i))))
 )
)
;;;-------------------------------------------------------
(defun PlotStyle ()
;;;danh sach style:STRING
 (vla-RefreshPlotDeviceInfo (ActLay))
 (vlax-safearray->list
   (vlax-variant-value (vla-GetPlotStyleTableNames (ActLay)))
 )
)
;;;-------------------------------------------------------
(defun ScaleFit	()
;;;Chuyen sang chon "Fit to paper"
 (vlax-put-property (ActLay) 'StandardScale acScaleToFit)
 (vlax-put-property (ActLay) 'PaperUnits acMillimeters)
				; mac dinh ma mm
)
				;(vlax-put-property (ActLay) 'UseStandardScale "TRUE")
				; TRUE: set la chon fit to paper, FALSE :set la` bo? chon abc
				;-------------------------------------------------------------- 
(defun registry	()
 (if (= (vl-registry-read "HKEY_CURRENT_USER\\TPL\\tenkhogiay")
 nil
     )
   (vl-registry-write "HKEY_CURRENT_USER\\TPL\\tenkhogiay")
 )
 (if (= (vl-registry-read "HKEY_CURRENT_USER\\TPL\\tenmayin")
 nil
     )
   (vl-registry-write "HKEY_CURRENT_USER\\TPL\\tenmayin")
 )
 (if (= (vl-registry-read "HKEY_CURRENT_USER\\TPL\\tenplotstyle")
 nil
     )
   (vl-registry-write "HKEY_CURRENT_USER\\TPL\\tenplotstyle")
 )
 (if (= (vl-registry-read "HKEY_CURRENT_USER\\TPL\\khungtenchuan")
 nil
     )
   (vl-registry-write "HKEY_CURRENT_USER\\TPL\\khungtenchuan")
 )
 (if (= (vl-registry-read "HKEY_CURRENT_USER\\TPL\\printmethod")
 nil
     )
   (vl-registry-write "HKEY_CURRENT_USER\\TPL\\printmethod")
 )
 (if (= (vl-registry-read "HKEY_CURRENT_USER\\TPL\\plottofile")
 nil
     )
   (vl-registry-write "HKEY_CURRENT_USER\\TPL\\plottofile")
 )
 (if (= (vl-registry-read "HKEY_CURRENT_USER\\TPL\\layer")
 nil
     )
   (vl-registry-write "HKEY_CURRENT_USER\\TPL\\layer")
 )
 (if (= (vl-registry-read "HKEY_CURRENT_USER\\TPL\\sort")
 nil
     )
   (vl-registry-write "HKEY_CURRENT_USER\\TPL\\sort")
 )
 (if (= (vl-registry-read "HKEY_CURRENT_USER\\TPL\\center")
 nil
     )
   (vl-registry-write "HKEY_CURRENT_USER\\TPL\\center")
 )
 (if (= (vl-registry-read "HKEY_CURRENT_USER\\TPL\\offsetx")
 nil
     )
   (vl-registry-write "HKEY_CURRENT_USER\\TPL\\offsetx")
 )
 (if (= (vl-registry-read "HKEY_CURRENT_USER\\TPL\\offsety")
 nil
     )
   (vl-registry-write "HKEY_CURRENT_USER\\TPL\\offsety")
 )
;;;;tu ftpaper
;;;  (if (= (vl-registry-read "HKEY_CURRENT_USER\\TPL\\fittopaper\\tu")
;;;	 nil
;;;      )
;;;    (vl-registry-write "HKEY_CURRENT_USER\\TPL\\fittopaper\\tu")
;;;  )
;;;;mau ftpaper
;;;  (if (= (vl-registry-read "HKEY_CURRENT_USER\\TPL\\fittopaper\\mau")
;;;	 nil
;;;      )
;;;    (vl-registry-write "HKEY_CURRENT_USER\\TPL\\fittopaper\\mau")
;;;  )
;;;; ftpaper
;;;  (if (= (vl-registry-read "HKEY_CURRENT_USER\\TPL\\fittopaper\\fit")
;;;	 nil
;;;      )
;;;    (vl-registry-write "HKEY_CURRENT_USER\\TPL\\fittopaper\\fit")
;;;  )  

)
(defun ss2ent (ss / sodt index lstent)
 (setq
   sodt  (if ss
    (sslength ss)
    0
  )
   index 0
 )
 (repeat sodt
   (setq ent	 (ssname ss index)
  index	 (1+ index)
  lstent (cons ent lstent)
   )
 )
 (reverse lstent)
)
				;------------------------------------
(defun LM:lst->str (lst del)
 (
  (lambda (str)
    (foreach x (cdr lst) (setq str (strcat str del x)))
    str
  )
   (car lst)
 )
)
;;;------------------------------
(defun c:in () (c:tpl))
(defun c:mp () (c:tpl))
(defun laykungten ()
(setq maublk (car (entsel "\nChon BLOCK khung ten: ")))
(if (= (cdr (assoc 0 (entget maublk))) "INSERT")
  (progn
    (setq tenblk (cdr (assoc 2 (entget maublk))))
    (vl-registry-write
      "HKEY_CURRENT_USER\\TPL\\khungtenchuan"
      ""
      tenblk
    )				; luu ten may in
  )
  (progn
  (alert "!!!Khung Ten Phai La BLOCK!!!")
  (setq tenblk
  (vl-registry-read
      "HKEY_CURRENT_USER\\TPL\\khungtenchuan")
	)
  )
)
)

 

DCL:

 

TPL : dialog { 
         label = "   TPL-IN-MP - nguyentuyen86"; 
         : column { 
           : boxed_row {
           label = "Setting";
           : radio_column { 
             key = "mychoice"; 
            : popup_list {
               key = "tenmayin";
               label = "Printer       ";
               fixed_width_font = fasle;
               //width = 30;
               value = "";
             }
             : popup_list {
               key = "khogiay";
               label = "Paper Size";
               fixed_width_font = fasle;
              // width = 30;
               value = "";
             }
             : popup_list {
               key = "plotstyle";
               label = "Plot Style  ";
               fixed_width_font = fasle;
              // width = 30;
               value = "";
             }

             }
}
:row {
: boxed_row {
           label = "Print Method";
           : radio_column { 
             key = "printmethod"; 
             : radio_button {
               key = "blockmethod";
               label = "Block";
               value = 1;
             }
             : radio_button {
               key = "recmethod";
               label = "Rectangle";
             }
             }
:column {
       :row {      : edit_box {
               key = "khungtenchuan";
               label = "         ";
           width = 20;
               fixed_width_font = fasle;
               value = "";
             }
           : button {
               key = "khungten";
               label = "Pick";
               is_default = false;
             }
             }

          :row {   : popup_list {
               key = "layerlist";
               label = "Layer";
               fixed_width_font = fasle;
               width = 0;
               value = "";
             }
//              : button {
//                key = "rec";
//                label = "Creat Rec..";
//                is_default = false;
//                width = 0;
//              }
             }

             }

}

           }

: boxed_row {
           label = "Plot To File ";
          : edit_box {
               key = "tenduongdan";
               label = "Save in";
           width = 30;
               fixed_width_font = fasle;
               value = "";
             }
           : button {
               key = "datduongdan";
               label = "...";
               is_default = false;
             }

           }
: boxed_row {
           label = "Sort";
    : radio_row { 
             key = "luachon"; 
            : radio_button {
               key = "nsrt";
              label = "Nomal";
               value = 1;
             }
             : radio_button {
               key = "l2r";
               label = "Left->Right";
             }
            : radio_button {
               key = "t2b";
               label = "Top->Bottom";
             }
            }
             }
  : boxed_row {
           label = "Plot offset";
           : toggle {
               key = "center";
               label = "Center";
           //width = 0;
           //    fixed_width_font = fasle;
               value = "1";
             }
             spacer_1;
           : edit_box {
               key = "trucx";
               label = "X";
           //width = 0;
               fixed_width_font = fasle;
               value = "1";
             }
             : edit_box {
               key = "trucy";
               label = "Y";
          // width = 0;
               fixed_width_font = fasle;
               value = "1";
             }

             }

             : boxed_row {
: button {
               key = "print";
               label = " Print ";
               is_default = true;


             }

: button {
               key = "preview";
               label = " Preview ";
               is_default = false;


             }
: button {
               key = "cancel";
               label = " Cancel ";
               is_default = false;
               is_cancel = false;


             }              
           }
      : text { 
         value = "                    nguyentuyen86@gmail.com";
       }         

         } 
}

  • Vote tăng 4

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

Lisp này nếu in sang pdf có thể ghi tên tự động thì tuyệt. Ví dụ mình in 20 bản vẽ cùng lúc, mình chỉ cần gõ tên bản vẽ đầu tiên là 5 thì nó sẽ tự động ghi tên các bản vẽ tiếp theo là 6,7...24. Chắc là khó đây vì cái này phụ thuộc vào kiểu máy in, không biết có kiểu máy in ảo nào có thể làm được việc đó không nhỉ. Nhân tiện hỏi bác nguyentuyen một chút, mình gõ lệnh (Command "PLOT" "") sao không thấy có phần Preview trong đó nhĩ. Thanks.

 

Có cái (command "PREVIEW") mà bạn. Nếu bạn biết Lisp thì mình làm cái đó ở chỗ này

 

(progn
    (command "-PLOT"   "y"	 "Model"   tenmayin  tenkhogiay
	     "m"       ngangdoc	 "n"	   "Window"  pt1
	     pt2       "f"	 xyoffset  "y"
	     tenplotstyle	 "y"	   "Wireframe"
	     "n"       "y"	 "n"
	    )
    (command "PREVIEW")
  )

  • 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âu trả lời gây ra bất ngờ lớn cho mình ^^ Thanks bạn rất nhiều

 

P/S : nếu có thể, bạn hãy cố gắng thay các hàm Express sử dụng trong chương trình, cũng không hóc hiểm quá, như vậy thì sẽ càng tuyệt vời hơn :wub:

  • 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ó cái (command "PREVIEW") mà bạn. Nếu bạn biết Lisp thì mình làm cái đó ở chỗ này

 

(progn
    (command "-PLOT"   "y"	 "Model"   tenmayin  tenkhogiay
	     "m"       ngangdoc	 "n"	   "Window"  pt1
	     pt2       "f"	 xyoffset  "y"
	     tenplotstyle	 "y"	   "Wireframe"
	     "n"       "y"	 "n"
	    )
    (command "PREVIEW")
  )

Mình cũng biết chút xíu lisp. Nhưng giờ mới biết hàm (Command "PREVIEW") hihi. Cứ tưởng nó nằm trong hàm "Command "PLOT" "Y") luôn chứ.

Cảm ơn bạn đã chia sẽ. Thanks.

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

Lisp quá tuyệt vời bác. Thanks bác nhiều lắm. Nhờ lisp này mà mình đỡ tốn một khoản thời gian chuyển cad-> pdf. Mình cũng đã viết một lisp về in nhưng khá thủ công và không thể Multiple như của bác đựơc. Sao mình không thấy nút "Thanks" chỗ nào nhĩ. Một lần nữa xin cảm ơn nhuyentuyen

Các bác PRO sửa giúp cái mục Preview của lisp này với ạ ? Lisp rất hay nhưng lỗi chức năng đó

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

Em dùng lisp nhưng nó báo lỗi:

 

From nguyentuyen6 @CadViet

Cai Express-Tools truoc khi su dung!!!; error: bad argument type: stringp nil

 

trong khi cad2007 của em có cài Express đàng hoàng mà.

 

Các bác giúp em cách sửa lỗi với.

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

×