Đến nội dung


Hình ảnh
- - - - -

[Cần giúp chỉnh sửa] giùm e đoạn lisp đổi font hàng loạt


  • Please log in to reply
5 replies to this topic

#1 hugo007

hugo007

    biết lệnh erase

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

Đã gửi 20 June 2011 - 06:34 PM

Đây là đoạn lisp do bác ketxu viết,có thể đổi tên font tất cả các kiểu trong text style,có thể đổi luôn chiều cao,bề rộng,góc xoay nếu không nhập enter luôn thì những cái này giữ nguyên.Nhưng có 1 bất tiện là nó tự đổi kiểu trong FONT STYLE thí dụ như có kiểu style name trong đó có FONT STYLE là BOLD thì nó đổi thành REGULAR,nhờ các bác sửa sao cho FONT STYLE vẫn giữ nguyên như mặc định ban đầu.Chân thành cảm ơn trước.
(defun C:FC (/ FontName tH tW tO)
(defun nhap (x) (if (= x nil)(setq x "")) x)
(command "undo" "be")
(setq oCmd (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq tbl (tblnext "STYLE" T)
FontName (getstring "\nT\U+00EAn Font :")
tH (getreal "\nChi\U+1EC1u cao Text :")
tW (getreal "\nWidth Factor :")
tO (getangle "\nG\U+00F3c :")
)
(while tbl
(command "-style"
(cdr (assoc 2 tbl))
(nhap FontName)
(nhap tH)
(nhap tW)
(nhap tO)
"N"
"N"
"N"
)
(setq tbl (tblnext "STYLE"))
)
(setvar "cmdecho" oCmd)
(command "undo" "en")
(princ)
)

  • 0

#2 hugo007

hugo007

    biết lệnh erase

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

Đã gửi 21 June 2011 - 03:41 PM

Không bác nào giúp được e sao?Mong các bác bớt chút thời gian giúp e.
  • 0

#3 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 22 June 2011 - 11:52 AM

Ồ, mình đi mấy ngày, giờ về mới biết bạn có yêu cầu kia. Vấn đề của bạn cũng thuộc kiểu "tế nhị", vì không chắc là font bạn chuyển tới nó có setting Bold không :) Nhất là mấy font shx ^^
  • 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 hugo007

hugo007

    biết lệnh erase

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

Đã gửi 22 June 2011 - 01:51 PM

Không bạn ah,thí dụ mình có 5 loại TEXT STYLE thì trong 5 loại đó có 1 loại có FONT NAME là ARIAL và FONT STYLE là BOLD nên khi dùng lisp chuyển tất cả về FONT NAME là VNI-helve-condense thì nó chuyển về REGULAR,mình cần khi chuyển tất cả về VNI-helve-condense thì nó giữ nguyên là Bold như ban đầu.Mình không dùng font SHX.Mong bác giúp giùm.Chân thành cảm ơn trước.
  • 0

#5 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 22 June 2011 - 11:23 PM

Oh, mình không sử dụng được method setfont vì mặc dù sau khi set cho 1 Style thuộc tính Bold, giá trị đã chuyển về True nhưng CAD lại không cập nhật, nên, có lẽ đành tìm ý tưởng khác thôi ^^
  • 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


#6 hugo007

hugo007

    biết lệnh erase

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

Đã gửi 23 June 2011 - 06:01 AM

Oh, mình không sử dụng được method setfont vì mặc dù sau khi set cho 1 Style thuộc tính Bold, giá trị đã chuyển về True nhưng CAD lại không cập nhật, nên, có lẽ đành tìm ý tưởng khác thôi ^^

Em sẽ đợi bác.
  • 0