Đến nội dung


Hình ảnh
- - - - -

Xin các pác viết dùm lisp ở lệnh text fit


  • Please log in to reply
5 replies to this topic

#1 tuan_thietkedien

tuan_thietkedien

    biết lệnh mirror

  • Members
  • PipPipPip
  • 153 Bài viết
Điểm đánh giá: 15 (tàm tạm)

Đã gửi 23 September 2008 - 11:26 AM

Chào cả nhà

Tớ thường sử dụng lệnh text fit để thay đổi width factor theo chiều dài khung định trước.

Mà cái lệnh này mỗi lần dùng chỉ dùng được cho 1 text thôi. Hàng ngày tớ dùng rất nhiều nên nhờ pác nào có thể viết dùng lisp để ứng dụng hàng loạt text.

http://www.cadviet.c...s/tham_khao.jpg

Cảm ơn các pác nhiều.

Tuấn tiger19812004@yahoo.co.jp
  • 0

#2 duy782006

duy782006

    PHẠM QUỐC DUY

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 2155 Bài viết
Điểm đánh giá: 1360 (rất tốt)

Đã gửi 24 September 2008 - 09:19 AM

Chào cả nhà

Tớ thường sử dụng lệnh text fit để thay đổi width factor theo chiều dài khung định trước.

Mà cái lệnh này mỗi lần dùng chỉ dùng được cho 1 text thôi. Hàng ngày tớ dùng rất nhiều nên nhờ pác nào có thể viết dùng lisp để ứng dụng hàng loạt text.

http://www.cadviet.c...s/tham_khao.jpg

Cảm ơn các pác nhiều.

Tuấn tiger19812004@yahoo.co.jp


Lệnh là TEXTFITM.
-Vì áp dụng cho nhiều text nên tiện ích không tự nhận điểm đầu tiên mà bạn phải chọn cả điểm bắt đầu và kết thúc (nhập giá trị độ dài bằng số cũng được).
-Tiện ích chỉ thay đổi độ rộng các dòng text bằng với khoảng độ dài mới (chọn 2 điểm hoặc nhập giá trị số) còn lại điểm canh lề thứ nhất và góc quay vẫn giữ nguyên.


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(Defun c:textfitm ( )
(princ "\nPHAM QUOC DUY Binh Son - Quang ngai")
(Princ "\nHay chon doi tuong :")
(setq SS (ssget '((0 . "TEXT"))))

(SETQ NDT (GETDIST "\nNhap do rong : "))

(setq i 0)
(setq N (sslength ss))
(while (< i N)
(setq TEXTENT (ssname SS i))

(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)

(command "ucs" "object" textent)
(setq tbTB (textbox (list (cons -1 textent)))
ll (car tbTB)
ur (cadr tbTB)
ul (list (car ll) (cadr ur))
lr (list (car ur) (cadr ll))
)

(setq daitext (distance ul lr))

(setq e (entget TEXTENT))

(setq tilehientai (cdr (assoc 41 e)))
(setq daitextthuc (/ daitext tilehientai))
(setq tilexmoi (/ NDT daitextthuc))

(setq e (subst (cons 41 tilexmoi) (assoc 41 e) e))
(entmod e)

(command "ucs" "p")

(setq i (1+ i))

(setvar "osmode" luubatdiem)

)
(Princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


  • 0

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#3 tuan_thietkedien

tuan_thietkedien

    biết lệnh mirror

  • Members
  • PipPipPip
  • 153 Bài viết
Điểm đánh giá: 15 (tàm tạm)

Đã gửi 24 September 2008 - 01:10 PM

Lệnh là TEXTFITM.
-Vì áp dụng cho nhiều text nên tiện ích không tự nhận điểm đầu tiên mà bạn phải chọn cả điểm bắt đầu và kết thúc (nhập giá trị độ dài bằng số cũng được).
-Tiện ích chỉ thay đổi độ rộng các dòng text bằng với khoảng độ dài mới (chọn 2 điểm hoặc nhập giá trị số) còn lại điểm canh lề thứ nhất và góc quay vẫn giữ nguyên.


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(Defun c:textfitm ( )
(princ "\nPHAM QUOC DUY Binh Son - Quang ngai")
(Princ "\nHay chon doi tuong :")
(setq SS (ssget '((0 . "TEXT"))))

(SETQ NDT (GETDIST "\nNhap do rong : "))

(setq i 0)
(setq N (sslength ss))
(while (< i N)
(setq TEXTENT (ssname SS i))

(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)

(command "ucs" "object" textent)
(setq tbTB (textbox (list (cons -1 textent)))
ll (car tbTB)
ur (cadr tbTB)
ul (list (car ll) (cadr ur))
lr (list (car ur) (cadr ll))
)

(setq daitext (distance ul lr))

(setq e (entget TEXTENT))

(setq tilehientai (cdr (assoc 41 e)))
(setq daitextthuc (/ daitext tilehientai))
(setq tilexmoi (/ NDT daitextthuc))

(setq e (subst (cons 41 tilexmoi) (assoc 41 e) e))
(entmod e)

(command "ucs" "p")

(setq i (1+ i))

(setvar "osmode" luubatdiem)

)
(Princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


  • 0

#4 tuan_thietkedien

tuan_thietkedien

    biết lệnh mirror

  • Members
  • PipPipPip
  • 153 Bài viết
Điểm đánh giá: 15 (tàm tạm)

Đã gửi 24 September 2008 - 01:15 PM

Tớ đã dùng thử rồi.

Cám ơn bạn Duy nhiều.

Không biết là để viết được lisp như vậy thì học có khó không.

Bởi vì tớ định hỏi Duy thêm vài lisp nữa.

Nếu được thì xin Duy chỉ giáo nha.

Rãnh rỗi mời Duy ucf.^^ :cheers:
  • 0

#5 duy782006

duy782006

    PHẠM QUỐC DUY

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 2155 Bài viết
Điểm đánh giá: 1360 (rất tốt)

Đã gửi 24 September 2008 - 01:41 PM

Tớ đã dùng thử rồi.

Cám ơn bạn Duy nhiều.

Không biết là để viết được lisp như vậy thì học có khó không.

Bởi vì tớ định hỏi Duy thêm vài lisp nữa.

Nếu được thì xin Duy chỉ giáo nha.

Rãnh rỗi mời Duy ucf.^^ :cheers:

Bạn cứ nêu yêu cầu mọi người trên diễn đàn ai giúp được sẽ giúp.
Học lisp theo mình thì củng không khó lắm.
  • 0

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#6 tuan_thietkedien

tuan_thietkedien

    biết lệnh mirror

  • Members
  • PipPipPip
  • 153 Bài viết
Điểm đánh giá: 15 (tàm tạm)

Đã gửi 25 September 2008 - 09:07 AM

@Duy : nếu Duy có giáo trình nào tự học lisp dễ hiểu thì xin cho tớ link để down nha

HÔm nay có 2 lisp nhờ mọi người chỉ giáo

Lisp 1 : Lineweight của tất cả màu tím - magenta ; màu xanh - cyan là 0.09mm

tất cả màu trắng - white là 0.2mm

tất cả màu vàng - yellow ; màu đỏ - red là 0.3mm

Lisp 2 : lệnh về sử dụng Quickleader

http://www.cadviet.c...files/BOOK1.xls

Về Quickleader tớ dùng nhiều lắm nên nếu có thề áp dụng hàng loạt thí quá tốt.

Cám ơn các pác nhiều.
  • 0