Đến nội dung


Hình ảnh
- - - - -

Lisp đánh số trang trong AutoCAD


  • Please log in to reply
6 replies to this topic

#1 huygauls

huygauls

    biết zoom

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

Đã gửi 27 October 2007 - 05:38 PM

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

#2 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4105 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 27 October 2007 - 05:47 PM

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 <1>:
Nhap chenh lech<1>:
chieu cao chu :<1.5>
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 <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)))
(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.
  • 0

#3 huygauls

huygauls

    biết zoom

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

Đã gửi 29 October 2007 - 08:26 PM

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

#4 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4105 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 29 October 2007 - 09:46 PM

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

  • 0

#5 huygauls

huygauls

    biết zoom

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

Đã gửi 30 October 2007 - 06:24 AM

Cám ơn anh Hoành !
Tôi ở hà nội , Hy vọng hôm nào được gặp anh !
  • 0

#6 nanovinh

nanovinh

    Chưa sử dụng CAD

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

Đã gửi 30 August 2013 - 02:39 PM

Anh em bày mình cách dow ve máy cái...minh mới tham gia nên cung không biết gì :wub:


  • 0

#7 intelligent

intelligent

    biết vẽ circle

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

Đã gửi 03 December 2013 - 09:07 AM

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


  • 0