Đến nội dung


Hình ảnh
- - - - -

nhờ viết lisp biến dim thành text


  • Please log in to reply
3 replies to this topic

#1 thanhsitp

thanhsitp

    biết vẽ line

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

Đã gửi 24 September 2010 - 05:59 PM

mình đang sửa một hồ sơ rất lớn,lúc trước vẽ thì mình dim kích thướt nhưng nay khách hàng bảo là không dim mà ghi kích thướt bằng text.nên mình nhờ các anh chị trên diễn đàn viết dùm mình lisp biến dim thành text với text là giá trị của dim.xin cám ơn.
  • 0

#2 dkkx3a

dkkx3a

    biết lệnh trim

  • Members
  • PipPipPip
  • 190 Bài viết
Điểm đánh giá: 57 (tàm tạm)

Đã gửi 24 September 2010 - 06:27 PM

mình đang sửa một hồ sơ rất lớn,lúc trước vẽ thì mình dim kích thướt nhưng nay khách hàng bảo là không dim mà ghi kích thướt bằng text.nên mình nhờ các anh chị trên diễn đàn viết dùm mình lisp biến dim thành text với text là giá trị của dim.xin cám ơn.


Cái này không cần LSP đâu bác ạ, bác cứ dùng lệnh Fi lọc các Dimension ra >>> Explode chúng, tiếp theo lại dùng lệnh Erase chọn "p" >>> "r" >>> 'fi lọc các Text ra >> thế là xoá các đường gióng >> xong,
  • 1
TỰ SỰ
Biển vào chiều buồn giữa cô liêu
Sóng vỗ bờ bạc đầu con nước
Khi biển động như lòng ta chợt động
Biển ồn ào nhưng thực rất dịu êm.......

#3 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3805 (đỉnh cao)

Đã gửi 24 September 2010 - 06:48 PM

mình đang sửa một hồ sơ rất lớn,lúc trước vẽ thì mình dim kích thướt nhưng nay khách hàng bảo là không dim mà ghi kích thướt bằng text.nên mình nhờ các anh chị trên diễn đàn viết dùm mình lisp biến dim thành text với text là giá trị của dim.xin cám ơn.

Bạn thử cái này xem :
(defun c:dtt(/ ss sst)
(if (setq ss (ssget '((0 . "DIMENSION"))) i -1)
(Repeat (sslength ss)
(if (vl-cmdf "explode" ss)
(Repeat (sslength (setq sst (ssget "P" (list(cons 0 "~*TEXT")))))
(vl-cmdf "erase" (ssname sst (setq i (1+ i))) "")
)
)
(setq i -1)
)
)
)

  • 2

#4 dkkx3a

dkkx3a

    biết lệnh trim

  • Members
  • PipPipPip
  • 190 Bài viết
Điểm đánh giá: 57 (tàm tạm)

Đã gửi 24 September 2010 - 07:15 PM

Bạn thử cái này xem :

(defun c:dtt(/ ss sst)
(if (setq ss (ssget '((0 . "DIMENSION"))) i -1)
(Repeat (sslength ss)
(if (vl-cmdf "explode" ss)
(Repeat (sslength (setq sst (ssget "P" (list(cons 0 "~*TEXT")))))
(vl-cmdf "erase" (ssname sst (setq i (1+ i))) "")
)
)
(setq i -1)
)
)
)


Có cần thiết phải cần đến LSP không anh TUE_NV, bởi vì không phải lúc nào cũng có LSP bên cạnh, cái này dùng lệnh cad cũng nhanh chứ không quá phức tạp mà, theo ngu ý của em thì với những vấn đề cad giải quyết nhanh được thì mình sài lệnh CAD, nếu ko lâu ngày đâm ở máy ta thì vẽ ào ào, nhảy sang máy khác lại ì à ì ạch anh ạ....
@PS: mong một ngày đc gặp anh TuE_NV tại ĐN...
  • 2
TỰ SỰ
Biển vào chiều buồn giữa cô liêu
Sóng vỗ bờ bạc đầu con nước
Khi biển động như lòng ta chợt động
Biển ồn ào nhưng thực rất dịu êm.......