Đến nội dung


Hình ảnh
- - - - -

[Nhờ chỉnh sửa] Lisp tính tổng pline ed vào đuôi text


  • Please log in to reply
3 replies to this topic

#1 bach1212

bach1212

    biết lệnh trim

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

Đã gửi 25 February 2014 - 03:54 PM

Mình có text ở dạng này: D400,L100 và 1 lisp tính tổng chiều dài các đoạn thẳng.
Nhờ các bạn chỉnh sửa sao cho kết quả sau khi dùng lisp được gắn vào định dạng text như trên, ngay sau chữ L

Ví dụ: Tổng chiều dài các đoạn tính ra được 107, thì kết quả sẽ là: D400,L107

File cad để check: http://www.cadviet.c...0304_bd_tnm.rar

Lisp tính tổng pline đã có sẵn: http://www.cadviet.c.../40304_tgll.lsp
 


  • 0

Một môn tập luyện mang lại vô vàn lợi ích sức khỏe cho mọi người, nhiều bệnh tật nan y đều được chữa khỏi, hoàn toàn miễn phí. Hiệu quả chữa khỏi bệnh tật của nó lên đến hơn 90%.
Tài liệu tại đây: http://phapluan.org/

Rất vui được làm quen với mọi người trên facebook:
https://www.facebook...67946371&type=1

 

 


#2 hiepttr

hiepttr

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1298 Bài viết
Điểm đánh giá: 518 (tốt)

Đã gửi 25 February 2014 - 05:37 PM

Là "tân binh" nên tạm sửa cho bạn thế này :D :D :D

Có gì thì từ từ sửa tiếp

p/s: Chữ "L" trong text của bạn phải luôn là chữ in hoa đó, tạm thế đã

;; free lisp from cadviet.com
;;;--------------------------------------------------------------------
(defun Length1(e) (vlax-curve-getDistAtParam e (vlax-curve-getEndParam e)))
;;;--------------------------------------------------------------------
(defun C:TGLL( / ss L e)
(setq
ss (ssget (list (cons 0 "LINE,ARC,CIRCLE,POLYLINE,LWPOLYLINE,ELLIPSE,SPLINE")))
L 0.0
)
(vl-load-com)
(while (setq e (ssname ss 0))
(setq L (+ L (length1 e)))
(ssdel e ss)
)


(setq te (entget(car(entsel"\n Chon Text de gan ket qua :")))
te (subst (cons 1 (strcat (CAT (cdr (assoc 1 te)) "L") (rtos L 2 0))) (assoc 1 te) te))
(entmod te)
)
;;;--------------------------------------------------------------------
;Ham lay ki tu thu n cua chuoi:
(defun TIM(str n)
(substr str n 1)
)
;-------------------
;Ham cat chuoi co 1 ky tu "x" tu dau den ky tu "x"
(defun CAT(str x / i)
(setq i 0)
(while (/= (TIM str (setq i (1+ i))) x)
(substr str 1 (1+ i))
)
)

  • 0

Có vợ dù dữ dù hiền , bạn đều có lợi
_ Nếu vợ hiền, bạn sẽ là người đàn ông sung sướng
_ Nếu vợ dữ, bạn sẽ thành ... triết gia !

Bergson


#3 bach1212

bach1212

    biết lệnh trim

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

Đã gửi 26 February 2014 - 08:01 AM

Cám ơn "tân binh". 
Lisp dùng tốt, chuẩn rồi đó bạn ah.  :)


  • 0

Một môn tập luyện mang lại vô vàn lợi ích sức khỏe cho mọi người, nhiều bệnh tật nan y đều được chữa khỏi, hoàn toàn miễn phí. Hiệu quả chữa khỏi bệnh tật của nó lên đến hơn 90%.
Tài liệu tại đây: http://phapluan.org/

Rất vui được làm quen với mọi người trên facebook:
https://www.facebook...67946371&type=1

 

 


#4 hiepttr

hiepttr

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1298 Bài viết
Điểm đánh giá: 518 (tốt)

Đã gửi 26 February 2014 - 09:15 AM

Sửa lại tí để khỏi phân vân chữ HOA hay chữ thường & có cảnh báo khi text chọn không hợp lệ !

;; free lisp from cadviet.com
;;;--------------------------------------------------------------------
(defun Length1(e) (vlax-curve-getDistAtParam e (vlax-curve-getEndParam e)))
;;;--------------------------------------------------------------------
(defun C:TGLL( / ss L e str)
(setq
ss (ssget (list (cons 0 "LINE,ARC,CIRCLE,POLYLINE,LWPOLYLINE,ELLIPSE,SPLINE")))
L 0.0
)
(vl-load-com)
(while (setq e (ssname ss 0))
(setq L (+ L (length1 e)))
(ssdel e ss)
)


(setq te (entget(car(entsel"\n Chon Text de gan ket qua :"))))
(cond ((or (vl-string-search "l" (setq str (cdr (assoc 1 te)))) (vl-string-search "L" str))
	(setq te (subst (cons 1 (strcat (CAT str "L") (rtos L 2 0))) (assoc 1 te) te))
	(entmod te))
	(t (alert "Text ban chon khong co chu L !"))
)
)
;;;--------------------------------------------------------------------
;Ham lay ki tu thu n cua chuoi:
(defun TIM(str n)
(substr str n 1)
)
;-------------------
;Ham cat chuoi co ky tu "x" tu dau den ky tu "x" sau cung (khong phan biet CHU HOA chu thuong):
(defun CAT(str x / i)
(cond
    ((= (xstrcase (substr str (strlen str))) (xstrcase x))
        str)
    (t
        (setq i (1+ (strlen str)))
        (while (/= (xstrcase (TIM str (setq i (1- i)))) (xstrcase x))
            (substr str 1 (1- i))
        )
    )
)
)

  • 2

Có vợ dù dữ dù hiền , bạn đều có lợi
_ Nếu vợ hiền, bạn sẽ là người đàn ông sung sướng
_ Nếu vợ dữ, bạn sẽ thành ... triết gia !

Bergson