Đến nội dung


Hình ảnh
- - - - -

lisp thay đổi cỡ chữ hàng loạt trong bản vẽ


  • Please log in to reply
15 replies to this topic

#1 chi pheo

chi pheo

    biết zoom

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

Đã gửi 28 January 2011 - 09:28 AM

Chào cả nhà Cadviet!
trong cad co lệnh nào mà thay đổi các cỡ chữ một lúc ko? nếu ko có lisp nào như vạy ko ?
  • 0

#2 tuvanthietke.hcm

tuvanthietke.hcm

    biết lệnh array

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

Đã gửi 28 January 2011 - 09:52 AM

Chào cả nhà Cadviet!
trong cad co lệnh nào mà thay đổi các cỡ chữ một lúc ko? nếu ko có lisp nào như vạy ko ?


MA nhé, chọn 1 anh rồi quét nhé, hoặc là t2t nhé (text to text)
  • 0

#3 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 28 January 2011 - 09:53 AM

Sao bạn không dùng quick select hoặc filter rồi ấn Ctrl + 1 để thay đổi nhỉ :s_big:
  • 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


#4 tuvanthietke.hcm

tuvanthietke.hcm

    biết lệnh array

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

Đã gửi 28 January 2011 - 09:57 AM

Sao bạn không dùng quick select hoặc filter rồi ấn Ctrl + 1 để thay đổi nhỉ :s_big:


Mình chưa sử dụng cách này bao giờ quick select ấn lệnh gì, mình gõ filter sao không hiểu nhỉ???
  • 0

#5 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 28 January 2011 - 10:09 AM

Chào cả nhà Cadviet!
trong cad co lệnh nào mà thay đổi các cỡ chữ một lúc ko? nếu ko có lisp nào như vạy ko ?

Bạn sử dụng lệnh Scaletext để làm chuyện này
Bạn tham khảo ở đây :http://www.cadviet.c...amp;#entry51051

quick select ấn lệnh gì?
Reply: Lệnh Quick Select gõ phím là qselect
  • 0

#6 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 28 January 2011 - 10:11 AM

Lệnh là Qselect bạn ạ.Yêu cầu của chi_pheo k biết là đổi tất cả, đổi theo style, hay đổi theo text chọn :s_big:.
Nếu chọn text trên màn hình thì có thể dùng cách bác Tuệ nói, hoặc :

;free lisp from cadviet.com @ ketxu
(defun c:cht()
(setq newhyt (getreal "Nhap chieu cao : "))
(if (= newhyt nil) (setq newhyt (getvar "TEXTSIZE")))
(setq sset1 (ssget (list (cons 0 "TEXT"))))
(setq counter 0)
(repeat (sslength sset1)
(setq txt (ssname sset1 counter))
(setq txtdata (entget txt))
(setq hyt (assoc 40 txtdata))
(setq txtdata (subst (cons 40 newhyt) hyt txtdata))
(entmod txtdata)
(entupd txt)
(setq counter (1+ counter))
)
)

  • 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


#7 tuvanthietke.hcm

tuvanthietke.hcm

    biết lệnh array

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

Đã gửi 28 January 2011 - 10:21 AM

Lệnh là Qselect bạn ạ.Yêu cầu của chi_pheo k biết là đổi tất cả, đổi theo style, hay đổi theo text chọn :s_big:.


Thanks all
  • 0

#8 chi pheo

chi pheo

    biết zoom

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

Đã gửi 28 January 2011 - 10:23 AM

thanks các pro. Đổi theo text chọn. giúp em nha :s_big:
  • 0

#9 chi pheo

chi pheo

    biết zoom

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

Đã gửi 28 January 2011 - 10:27 AM

Em khó hiểu quá. Dung thế nào ạ! Làm cho chung to đều lên thế :s_big:
  • 0

#10 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 28 January 2011 - 10:35 AM

Em khó hiểu quá. Dung thế nào ạ! Làm cho chung to đều lên thế :s_big:

Bạn dùng cách nào? Dùng lisp trên mình gửi hay dùng cách Ctrl+1 ^^ Tất cả đều làm cho text height thành 1 giá trị bạn nhập
  • 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


#11 chi pheo

chi pheo

    biết zoom

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

Đã gửi 28 January 2011 - 10:38 AM

Các pro à! Có lệnh viết tắt ko? Chứ viết dài thế thì nhập lệnh lâu lắm. mà có lúc còn viết sai nữa chứ. Mà ko có lệnh tắt thì muốn thay đổi để có lệnh tắt thì phải thay đổi ở đâu ạh!
  • 0

#12 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 28 January 2011 - 10:42 AM

Các pro à! Có lệnh viết tắt ko? Chứ viết dài thế thì nhập lệnh lâu lắm. mà có lúc còn viết sai nữa chứ. Mà ko có lệnh tắt thì muốn thay đổi để có lệnh tắt thì phải thay đổi ở đâu ạh!

Bạn trả lời câu trên mình hỏi đã.Bạn đang nói đến lệnh nào trong các phương án trên ?? Topic mới chỉ có mấy bài thôi, nên bạn chịu khó đọc lại trước khi post ha :s_big:
  • 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 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 28 January 2011 - 10:46 AM

Lệnh là Qselect bạn ạ.Yêu cầu của chi_pheo k biết là đổi tất cả, đổi theo style, hay đổi theo text chọn :s_big:.
Nếu chọn text trên màn hình thì có thể dùng cách bác Tuệ nói, hoặc :


;free lisp from cadviet.com @ ketxu
(defun c:cht()
(setq newhyt (getreal "Nhap chieu cao : "))
(if (= newhyt nil) (setq newhyt (getvar "TEXTSIZE")))
(setq sset1 (ssget (list (cons 0 "TEXT"))))
(setq counter 0)
(repeat (sslength sset1)
(setq txt (ssname sset1 counter))
(setq txtdata (entget txt))
(setq hyt (assoc 40 txtdata))
(setq txtdata (subst (cons 40 newhyt) hyt txtdata))
(entmod txtdata)
(entupd txt)
(setq counter (1+ counter))
)
)

Yêu cầu của chi_pheo k biết là đổi tất cả, đổi theo style, hay đổi theo text chọn :).
Reply: Cái này đâu cần phải sử dụng Lisp nhỉ?
Đổi theo kiểu gì chăng nữa thì chỉ 1 lệnh Scaletext là xong

Các pro à! Có lệnh viết tắt ko? Chứ viết dài thế thì nhập lệnh lâu lắm. mà có lúc còn viết sai nữa chứ. Mà ko có lệnh tắt thì muốn thay đổi để có lệnh tắt thì phải thay đổi ở đâu ạh!

Bạn vào Tool->Customize -> vào Edit Program Parameter (acad.pgp) để tạo lệnh tắt
Cách làm : 1 số bài viết đã trình bày trên Diễn đàn. Bạn chịu khó tìm kiếm nhé
  • 0

#14 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 28 January 2011 - 10:58 AM

Hề hề,Tiết kiệm đc 1 bước trong trường hợp cụ thể mà bác ^^
Scaletext dùng trong t/h tổng quát
Nếu dùng Scaletext thì rút lệnh lại như vầy, mí lị bỏ qua basepoint cho tiện
(defun c:sct()(command ".scaletext" (ssget (list (cons 0 "TEXT"))) "" ""))
P/S : bạn Chí nên tìm hiểu cách đặt lệnh tắt trên diễn đàn :s_big:
  • 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


#15 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 28 January 2011 - 11:20 AM

Hề hề,Tiết kiệm đc 1 bước trong trường hợp cụ thể mà bác ^^
Scaletext dùng trong t/h tổng quát
Nếu dùng Scaletext thì rút lệnh lại như vầy, mí lị bỏ qua basepoint cho tiện

(defun c:sct()(command ".scaletext" (ssget (list (cons 0 "TEXT"))) "" ""))
P/S : bạn Chí nên tìm hiểu cách đặt lệnh tắt trên diễn đàn :s_big:

Cái bạn này lạm dụng Lisp quá. Lisp trên cũng chưa sử dụng cho mọi trường hợp được
Bạn thử cái này nhé :

Command: scaletext

Select objects: 'fi
.....

Nó áp dụng cho mọi trường hợp cụ thể. Trường hợp này Nên sử dụng lệnh scaletext
  • 0

#16 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 28 January 2011 - 11:53 AM

Cái bạn này lạm dụng Lisp quá. Lisp trên cũng chưa sử dụng cho mọi trường hợp được
Bạn thử cái này nhé :

Command: scaletext

Select objects: 'fi
.....

Nó áp dụng cho mọi trường hợp cụ thể. Trường hợp này Nên sử dụng lệnh scaletext

Khái niệm áp dụng cho mọi trường hợp cụ thể chẳng phải chính là tổng quát sao bác ?:s_big: E đã reply là dùng scaletext kết hợp fi,qselect cho trường hợp tổng quát.E viết cái dòng bên trên chủ là để giải quyết cái khâu đặt lệnh cho bạn chủ topic là chính,bỏ thao tác chọn Exist Basepoint, vì bạn ấy đã biết dùng lisp n chưa có tjan đọc cách đổi lệnh, có kèm theo lời PS đó th, chứ ngay từ dưới bài đầu tiên e cũng đã nói là dùng cách của bác r.Chứ k phải làm cái code để dùng cho mọi trường hợp, e đã nói từ lúc post r mà ^^.Mong bác k mắng là e lạm dụng, tội e :)
  • 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