Đến nội dung


Hình ảnh
- - - - -

Lisp đổi Text được chọn có chiều cao Height=0.2 và Width factor = 3 ????


  • Please log in to reply
4 replies to this topic

#1 hhhhgggg

hhhhgggg

    biết dimedit

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

Đã gửi 03 December 2008 - 04:39 PM

bác Pro nào viết cho em cái Lisp đổi Text được chọn thành Text có chiều cao Height=0.2 và Width factor = 3, Em chân thành cảm ơn ????
  • 0
Hoàng Giang

#2 gia_bach

gia_bach

    biết lệnh adcenter

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

Đã gửi 04 December 2008 - 07:36 AM

bác Pro nào viết cho em cái Lisp đổi Text được chọn thành Text có chiều cao Height=0.2 và Width factor = 3, Em chân thành cảm ơn ????


Bạn dùng thử LISP này :
Không biết bạn có gõ nhầm không? thực tế tui thấy bản vẽ ít dùng text có Width factor = 3
(defun C:ChangeText( / ss e d )
(setq ss (ssget '((0 . "TEXT")))
)
(while (setq e (ssname ss 0))
(setq d (entget e)
d (subst (cons 40 0.2) (assoc 40 d) d) ; Height=0.2
d (subst (cons 41 3) (assoc 41 d) d) ; Width factor = 3
)
(entmod d)
(ssdel e ss)
)
(princ)
)

  • 0

#3 hhhhgggg

hhhhgggg

    biết dimedit

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

Đã gửi 04 December 2008 - 07:53 AM

Bạn dùng thử LISP này :
Không biết bạn có gõ nhầm không? thực tế tui thấy bản vẽ ít dùng text có Width factor = 3

(defun C:ChangeText( / ss e d )
(setq ss (ssget '((0 . "TEXT")))
)
(while (setq e (ssname ss 0))
(setq d (entget e)
d (subst (cons 40 0.2) (assoc 40 d) d) ; Height=0.2
d (subst (cons 41 3) (assoc 41 d) d) ; Width factor = 3
)
(entmod d)
(ssdel e ss)
)
(princ)
)

Ok ! Lisp của bác Gia_Bach chạy ngon lắm. Thực tế Text ban đầu có Width Factor = 1. Đó lá chương trình Nova nó chạy ra là như thế và mặc định cũng là 1 mà. Cảm ơn bác nhiều nhé !
  • 0
Hoàng Giang

#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 04 December 2008 - 02:50 PM

Bạn dùng thử LISP này :
Không biết bạn có gõ nhầm không? thực tế tui thấy bản vẽ ít dùng text có Width factor = 3

(defun C:ChangeText( / ss e d )
(setq ss (ssget '((0 . "TEXT")))
)
(while (setq e (ssname ss 0))
(setq d (entget e)
d (subst (cons 40 0.2) (assoc 40 d) d) ; Height=0.2
d (subst (cons 41 3) (assoc 41 d) d) ; Width factor = 3
)
(entmod d)
(ssdel e ss)
)
(princ)
)


Chào bác gia bach

Mình đang muốn tìm hiểu về lisp nên mong bác phân tích 1 chút về cái lisp này.
Ví dụ như lệnh ssget, ssname, entget, entmod, ssdel có ý nghĩa như thế nào?

Giả sử mình viết thêm đoạn code về lineweight, Style, ... thì theo bên dưới mong bác hướng dẫn dùm.
(defun C:ChangeText( / ss e d )
(setq ss (ssget '((0 . "TEXT")))
)
(while (setq e (ssname ss 0))
(setq d (entget e)
d (subst (cons 40 0.2) (assoc 40 d) d) ; Height=0.2
d (subst (cons 41 3) (assoc 41 d) d) ; Width factor=3
d (subst (cons 1) (assoc d) d) ; Linetype Scale=1
d (subst (cons 0.2) (assoc d) d) ; Lineweight=0.2
d (subst (cons ORIGINAL) (assoc d) d) ; Style=ORIGINAL
)
(entmod d)
(ssdel e ss)
)
(princ)
)

Mình thấy Autolisp rất hay, hu74u ích trong công việc vẽ Cad nên mong mọi người chỉ giáo thêm về Autolisp.

Xin cảm ơn rất nhiều.
  • 0

#5 gia_bach

gia_bach

    biết lệnh adcenter

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

Đã gửi 04 December 2008 - 04:06 PM

...
Mình thấy Autolisp rất hay, hu74u ích trong công việc vẽ Cad nên mong mọi người chỉ giáo thêm về Autolisp.
...........

Bạn tham khảo Hướng dẫn lập trình Lisp : http://www.cadviet.c...?showtopic=2480
hoặc AfraLisp.net http://www.afralisp.net/index.htm
  • 0