Đến nội dung


Hình ảnh
- - - - -

Sửa nhiều text có giá trị khác nhau về 1 giá trị


  • Please log in to reply
3 replies to this topic

#1 Euler

Euler

    biết vẽ line

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

Đã gửi 24 July 2013 - 10:08 AM

Em nhờ các anh viết lisp giúp em: Em muốn đồng bộ hóa nhiều Text với các giá trị khác nhau về 1 giá trị (Nghĩa là sau khi dùng lisp xong thì các text có giá trị khác nhau ấy sẽ có cùng 1 giá trị giống nhau). Thanks!!!


  • 0

#2 TaiNguyen79

TaiNguyen79

    biết vẽ ellipse

  • Members
  • PipPip
  • 51 Bài viết
Điểm đánh giá: 24 (tàm tạm)

Đã gửi 24 July 2013 - 11:52 AM

Em nhờ các anh viết lisp giúp em: Em muốn đồng bộ hóa nhiều Text với các giá trị khác nhau về 1 giá trị (Nghĩa là sau khi dùng lisp xong thì các text có giá trị khác nhau ấy sẽ có cùng 1 giá trị giống nhau). Thanks!!!

Dùng cái này đi bạn :

(defun bylayer (lname)
(if (null (assoc 62 lname)) (setq lname (append lname (list (cons 62 256)))))
lname)
;---------------------------------------------
;;Sua nhieu chu theo tinh chat cua mot chu chon lam mau
(defun c:Tchtext (/ SS1 Ename Ans Eget ds1 ds2 Count En Eg)
(setvar "cmdecho" 0)
(princ "\nChon cac chu can thay doi")
(while (null (setq SS1 (ssget (list (cons 0 "Text"))))) (princ "\nKhong co doi tuong"))
(while (or (null (setq Ename (car (entsel "\nChon 1 chu lam mau"))))
(/= "TEXT" (cdr (assoc 0 (entget ename)))))
(princ "\nKhong co doi tuong, hoac do khong phai la Text.")) ;while
(setq Eget (bylayer (entget Ename)))
(setq ds1 (list "Text" "Height" "Rotation" "Width" "Obliquing" "Style" "Color" "Layer")
ds2 (list 1 40 50 41 51 7 62 8));setq
(initget "Text Height Rotation Width Obliquing Style Color Layer")
(setq Ans (getkword "\nText Height Rotation Width Obliquing Style Color Layer <Enter=Exit>"))
(mapcar '(lambda (a B)
(if (= Ans a)
(progn
(setq Count 0)
(repeat (sslength SS1)
(setq En (ssname SS1 Count) Eg (bylayer (entget En)))
(setq Eg (subst (assoc b Eget) (assoc b Eg) Eg))
(setq Count (1+ Count))
(entmod Eg));repeat
))) ds1 ds2) ;mapcar
(setq SS1 nil Ename nil)
(setvar "cmdecho" 1)
(princ))


Muốn đồng bộ hóa nội dung text thì nhập : T
khi chương trình hỏi : Text Height Rotation Width Obliquing Style Color Layer <Enter=Exit>
  • 0

#3 Nguyễn Minh Tâm

Nguyễn Minh Tâm

    biết lệnh attdef

  • Members
  • PipPipPipPipPipPip
  • 418 Bài viết
Điểm đánh giá: 213 (khá)

Đã gửi 24 July 2013 - 12:20 PM

Em nhờ các anh viết lisp giúp em: Em muốn đồng bộ hóa nhiều Text với các giá trị khác nhau về 1 giá trị (Nghĩa là sau khi dùng lisp xong thì các text có giá trị khác nhau ấy sẽ có cùng 1 giá trị giống nhau). Thanks!!!

Cái này thì cần gì lisp chi cho mệt, vào trong properties đánh một phát là xong ngay mà.


  • 0

#4 Euler

Euler

    biết vẽ line

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

Đã gửi 24 July 2013 - 03:01 PM

Cám ơn các anh Nguyễn Minh TâmTaiNguyen79!!! Em làm được rồi


  • 0