Đến nội dung


Hình ảnh
- - - - -

[yêu cầu] lisp chỉnh lựa chọn thông số text inside trong dim


  • Please log in to reply
4 replies to this topic

#1 proconeng86

proconeng86

    biết lệnh break

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

Đã gửi 25 May 2014 - 05:38 PM

Chào các bạn

   Trong file đính kèm là mẫu dim của cơ quan mình. Khi ghi kích thước của những khoảng cách nhỏ thì text trong dim sẽ nhảy ra ngoài, nhưng nếu 2-3 kích thước bé nằm sát nhau thì tất cả nhảy hết ra ngoài là ko được, dim ở giữa sẽ phải chọn text inside = on để text nằm trong dim. Tuy nhiên mình toàn phải chọn dim rồi bật Properties lên để chọn, khác mất thời gian

   Do đó mình muốn nhờ các bạn viết giúp mình lisp như sau

   - lựa chọn dim cần chuyển text vào trong hoặc ra ngoài

   - hiện lên 2 lựa chọn on/off của text inside trên màn hình để mình lựa chọn

   - kết thúc lệnh

Mình cám ơn nhiều

http://www.mediafire...epnns60t3/2.dwg


  • 0

#2 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 26 May 2014 - 11:31 AM

Không thấy ai giúp bạn nên code giùm bạn đây.

; Doan Van Ha - CadViet.com - ngay 26/5/2014
; Chuc nang: dich chuyen vi tri Text cua Dim vao trong hoac ra ngoai 2 duong dong.
(defun C:HA( / dm tn)
 (vl-load-com)
 (setq dm (car (entsel "\nChon TextDim muon thay doi vi tri: ")))
 (initget "T N")
 (setq tn (getkword "\nVi tri dat Text [Trong/Ngoai] <T>: "))
 (vla-put-TextInside (vlax-ename->vla-object dm) (if (= tn "N") :vlax-false :vlax-true)))
 


  • 1

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#3 proconeng86

proconeng86

    biết lệnh break

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

Đã gửi 26 May 2014 - 02:48 PM

Không thấy ai giúp bạn nên code giùm bạn đây.

; Doan Van Ha - CadViet.com - ngay 26/5/2014
; Chuc nang: dich chuyen vi tri Text cua Dim vao trong hoac ra ngoai 2 duong dong.
(defun C:HA( / dm tn)
 (vl-load-com)
 (setq dm (car (entsel "\nChon TextDim muon thay doi vi tri: ")))
 (initget "T N")
 (setq tn (getkword "\nVi tri dat Text [Trong/Ngoai] <T>: "))
 (vla-put-TextInside (vlax-ename->vla-object dm) (if (= tn "N") :vlax-false :vlax-true)))
 

 

Cám ơn bạn Doan Van Ha nhiều

Tuy nhiên lisp này không chọn được nhiều dim nhỉ, bạn sửa lại cho mình để có thể chọn được nhiều dim 1 lúc nhé


  • 0

#4 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 26 May 2014 - 03:04 PM

Sửa lại cho bạn.

; Doan Van Ha - CadViet.com - ngay 26/5/2014
; Chuc nang: dich chuyen vi tri Text cua Dim vao trong hoac ra ngoai 2 duong dong.
(defun C:HA( / tn)
 (vl-load-com)
 (initget "T N")
 (setq tn (getkword "\nVi tri dat Text [Trong/Ngoai] <T>: "))
 (princ "\nChon cac Dimension can thay doi vi tri Text...")
 (if (ssget (list (cons 0 "DIMENSION")))
  (vlax-for obj (vla-get-ActiveSelectionSet (vla-get-ActiveDocument (vlax-get-acad-object)))
   (vla-put-TextInside obj (if (= tn "N") :vlax-false :vlax-true)))))
 


  • 1

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#5 proconeng86

proconeng86

    biết lệnh break

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

Đã gửi 26 May 2014 - 04:33 PM

Sửa lại cho bạn.

; Doan Van Ha - CadViet.com - ngay 26/5/2014
; Chuc nang: dich chuyen vi tri Text cua Dim vao trong hoac ra ngoai 2 duong dong.
(defun C:HA( / tn)
 (vl-load-com)
 (initget "T N")
 (setq tn (getkword "\nVi tri dat Text [Trong/Ngoai] <T>: "))
 (princ "\nChon cac Dimension can thay doi vi tri Text...")
 (if (ssget (list (cons 0 "DIMENSION")))
  (vlax-for obj (vla-get-ActiveSelectionSet (vla-get-ActiveDocument (vlax-get-acad-object)))
   (vla-put-TextInside obj (if (= tn "N") :vlax-false :vlax-true)))))
 

 

OK, lisp này ngon rồi. Cám ơn bạn Doan Van Ha nhiều nhé

Tiện thể bạn xem hộ mình thắc mắc này nhé, mình thắc mắc cho vào phần thắc mắc chung mà mãi không có bạn nào trả lời giúp mình, mọi người bận quá hay sao ý

http://www.cadviet.c...scale-cho-xref/

Chân thành cám ơn bạn


  • 0