Đến nội dung


Hình ảnh
- - - - -

xin trợ giúp về làm tròn text


  • Please log in to reply
4 replies to this topic

#1 hmt

hmt

    biết lệnh scale

  • Members
  • PipPipPip
  • 146 Bài viết
Điểm đánh giá: -11 (hơi kém)

Đã gửi 21 December 2014 - 10:31 AM

chào mọi ng. Hiện e có 1 vấn đề đó là việc làm tròn số các text trong cad. ví dụ 2.35 -> 2.60,  3.63 -> 3.60 , 3.66-> 3.70,   3.96->4.00

mà có rất nhiều đối tượng text cần làm tròn như vạy. Mong các pro giúp đỡ :) thank all 


  • 0

#2 sgcq

sgcq

    Hội Hai Lúa

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

Đã gửi 21 December 2014 - 11:06 AM

:D :D :D

Do 2 lúa không biết lisp, Bác test thử lisp này xem sao, nhớ sửa chữa lại cho phù hợp.

 

http://www.cadviet.c...replacetext.lsp

:D :D :D


  • 1

12728974_230210507314169_718723558582070 HỘI HAI LÚA

           fanpage: https://www.facebook.com/HoiHaiLua/

 

 

 

 

 

 


#3 hiepttr

hiepttr

    Edu level: li10

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

Đã gửi 21 December 2014 - 12:32 PM

chào mọi ng. Hiện e có 1 vấn đề đó là việc làm tròn số các text trong cad. ví dụ 2.35 -> 2.60,  3.63 -> 3.60 , 3.66-> 3.70,   3.96->4.00

mà có rất nhiều đối tượng text cần làm tròn như vạy. Mong các pro giúp đỡ :) thank all 

 

Phần tô đỏ hơi khó :D :D :D


  • 1

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


#4 nhoclangbat

nhoclangbat

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1409 Bài viết
Điểm đánh giá: 379 (khá)

Đã gửi 21 December 2014 - 01:30 PM

- nhoc mới thử viết bạn test thử ^^

(defun c:bongbong(/ c ss ename info text1 so num)
(setq c -1)
(prompt "Chon text so: ")
 (if (setq ss (ssget '((0 . "TEXT"))))
 (progn
    (while (setq ename (ssname ss (setq c (1+ c))))
      (if (setq num (distof (cdr (assoc 1 (entget ename)))))
            num
      );if
	  (if num
	  (progn
	   (setq info (entget ename))
	   (setq text1 (distof (rtos (distof (cdr (assoc 1 info))) 2 2)))
	   (if (or (> (rem text1 0.1) 0.05) (equal (rem text1 0.1) 0.05 0.01))
	   (setq so (rtos (lamtron text1 0.1) 2 2))
	   (setq so (rtos (- text1 (rem text1 0.1)) 2 2))
	   )
	   (entmod (subst (cons 1 so) (assoc 1 info) info))
	   )
	   )
	   )
  )
 )
(princ)
)
(defun lamtron (n k / sodu)
  (setq sodu (rem n k))
  (if (/= sodu 0)
    (setq n (+ (- n sodu) k))
  )
  n
)	   

  • 1
"...................][)e\/i][_ /\/\@Y CrY....................."

(defun THỔ_DÂN_HỌC_CAD (xxxx) ...) ^_^








#5 hmt

hmt

    biết lệnh scale

  • Members
  • PipPipPip
  • 146 Bài viết
Điểm đánh giá: -11 (hơi kém)

Đã gửi 21 December 2014 - 04:07 PM

- nhoc mới thử viết bạn test thử ^^

(defun c:bongbong(/ c ss ename info text1 so num)
(setq c -1)
(prompt "Chon text so: ")
 (if (setq ss (ssget '((0 . "TEXT"))))
 (progn
    (while (setq ename (ssname ss (setq c (1+ c))))
      (if (setq num (distof (cdr (assoc 1 (entget ename)))))
            num
      );if
	  (if num
	  (progn
	   (setq info (entget ename))
	   (setq text1 (distof (rtos (distof (cdr (assoc 1 info))) 2 2)))
	   (if (or (> (rem text1 0.1) 0.05) (equal (rem text1 0.1) 0.05 0.01))
	   (setq so (rtos (lamtron text1 0.1) 2 2))
	   (setq so (rtos (- text1 (rem text1 0.1)) 2 2))
	   )
	   (entmod (subst (cons 1 so) (assoc 1 info) info))
	   )
	   )
	   )
  )
 )
(princ)
)
(defun lamtron (n k / sodu)
  (setq sodu (rem n k))
  (if (/= sodu 0)
    (setq n (+ (- n sodu) k))
  )
  n
)	   

thank bác :D lisp dùng rất tốt :D 


  • 0