Đến nội dung


Hình ảnh
- - - - -

Lisp sửa bề rộng text của block thuôc tính????


  • Please log in to reply
21 replies to this topic

#21 kokono939

kokono939

    biết vẽ line

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

Đã gửi 06 October 2010 - 01:54 PM

Thks Pác nha.Thật đơn giản mà hiệu quả.
:cheers:



Refedit chỉ sửa được 1 đối tượng 1 lúc thôi!
  • 0

#22 kokono939

kokono939

    biết vẽ line

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

Đã gửi 06 October 2010 - 01:58 PM

Cũng không rõ nữa vẫn báo lỗi thế này.
Hình đã gửi
Nhưng thôi kệ nó đã. Bác test lại với block của bác nhé


(defun c:textblock (/ C40 ENT H I M N N40 SS SSN ENT1 SSN1 RONG C10 C11 C41 C72 C73 N41 N72 N73)
(vl-load-com)
(princ "\nChon block")
(setq ss (ssget '((0 . "INSERT"))))
(setq i 0)
(setq n (sslength ss))
(setq m -1)
(setq h (getreal "\n Nhap chieu cao chu: "))
(setq rong (getreal "\n Nhap be rong chu: "))
(while (< i n)
(setq ssn (ssname ss (setq m (1+ m))))
(setq ent (entget ssn))
(if(= (cdr(assoc 66 ent)) 1)
(progn
(setq ssn1(entnext ssn))
(setq ent1(entget ssn1))
(while (/= (cdr(assoc 0 ent1)) "SEQEND")
(setq c40 (assoc 40 ent1))
(setq n40 (cons 40 h))
(setq c41 (assoc 41 ent1))
(setq n41 (cons 41 rong))
(if (and(/= (cdr(assoc 72 ent1)) 1)(/=(cdr(assoc 73 ent1)) 2))
(progn
(setq c11 (assoc 11 ent1))
(setq c10 (cons 11 (cdr(assoc 10 ent1))))
(setq c72 (assoc 72 ent1))
(setq c73 (assoc 73 ent1))
(setq n72 (cons 72 1))
(setq n73 (cons 73 2))
(setq ent1 (subst c10 c11 ent1))
(setq ent1 (subst n72 c72 ent1))
(setq ent1 (subst n73 c73 ent1))
)
)
(setq ent1 (subst n40 c40 ent1))
(setq ent1 (subst n41 c41 ent1))
(entmod ent1)
(setq ssn1(entnext ssn1))
(setq ent1(entget ssn1))
)
)
)
(setq i (+ 1 i))
)
(entupd ssn)
(princ)
)
Nếu còn bị nhảy thì báo lại cho mình nhé.



Thank bác. Chữ ko bị nhảy nữa rồi!Lisp đến đây là chuẩn theo yêu cầu ban đầu rồi.Chúc bác làm việc tốt!
  • 0