Đến nội dung


Hình ảnh
5 stars - based on 24598 reviews
- - - - -

[Nhờ Viết Lisp] Điều Chỉnh Toàn Bộ Text


  • Please log in to reply
6 replies to this topic

#1 manhti14

manhti14

    biết zoom

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

Đã gửi 07 February 2017 - 08:55 AM

Em muốn nhờ các bác viết hộ e 1 cái lisp chỉnh sửa thuộc tính của text tự động như thế này:

 

- b1: chọn toàn bộ text trong bản vẽ (nếu được thì các làm hộ e thành 2 lệnh: 1 lệnh là tự động chọn toàn bộ trong bản vẽ, 1 lệnh thì là chọn thủ công trong 1 phạm vi)

- b2: thay đổi thuộc tính text:

                 + thay đổi text style từ "bigfont" về "standard"

                 + thay đổi tất cả chiều cao text thành 100

                 + thay đổi tất cả bề rộng text thành 0.55

- b3: thay đổi thuộc tính của text style có tên "gaiheki":

                 + thay đổi font thành font romans.shx

                 + thay đổi chiều cao text thành 50

                 + thay đổi bề rộng text thành 0.75

 

em xin cám ơn!


  • 0

#2 Danh Cong

Danh Cong

    biết lệnh insert

  • Moderator
  • PipPipPipPipPipPip
  • 425 Bài viết
Điểm đánh giá: 95 (tàm tạm)

Đã gửi 07 February 2017 - 09:56 AM

Em muốn nhờ các bác viết hộ e 1 cái lisp chỉnh sửa thuộc tính của text tự động như thế này:

 

- b1: chọn toàn bộ text trong bản vẽ (nếu được thì các làm hộ e thành 2 lệnh: 1 lệnh là tự động chọn toàn bộ trong bản vẽ, 1 lệnh thì là chọn thủ công trong 1 phạm vi)

- b2: thay đổi thuộc tính text:

                 + thay đổi text style từ "bigfont" về "standard"

                 + thay đổi tất cả chiều cao text thành 100

                 + thay đổi tất cả bề rộng text thành 0.55

- b3: thay đổi thuộc tính của text style có tên "gaiheki":

                 + thay đổi font thành font romans.shx

                 + thay đổi chiều cao text thành 50

                 + thay đổi bề rộng text thành 0.75

 

em xin cám ơn!

 

Không cần xài đến Lisp, thủ công cũng giải quyết nhanh gọn vấn đề này cho bạn. ^^

+ Muốn chọn Text ở 1 vùng hay toàn bộ : Tìm hiểu lệnh FILTER

+ Thay đổi thuộc tính : Thay đổi trong Properties  ( nhấn Ctrl + 1)

 

Ý kiến cá nhân : Xài thông thạo món Filter giải quyết được rất nhiều trong việc chọn lựa đối tượng. Chọn được đối tượng rồi thì tha hồ mà mổ xẻ, xào nấu các đối tượng đó.  :D  :D


  • 0

              *** Vô lo - Vô nghĩ - Vô sầu hận ***
*** Chẳng thương - Chẳng giận - Chẳng đau lòng ***


#3 manhti14

manhti14

    biết zoom

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

Đã gửi 07 February 2017 - 10:09 AM

Không cần xài đến Lisp, thủ công cũng giải quyết nhanh gọn vấn đề này cho bạn. ^^

+ Muốn chọn Text ở 1 vùng hay toàn bộ : Tìm hiểu lệnh FILTER

+ Thay đổi thuộc tính : Thay đổi trong Properties  ( nhấn Ctrl + 1)

 

Ý kiến cá nhân : Xài thông thạo món Filter giải quyết được rất nhiều trong việc chọn lựa đối tượng. Chọn được đối tượng rồi thì tha hồ mà mổ xẻ, xào nấu các đối tượng đó.  :D  :D

hiện giờ e vẫn đang làm như thế.

nhưng mà mỗi lần làm thế mất tầm 20-30s.

mà trong 1 buổi thì em phải làm thế tầm 30-40 lần nên cũng tương đối mất công nên mới lên mạn phép nhờ mọi người tạo hộ cái lisp :)


  • 0

#4 Bee

Bee

    biết dimradius

  • Members
  • PipPipPipPipPip
  • 315 Bài viết
Điểm đánh giá: 101 (tàm tạm)

Đã gửi 07 February 2017 - 10:59 AM

hiện giờ e vẫn đang làm như thế.

nhưng mà mỗi lần làm thế mất tầm 20-30s.

mà trong 1 buổi thì em phải làm thế tầm 30-40 lần nên cũng tương đối mất công nên mới lên mạn phép nhờ mọi người tạo hộ cái lisp :)

Thử cái này xem nhé. ^_^

(defun Bee_run (ss / n vlaobj)
  (if (tblsearch "style" "gaiheki")
    (command "-style" "gaiheki" "romans.shx" 50. 0.75 "" "" "" "")
    )
  (if ss
    (progn
      (setq n 0)
      (repeat (sslength ss)
        (setq vlaobj (vlax-ename->vla-object (ssname ss n)))
        (if (= (vlax-get vlaobj 'StyleName) "bigfont")
          (vlax-put vlaobj 'StyleName  "standard")
          )
        (vlax-put vlaobj 'Height  100.)
        (vlax-put vlaobj 'ScaleFactor  0.55)
        (setq n (1+ n))
        )      
      )
    )
  )
(defun c:test1 ()                
  (Bee_run (ssget "_X" '((0 . "TEXT,MTEXT"))))
  (princ)
  )
(defun c:test2 ()                
  (Bee_run (ssget '((0 . "TEXT,MTEXT"))))
  (princ)
  )

  • 1

#5 manhti14

manhti14

    biết zoom

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

Đã gửi 07 February 2017 - 11:30 AM

 

Thử cái này xem nhé. ^_^

(defun Bee_run (ss / n vlaobj)
  (if (tblsearch "style" "gaiheki")
    (command "-style" "gaiheki" "romans.shx" 50. 0.75 "" "" "" "")
    )
  (if ss
    (progn
      (setq n 0)
      (repeat (sslength ss)
        (setq vlaobj (vlax-ename->vla-object (ssname ss n)))
        (if (= (vlax-get vlaobj 'StyleName) "bigfont")
          (vlax-put vlaobj 'StyleName  "standard")
          )
        (vlax-put vlaobj 'Height  100.)
        (vlax-put vlaobj 'ScaleFactor  0.55)
        (setq n (1+ n))
        )      
      )
    )
  )
(defun c:test1 ()                
  (Bee_run (ssget "_X" '((0 . "TEXT,MTEXT"))))
  (princ)
  )
(defun c:test2 ()                
  (Bee_run (ssget '((0 . "TEXT,MTEXT"))))
  (princ)
  )

CHẠY ĐƯỢC RỒI BÁC Ạ :D.

MỖI CÁI KHÔNG CHUYỂN ĐƯỢC STYLE CỦA TEXT VỀ STANDARD.

 

NHÂN TIỆN E MUỐN HỎI LUÔN LÀ NẾU NHƯ LÚC CHỈNH "GAIHEKI" STYLE NẾU NHƯ MUỐN CHỌN THÊM THUỘC TÍNH BIGFONT THÌ LÀM THẾ NÀO Ạ :).

EM XIN CÁM ƠN BÁC NHIỀU.


  • 0

#6 Bee

Bee

    biết dimradius

  • Members
  • PipPipPipPipPip
  • 315 Bài viết
Điểm đánh giá: 101 (tàm tạm)

Đã gửi 07 February 2017 - 12:35 PM

 

 

Thử cái này xem nhé. ^_^

(defun Bee_run (ss / n vlaobj)
  (if (tblsearch "style" "gaiheki")
    (command "-style" "gaiheki" "romans.shx" 50. 0.75 "" "" "" "")
    )
  (if ss
    (progn
      (setq n 0)
      (repeat (sslength ss)
        (setq vlaobj (vlax-ename->vla-object (ssname ss n)))
        (if (= (vlax-get vlaobj 'StyleName) "bigfont")
          (vlax-put vlaobj 'StyleName  "standard")
          )
        (vlax-put vlaobj 'Height  100.)
        (vlax-put vlaobj 'ScaleFactor  0.55)
        (setq n (1+ n))
        )      
      )
    )
  )
(defun c:test1 ()                
  (Bee_run (ssget "_X" '((0 . "TEXT,MTEXT"))))
  (princ)
  )
(defun c:test2 ()                
  (Bee_run (ssget '((0 . "TEXT,MTEXT"))))
  (princ)
  )

CHẠY ĐƯỢC RỒI BÁC Ạ :D.

MỖI CÁI KHÔNG CHUYỂN ĐƯỢC STYLE CỦA TEXT VỀ STANDARD.

 

NHÂN TIỆN E MUỐN HỎI LUÔN LÀ NẾU NHƯ LÚC CHỈNH "GAIHEKI" STYLE NẾU NHƯ MUỐN CHỌN THÊM THUỘC TÍNH BIGFONT THÌ LÀM THẾ NÀO Ạ :).

EM XIN CÁM ƠN BÁC NHIỀU.

+ thay đổi text style từ "bigfont" về "standard" ---> cái này là thằng TEXT nào thuộc style bigfont thì sẽ chuyển về standard. Còn các thằng khác ko chuyển.

 

+ CHỌN THÊM THUỘC TÍNH BIGFONT ---->(command "-style" ) tìm hiểu thêm lệnh này nhé.


  • 1

#7 manhti14

manhti14

    biết zoom

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

Đã gửi 07 February 2017 - 12:55 PM

em cám ơn bác :D


  • 0