Đến nội dung


Hình ảnh
- - - - -

[Yêu cầu] sửa giúp Lisp thay đổi Text override của Dimension


  • Please log in to reply
4 replies to this topic

#1 idiot_wind411

idiot_wind411

    biết pan

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

Đã gửi 07 February 2013 - 10:02 AM

Hiện tại, mình đang có 1 Lisp thay đổi Text override của Dimension bằng cách kích chọn và nhập vào giá trị cần thay. Bây giờ, mình muốn tạo 1 Lisp kiểm tra tất cả các Dimension có Text override thỏa mãn điều kiện "{\fAIGDT|b0|i0;\H17.5000;\ln\fMS ゴシック|b0|i0;\H17.5000;} (<>)" thì thay thế nó bằng "%%c(<>)".

Nhờ các bạn giúp đỡ. Cảm ơn!http://www.cadviet.c...extoverride.lsp


  • 0

#2 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 07 February 2013 - 11:24 AM

Lệnh Find & Replace làm tốt rồi bạn


  • 1

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


#3 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 07 February 2013 - 12:34 PM

Hiện tại, mình đang có 1 Lisp thay đổi Text override của Dimension bằng cách kích chọn và nhập vào giá trị cần thay. Bây giờ, mình muốn tạo 1 Lisp kiểm tra tất cả các Dimension có Text override thỏa mãn điều kiện "{\fAIGDT|b0|i0;\H17.5000;\ln\fMS ゴシック|b0|i0;\H17.5000;} (<>)" thì thay thế nó bằng "%%c(<>)".

Nhờ các bạn giúp đỡ. Cảm ơn!http://www.cadviet.c...extoverride.lsp

Hề hề hề,

1/- Làm như bác Ketxu đã chỉ.

2/- Hãy gửi bản vẽ mô tả cái bạn đã có và cái cần có sau khi chạy lisp.


  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#4 idiot_wind411

idiot_wind411

    biết pan

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

Đã gửi 19 February 2013 - 01:36 PM

Lệnh Find&Replace chỉ áp dụng cho Text trong Override còn Override có định dạng thì ko thay được. Nếu được các bạn thử làm xem http://www.cadviet.c...34_drawing6.dwg.

Mình cần sửa tất cả các ký tự Φ nét đậm thành các ký tự Φ nét mảnh


Cám ơn nhiều, nếu nhận được sự giúp đỡ của các bạn!

 


  • 1

#5 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 13 March 2013 - 03:23 PM

Lệnh Find&Replace chỉ áp dụng cho Text trong Override còn Override có định dạng thì ko thay được. Nếu được các bạn thử làm xem http://www.cadviet.c...34_drawing6.dwg.

Mình cần sửa tất cả các ký tự Φ nét đậm thành các ký tự Φ nét mảnh


Cám ơn nhiều, nếu nhận được sự giúp đỡ của các bạn!

Hề hề hề,

Cái ni chửa biết có đúng ý bạn không. Tuy nhiên test với bản vẽ bạn gửi thì nó OK.

Bạn khỏi cần cám ơn nếu như nó làm bạn không vui.

 

(defun c:edo ( / ssd els txt n )
(vl-load-com)
(command "undo" "be")
(setq ssd (acet-ss-to-list (ssget "x" (list (cons 0 "dimension")))))
(foreach dm ssd
  (setq els (entget dm)
           txt (cdr (assoc 1 els)) 
           n (strlen txt)
  )
  (if (and (> n 4)
         (= (substr txt 1 (- n 4)) 
         "{\\fAIGDT|b0|i0;\\H17.5000;\\ln\\f\\M+1826C\\M+18272 \\M+18353\\M+18356\\M+18362\\M+1834E|b0|i0;\\H17.5000;}")
       )
       (entmod (subst (cons 1 (strcat "%%c" (substr txt (- n 3)))) (assoc 1 els) els))
  )
)
(command "undo" "e" )
(princ)
)
Chúc bạn vui.

  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.