Cách bỏ số 0 sau dấu phẩy trong cad

Các bác bỏ à, em ước ao có một lisp làm tròn số vào CAD, đề bài bác : Có các text là các số từ bỏ trước, hiện giờ em ao ước làm cho tròn các text đó ( rước sau vết phẩy x ký từ mình nhtràn lên ) . Bác Pro nào viết mang đến em đi ?


*


Các bác à, em hy vọng có 1 lisp có tác dụng tròn số trong CAD, đề bài bác : Có những text là các số tự trước, hiện nay em ao ước làm cho tròn những text đó ( rước sau vết phẩy x ký kết từ mình nhập lệ ) . Bác Pro như thế nào viết cho em đi ?
*

*

quý khách vào Dimension style chỉnh vào Modify rồi chỉnh Primany unit /Precision = 0.0.........(tuỳ)

=0 có tác dụng tròn xoe :cheers:



Quý khách hàng vào Dimension style chỉnh trong Modify rồi chỉnh Primany unit /Precision = 0.0.........(tuỳ)

=0 có tác dụng tròn vo :cheers:

 

Ttách ạ ! Ở đây là những Text tất cả sẵn từ trước rùi tuy thế, làm thế nào những phương pháp thiết lập có thể biến hóa được. Các các đó của những chưng chỉ vận dụng mang lại bạn dạng vẽ bản thân làm nên từ trên đầu thôi, còn các bạn dạng vẽ vì tín đồ khác làm cho mình buộc phải tiếp tục thì cần Dùng Lisp bắt đầu có tác dụng tròn được chđọng ? Mong bao gồm bác Pro nào quyên tâm viết góp !


duy782006 1.502

PHẠM QUỐC DUYphukien24h.org Team 1.5022.376 bài xích viếtGiới tính:MaleVị trí:Bình Sơn - Quảng Ngãi
Quý Khách vào Dimension style chỉnh trong Modify rồi chỉnh Primany unit /Precision = 0.0.........(tuỳ)

=0 làm cho tròn vo :cheers:


hhhggg

-Dùng lisp thì tất cả mấy cái vướng:

+Dấu ngăn cách là lốt phẩy tuyệt lốt chấm là tùy ở trong vào tùy chỉnh thiết lập của chúng ta yêu cầu tất cả Lúc lisp đúng có khi không (Lúc hiểu giá trị).

Bạn đang xem: Cách bỏ số 0 sau dấu phẩy trong cad

+Phân biệt text số cùng text chữ (sự việc này bàn vài ba lẩn rồi tuy vậy bản thân vẫn không cầm vấn đề).

+Làm tròn thì dư hạn chế không đủ thì sao. lấy ví dụ như 12 thì ra 12 giỏi ra 12,00


quý khách hàng vào Dimension style chỉnh trong Modify rồi chỉnh Primany unit /Precision = 0.0.........(tuỳ)

=0 có tác dụng tròn xoay :cheers:

 

Ttránh ạ ! Tại đó là những Text gồm sẵn tự trước rùi tuy thế, làm thế nào các cách thiết lập rất có thể thay đổi được. Các các đó của các bác bỏ chỉ áp dụng mang lại bản vẽ mình tạo ra sự từ đầu thôi, còn các bản vẽ vì chưng người khác có tác dụng mình nên giữ vững thì phải Dùng Lisp new làm cho tròn được chđọng ? Mong bao gồm bác bỏ Pro làm sao quyên tâm viết góp !


Các bác bỏ buộc phải riêng biệt rõ, đấy là text chứ đọng ko cần Dyên ổn, điều đó làm sao chỉnh bằng Properties được ? Dấu ngăn cách hàng thập phân với chữ số ta dùng dâuc Chấm. Trong CAD hay Nova hồ hết dùng dấu chnóng nhưng. Và ta thống nhất là có tác dụng tròn sau vệt phẩy nhị chữ số ! Tốt nhất là có tác dụng tròn với số chữ số sau lốt phẩy là vì người dùng nhtràn vào ?


Các bác đề xuất phân biệt rõ, đó là text chứ ko yêu cầu Dyên, như thế làm thế nào chỉnh bằng Properties được ? Dấu phân cách mặt hàng thập phân và chữ số ta sử dụng dâuc Chấm. Trong CAD hay Nova hầu như cần sử dụng lốt chấm nhưng mà. Và ta thống duy nhất là có tác dụng tròn sau vệt phẩy hai chữ số ! Tốt nhất là làm tròn với số chữ số sau vệt phẩy là do người dùng nhtràn lên ?

Ứng dụng hàm Round của chưng SSG đã trả lời vào topic Lisp nhân thêm thông số K vào Text. Mình đã trở nên tân tiến đề xuất đoạn Code này để triển khai tròn các Text sau những chữ số thập phân

;;;-------------------------------------------------------;;;-------------------------------------------------------(defun etype (e);;;Entity Type(cdr (assoc 0 (entget e))));;;-------------------------------------------------------(defun rnd(x);;;Round x, return INT(if (>= x 0) (fix (+ x 0.5)) (fix (- x 0.5)))) ;;;-------------------------------------------------------(defun TP()(setq thapphan 2);Ban co the thế doi so thap phan o dong nay)(defun round3(x / tue S i j S1 S3)(setq tue (TP))(setq S (itoa (rnd (* (abs x) (expt 10 tue)))))(setqi (strlen S)j (- i tue)S1 (substr S 1 j)S3 (substr S (1+ j) tue))(if (>= x 0) (strcát S1 "." S3) (strcát "-" S1 "." S3)));;;-------------------------------------------------------(defun C:Round( / ss k i e d v S)(setqss (ssget "((0 . "TEXT,MTEXT")))i 0)(repeat (sslength ss)(setq e (ssname ss i))(if (= (etype e) "MTEXT") (progn(command "explode" e "")(setq e (entlast))))(setqd (entget e)v (atof (cdr (assoc 1 d)))S (round3 v)d (subst (cons 1 S) (assoc 1 d) d))(entgian lận d)(setq i (1+ i)))(princ))

 

Bạn rất có thể thay đổi số thập phân ở cái này : (setq thapphan 2)

Đoạn Code này không được hoàn thành xong lắm vì theo trải nghiệm của người tiêu dùng là khi viết số thập phân vào thì công tác đã hiểu. Nhưng tại đây lại phải biến hóa số thập phân bằng phương pháp vào tệp tin Lisp sửa lại dòng (setq thapphan 2) mới ra được tác dụng may mắn.

Xem thêm: Chia Sẻ 5 Cách Chế Biến Củ Dền Đỏ Cho Bé, Mẹ Nên Tham Khảo, Bác Sĩ Huyền Trang

 

Mình đã làm cầm câu (setq thapphan 2) bởi câu (setq thapphan (getint " So chu so thap phan la :"))

Nhưng công dụng lại không áp theo suôn sẻ. Vì dưới tác dụng của vòng lặp Repeat dòng câu nhắc "nSo chu so thap phan la :" được tái diễn cho đến Text ở đầu cuối. Như vậy nó không theo được ý của người sử dụng.

 

Mong bác bỏ SSG và tất cả hầu như bạn cùng góp ý để đoạn Code bên trên được hoàn thiện một biện pháp đầy đủ.