Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
gokukap5

Nhờ sửa lisp đo và ghi kết quả

Các bài được khuyến nghị

Chào các bác , em mới tìm được lisp này trên CV tuy nhiên nó chưa phù hợp với công việc lắm. bác nào rảnh giúp em sửa lại thành  như sau với ạ :

-  Khi chọn vào text( Mtext ) thì sẽ ghi thêm kết quả ra phía sau text đó ( dùng luôn style chữ hiện hành ) : VD text hiện tại " Ống đồng D9.5/15.9" sau khi đo và bấm chọn text thì sẽ thành " Ống đồng D9.5/15.9 L=200mm" ( hiện tại nó chỉ cho chọn text, không cho chọn Mtext và màu của chữ bị thay đổi )

- Ngoài cách chọn text có thể chọn điểm để ghi kết quả và dùng luôn style text hiện hành

 Em cảm ơn ạ !

tg.lsp

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo text mới thì không nên, lý do : style, height , widthfactor có thể khác nhau ở mỗi bản vẽ sinh ra tạo text không như ý muốn.


(DEFUN c:tg  ( / LOAITEXT NOIDUNG OLD SS TEXT TONGDAI)
  (SETQ ss (ACET-SS-TO-LIST (SSGET '((0 . "*LINE")))))
  (SETQ ss (MAPCAR 'VLAX-ENAME->VLA-OBJECT ss))
  (SETQ tongdai 0)
  (FOREACH n ss (SETQ tongdai (+ tongdai (VLA-GET-LENGTH n))))

  (SETQ text (ENTGET (CAR (ENTSEL "Append to: "))))
  (SETQ loaitext (ACET-DXF 0 text))
  (IF (OR
        (= loaitext "TEXT")
        (= loaitext "MTEXT")
        )
    (PROGN
      (SETQ old (ASSOC 1 text))
      (SETQ noidung (STRCAT (CDR old) ", L= " (RTOS (/ tongdai 1000) 2 2) " m"))

      (SETQ text (SUBST (CONS 1 noidung) old text))
      (ENTMOD text)

      )
    (ALERT "Vui long chon vao Text or Mtext")
    )
  (PRINC)
  )

 

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
5 giờ trước, cuongtk2 đã nói:

Tạo text mới thì không nên, lý do : style, height , widthfactor có thể khác nhau ở mỗi bản vẽ sinh ra tạo text không như ý muốn.



(DEFUN c:tg  ( / LOAITEXT NOIDUNG OLD SS TEXT TONGDAI)
  (SETQ ss (ACET-SS-TO-LIST (SSGET '((0 . "*LINE")))))
  (SETQ ss (MAPCAR 'VLAX-ENAME->VLA-OBJECT ss))
  (SETQ tongdai 0)
  (FOREACH n ss (SETQ tongdai (+ tongdai (VLA-GET-LENGTH n))))

  (SETQ text (ENTGET (CAR (ENTSEL "Append to: "))))
  (SETQ loaitext (ACET-DXF 0 text))
  (IF (OR
        (= loaitext "TEXT")
        (= loaitext "MTEXT")
        )
    (PROGN
      (SETQ old (ASSOC 1 text))
      (SETQ noidung (STRCAT (CDR old) ", L= " (RTOS (/ tongdai 1000) 2 2) " m"))

      (SETQ text (SUBST (CONS 1 noidung) old text))
      (ENTMOD text)

      )
    (ALERT "Vui long chon vao Text or Mtext")
    )
  (PRINC)
  )

 

vâng em cảm ơn bác ạ , em thấy bác đang để đơn vị là mét, em muốn chuyển thành mm thì sửa những j ạ

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay
Đăng nhập để thực hiện theo  

×