Đến nội dung


Hình ảnh
- - - - -

[Yêu cầu] Nhờ viết lisp thay đổi hàng loạt chiều cao text trong một layer


  • Please log in to reply
2 replies to this topic

#1 Mask

Mask

    biết pan

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

Đã gửi 12 October 2012 - 11:23 PM

Các bác có thể viết dùm em lisp mà em muốn thay đổi 1 loạt chiều cao cỡ chữ text ( các chữ text này em cho trong 1 layer sẵn )
Vì trong bản vẽ có đến hàng trăm chữ text mà làm theo kiểu thủ công là chọn từng chữ 1 thì k biết đến bao giờ mới xong do em mới học cad.
Em xin cám ơn !
  • 0

#2 cd2k44

cd2k44

    Edu level: li5

  • Members
  • PipPipPipPipPipPipPip
  • 648 Bài viết
Điểm đánh giá: 121 (tàm tạm)

Đã gửi 12 October 2012 - 11:42 PM

bạn có thể dùng lệnh Fi và properti để chỉnh
  • 1

#3 avi612

avi612

    biết lệnh move

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

Đã gửi 13 October 2012 - 10:48 AM

Của bạn đây.

;Write by avi612
(defun c:thei(/ s height layer ss1 #ct_height k uu count en eg)
(prompt "\n>>Ch\U+1ECDn \U+0111\U+1ED1i t\U+01B0\U+1EE3ng TEXT m\U+1EABu: ")
(setq s (car (entsel)))
(setq height (assoc 40 (entget s)))
(setq layer (assoc 8 (entget s)))
(setq ss1 (ssget "X" (list (cons 0 "TEXT") height layer)))
(setq #ct_height (getreal "\n>>TEXT height: "))
(setq height nil)
(setq k nil)
(setq uu 0)
(while (< uu (sslength ss1))
(redraw (ssname ss1 uu) 3)
(setq uu (1+ uu))
)
(setq count 0)
(repeat (sslength ss1)
(setq en (ssname ss1 count))
(setq eg (entget en))
(setq eg (subst (cons 40 #ct_height) (assoc 40 eg) eg))
(setq count (1+ count))
(entmod eg)
)
(princ)
(princ)
)



  • 2