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

Lisp đánh số trang trong AutoCAD

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

thân gửi anh em !

tiện ích nhỏ này tôi viết cũng lâu rùi , cũng hữu ích !

http://www.cadviet.com/upfiles/SO_TRANG.lsp

Cảm ơn bạn huygauls.

 

xin nói kỹ hơn về lisp này để mọi người hiểu về chức năng và cách sử dụng lisp.

Tên lệnh là TM.

 

Khi chạy lệnh TM, màn hình CAD sẽ như sau:

tm

Unknown command "TM". Press F1 for help.

Diem bat dau so thu nhat :

Khoang cach giua cac so : Specify second point:

Goc quay cua day so lieu : 0

So to :5

Gia tri dau tien :

Nhap chenh lech:

chieu cao chu :

nil

 

Mã lệnh trong file SO_TRANG.lsp:

(DEFUN intro()
          (textscr) 
                 (prompt "\n                         Write by NGUYEN DUONG HUY - CCIC HA NOI ")


     (prompt "\n Ha Noi 24 -12-2005")

)
(intro)
(defun c:tm (/ pt1 dst dir hn nn ctk te m)
    (setvar "cmdecho" 0 )  

(command ".-style" "huy" ".VnArialH" "" "" "" "" "")


(command "-layer" "n" "KHUNG " "colour" "W" "KHUNG " "")
 (command "-layer" "s" "KHUNG" "" "")


 (setq pt1 (getpoint "\n Diem bat dau so thu nhat :")
dst (getdist "\n Khoang cach giua cac so :")
 dir (getorient "\n Goc quay cua day so lieu : ")

hn (getint "\n So to :"))
(prompt "\n Gia tri dau tien :")
(setq nn  (getreal))
	(if (null nn)(setq nn 10))
   (prompt "\nNhap chenh lech:")
   (setq ctk (getreal)) 
(if (null ctk)(setq ctk 1))

   (prompt "\n chieu cao chu :")
 (setq m (getreal))
	(if (null m)(setq m 1.5))

 (command "text" "c" pt1 m 0 (strcat "to so " (rtos nn 2 0)))
 (repeat hn
   (setq pt1 (polar pt1 dir dst))
   (command "text" "c" pt1 m 0 (strcat "to so " (rtos (setq nn (+ nn ctk)) 2 0))
   )))

Chức năng, giống như đánh Page number của MS Word.

Yêu cầu người dùng nhập vào:

- Điểm đặt text của trang đầu tiên

- Khoảng cách giữa các trang

- hướng phát triển của các trang (theo chiều từ trái sang phải là 0 độ, dưới lên trên là 90 độ, phải sang trái là 180 và trên xuống dưới là 270.

- Giá trị đầu tiên

- Số trang.

 

Lisp này hơi giống với lệnh TCount hay một số text tăng giá trị của diễn đàn. Tuy nhiên nó có sự khác biệt là đặc dụng cho đánh số trang khi các bản vẽ được đặt cạnh nhau và với kích thước giống hệt nhau.

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

Gui anh hoành !

tôi thấy có chỗ vẫn chưa giải quyết được bác hoành giúp nhé

- lisp có chức năng nhảy số trang song thấy mội số nơi số trang được đánh = Stt / tổng số trang

 

VD : tờ số 1 / 9

tôi chưa nghép được hàm strcat , Anh hoành xử lý giúp nhé ! thank

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
Gui anh hoành !

- lisp có chức năng nhảy số trang song thấy mội số nơi số trang được đánh = Stt / tổng số trang

VD : tờ số 1 / 9

tôi chưa nghép được hàm strcat , Anh hoành xử lý giúp nhé ! thank

Đoạn mã dưới đây tôi đã ghép thêm tổng số trang vào cuối của hàm strcat (chỗ tô màu đỏ).

(DEFUN intro()
(textscr)
(prompt "\n Write by NGUYEN DUONG HUY - CCIC HA NOI ")


(prompt "\n Ha Noi 24 -12-2005")

)
(intro)
(defun c:tm (/ pt1 dst dir hn nn ctk te m)
(setvar "cmdecho" 0 )

(command ".-style" "huy" ".VnArialH" "" "" "" "" "")


(command "-layer" "n" "KHUNG " "colour" "W" "KHUNG " "")
(command "-layer" "s" "KHUNG" "" "")


(setq pt1 (getpoint "\n Diem bat dau so thu nhat :")
dst (getdist "\n Khoang cach giua cac so :")
dir (getorient "\n Goc quay cua day so lieu : ")

hn (getint "\n So to :"))
(prompt "\n Gia tri dau tien :")
(setq nn (getreal))
(if (null nn)(setq nn 10))
(prompt "\nNhap chenh lech:")
(setq ctk (getreal))
(if (null ctk)(setq ctk 1))

(prompt "\n chieu cao chu :")
(setq m (getreal))
(if (null m)(setq m 1.5))

(command "text" "c" pt1 m 0 (strcat "to so " (rtos nn 2 0) [b][color="#FF0000"]"/" (itoa hn)[/color][/b]))
(repeat hn
(setq pt1 (polar pt1 dir dst))
(command "text" "c" pt1 m 0 (strcat "to so " (rtos (setq nn (+ nn ctk)) 2 0) [b][color="#FF0000"]"/" (itoa hn)[/color][/b])
)))

  • 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

 

Đoạn mã dưới đây tôi đã ghép thêm tổng số trang vào cuối của hàm strcat (chỗ tô màu đỏ).

(DEFUN intro()(textscr)(prompt "\n Write by NGUYEN DUONG HUY - CCIC HA NOI ")(prompt "\n Ha Noi 24 -12-2005"))(intro)(defun c:tm (/ pt1 dst dir hn nn ctk te m)(setvar "cmdecho" 0 )(command ".-style" "huy" ".VnArialH" "" "" "" "" "")(command "-layer" "n" "KHUNG " "colour" "W" "KHUNG " "")(command "-layer" "s" "KHUNG" "" "")(setq pt1 (getpoint "\n Diem bat dau so thu nhat :")dst (getdist "\n Khoang cach giua cac so :")dir (getorient "\n Goc quay cua day so lieu : ")hn (getint "\n So to :"))(prompt "\n Gia tri dau tien <1>:")(setq nn (getreal))(if (null nn)(setq nn 10))(prompt "\nNhap chenh lech<1>:")(setq ctk (getreal))(if (null ctk)(setq ctk 1))(prompt "\n chieu cao chu :<1.5>")(setq m (getreal))(if (null m)(setq m 1.5))(command "text" "c" pt1 m 0 (strcat "to so " (rtos nn 2 0) <strong class='bbc'>"/" (itoa hn)</strong>))(repeat hn(setq pt1 (polar pt1 dir dst))(command "text" "c" pt1 m 0 (strcat "to so " (rtos (setq nn (+ nn ctk)) 2 0) <strong class='bbc'>"/" (itoa hn)</strong>))))

Cảm ơn anh Nguyen Hoanh đã chia sẻ để anh em khăp mọi miền tổ quốc,nâng cao trình độ chuyên muôn, nghiệp vụ!

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

×