Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
Đăng nhập để thực hiện theo  
sonvaquynh

Xin lisp bật tắt lệnh tắt của cad

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

sonvaquynh    1

Các bạn cho hỏi có lisp nào dùng để on/off chế độ sử dụng phím tắt trong cad không. Vì công ty mình không cho phép chỉnh phím tắt trong cad. nên nếu sếp kiểm tra mình sẽ dùng lisp để on/off cho nhanh.tks các bạn

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
ndtnv    397

Các bạn cho hỏi có lisp nào dùng để on/off chế độ sử dụng phím tắt trong cad không. Vì công ty mình không cho phép chỉnh phím tắt trong cad. nên nếu sếp kiểm tra mình sẽ dùng lisp để on/off cho nhanh.tks các bạn

- Tạo 2 file acad.pgp gốc và đã chỉnh sửa

- Sửa lại path cho phù hợp

 

(defun c:on ( / ) (pgp "D:/CAD/myacad.pgp"))
(defun c:off ( / ) (pgp "D:/CAD/orgacad.pgp"))
(defun pgp (f / )
(vl-file-delete "D:/CAD/acad.pgp")    
(vl-file-copy f  "D:/CAD/acad.pgp")    
(vl-cmdf "RE-INIT" 16 ))

@Sorry, chưa test khi đã có file. Đã sửa lại code

  • 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
ndtnv    397

Cho hỏi tí: tại sao phải delete vậy?

Nếu file đã tồn tại thì vl-file-copy không thực hiện và trả về nil

Trong help

(vl-file-copy source-file destination-file [append])

....

 

append

If specified and not nil, source-file is appended to destination-file (that is, copied to the end of the destination file).

If specified and not nil, source-file is appended to destination-file (that is, copied to the end of the destination file).

Return Values

An integer, if the copy was successful; otherwise nil.

Some typical reasons for returning nil are

 

  • source-file is not readable
  • source-file is a directory
  • append? is absent or nil and destination-file exists
  • destination-file cannot be opened for output (that is, it is an illegal file name or a write-protected file)
  • source-file is the same as destination-file
  •  

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
ketxu    2.653

Đấy, tại sao mất công tạo lisp gọi file lệnh tắt mà không viết luôn lisp đặt lệnh tắt ^^

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
Doan Van Ha    2.679

 

Nếu file đã tồn tại thì vl-file-copy không thực hiện và trả về nil

Trong help

(vl-file-copy source-file destination-file [append])

....

 

append

If specified and not nil, source-file is appended to destination-file (that is, copied to the end of the destination file).

If specified and not nil, source-file is appended to destination-file (that is, copied to the end of the destination file).

Return Values

An integer, if the copy was successful; otherwise nil.

Some typical reasons for returning nil are

 

  • source-file is not readable
  • source-file is a directory
  • append? is absent or nil and destination-file exists
  • destination-file cannot be opened for output (that is, it is an illegal file name or a write-protected file)
  • source-file is the same as destination-file
  •  

Lý do màu xanh chứ đâu phải màu đỏ nhỉ?

The vl-file-copy function will not overwrite an existing file; it will only append to it.

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
ndtnv    397

Lý do màu xanh chứ đâu phải màu đỏ nhỉ?

The vl-file-copy function will not overwrite an existing file; it will only append to it.

Trong help không nói phần này, nhưng test trên máy tôi thì nếu file tồn tại, lệnh trên không thực hiện. Vì vậy thêm dòng này cho chắc ăn.

Nếu file chưa có thì vl-file-delete trả về nil cũng không ảnh hưở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
Doan Van Ha    2.679

Ngộ nhỉ! Help cad 2007 đầy đủ thì ý thế này: nếu file chưa có thì ghi mới, nếu file đã có thì ghi nối, chứ không ghi đè.

Nguyên bản Help như thế này, cho nên del để nó không dài lê thê sau mỗi lần ghi là hợp lý.

 

Copies or appends the contents of one file to another file

(vl-file-copy source-file destination-file [append])

Copy or append the contents of one file to another file. The vl-file-copy function will not overwrite an existing file; it will only append to it.

Arguments

source-file

A string naming the file to be copied. If you do not specify a full path name, vl-file-copy looks in the AutoCAD default drawing directory.

destination-file

A string naming the destination file. If you do not specify a path name, vl-file-copy writes to the AutoCAD default drawing directory.

append

If specified and not nil, source-file is appended to destination-file (that is, copied to the end of the destination file).

Return Values

An integer, if the copy was successful; otherwise nil.

Some typical reasons for returning nil are

  • source-file is not readable
  • source-file is a directory
  • append? is absent or nil and destination-file exists
  • destination-file cannot be opened for output (that is, it is an illegal file name or a write-protected file)
  • source-file is the same as destination-file

Examples

Copy autoexec.bat to newauto.bat:

_$ (vl-file-copy "c:/autoexec.bat" "c:/newauto.bat")1417

Copy test.bat to newauto.bat:

_$ (vl-file-copy "c:/test.bat" "c:/newauto.bat")nil

The copy fails because newauto.bat already exists, and the append argument was not specified.

Repeat the previous command, but specify append:

_$ (vl-file-copy "c:/test.bat" "c:/newauto.bat" T)185

The copy is successful because T was specified for the append argument.

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
ketxu    2.653

Nhân tiện tặng OP cái đặt lệnh tắt nhanh, bạn thích thì xài

Nhìn mã chắc bạn hiểu, muốn thêm gì thì bạn làm tương tự, ở chỗ *AliasList* ý.

Dùng On để kích hoạt. Off là loại bỏ nhưng hạn chế dùng thôi (lúc có sếp thôi ^^) vì nó có nhược điểm là loại trừ cả Alias gốc

 

;Free from Member of CadMagic Group
(grtext -1 "Free from CadMagic Group")
(setq *Aliaslst*
	'(
		("C" . "COPY")
		("CC" . "CIRCLE")
		("MM" . "MATCHPROP")
		;...		
	)
)
 
(defun c:on(/)
(mapcar 
	(function
		(lambda(x)
			(eval
				(read
					(strcat 
						"(defun c:"
						(car x)
						"()(command  \""
						(cdr x)
						"\"))"
					)
				)
			)
		)
	)
	*Aliaslst*
)
)
(defun c:off () 
(mapcar 
	(function
		(lambda(x)
			(set
				(read
					(strcat 
						"c:"
						(car x)						
					)
				)
				nil
			)
		)
	)
	*Aliaslst*
)
;(setvar 'RE-INIT 16)
)

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  

×