Đến nội dung


Hình ảnh
- - - - -

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


  • Please log in to reply
13 replies to this topic

#1 sonvaquynh

sonvaquynh

    biết vẽ line

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

Đã gửi 22 September 2013 - 08:11 PM

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


  • 0

#2 Namvanvo

Namvanvo

    Edu level: li5

  • Members
  • PipPipPipPipPip
  • 386 Bài viết
Điểm đánh giá: 42 (tàm tạm)

Đã gửi 22 September 2013 - 11:43 PM

cut file acad.pgp và giấu vào chỗ nào đó. khi nào cần on thì trả nó lại nơi mà nó đã bị bắt đi  :D


  • 0

#3 sonvaquynh

sonvaquynh

    biết vẽ line

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

Đã gửi 23 September 2013 - 08:25 AM

Như thế cũng không tiện lắm, mình cần phản ứng nhanh mà.tks bạn


  • 0

#4 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 23 September 2013 - 08:31 AM

Sử dụng lisp để đặt phím tắt, k ảnh hưởng đến ai :)


  • 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


#5 ndtnv

ndtnv

    biết lệnh minsert

  • Members
  • PipPipPipPipPipPip
  • 437 Bài viết
Điểm đánh giá: 384 (khá)

Đã gửi 23 September 2013 - 09:23 AM

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


  • 2

#6 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 23 September 2013 - 10:46 AM

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


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


#7 ndtnv

ndtnv

    biết lệnh minsert

  • Members
  • PipPipPipPipPipPip
  • 437 Bài viết
Điểm đánh giá: 384 (khá)

Đã gửi 23 September 2013 - 10:58 AM

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
  •  

  • 0

#8 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 23 September 2013 - 11:15 AM

Đấ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 ^^


  • 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


#9 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 23 September 2013 - 11:20 AM

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.


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


#10 ndtnv

ndtnv

    biết lệnh minsert

  • Members
  • PipPipPipPipPipPip
  • 437 Bài viết
Điểm đánh giá: 384 (khá)

Đã gửi 23 September 2013 - 11:27 AM

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.


  • 0

#11 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 23 September 2013 - 11:35 AM

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.


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


#12 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 23 September 2013 - 11:53 AM

Gán append mới nối mà bác ^^ 


  • 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


#13 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 23 September 2013 - 12:33 PM

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

  • 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


#14 TRAMNAMTINHDAU

TRAMNAMTINHDAU

    Chưa sử dụng CAD

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

Đã gửi 09 October 2013 - 12:00 PM

Chỉ cần thêm lệnh tắt thôi, những lệnh mặc đinh vẫn giữ nguyên, thì ko ảnh hưởng tới ai! 


  • 0