Các bác à, em muốn có một lisp có tác dụng tròn số vào CAD, đề bài xích : Có các text là những số tự trước, hiện nay em mong mỏi làm tròn những text đó ( mang sau dấu phẩy x cam kết tự mình nhập vào ) . Bác Pro làm sao viết mang lại em đi ?


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

*

Các chưng à, em muốn có một lisp làm cho tròn số trong CAD, đề bài xích : Có các text là các số tự trước, hiện giờ em mong muốn làm tròn những text đó ( lấy sau lốt phẩy x ký tự bản thân nhập vào ) . Bác bỏ Pro nào viết cho em đi ?

Xem thêm: Trịnh Y Kiện Và Hôn Nhân Không Con Cái, Tai Tiếng Phụ Bạc 2 Minh Tinh

*

*

Bạn vào Dimension style chỉnh trong Modify rồi chỉnh Primany unit /Precision = 0.0.........(tuỳ)

=0 làm tròn xoe :cheers:

Bạn 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:

duy782006 1.502

PHẠM QUỐC DUYkhanhhoatrip.com Team 1.5022.376 bài xích viếtGiới tính:MaleVị trí:Bình sơn - Quảng NgãiBạn 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:

hhhggg

-Dùng lisp thì bao gồm mấy mẫu vướng:

+Dấu ngăn cách là lốt phẩy hay dấu chấm là tùy trực thuộc vào tùy chỉnh cấu hình của chúng ta nên có khi lisp đúng có lúc không (khi hiểu giá trị).Bạn vẫn xem: bí quyết bỏ số 0 sau lốt phẩy vào cad

+Phân biệt text số và text chữ (vấn đề này bàn vài lẩn rồi nhưng lại mình vẫn chưa chũm vấn đề).

+Làm tròn thì dư quăng quật bớt không đủ thì sao. Ví dụ như 12 thế ra 12 hay ra 12,00

Bạn vào Dimension style chỉnh vào Modify rồi chỉnh Primany unit /Precision = 0.0.........(tuỳ)

=0 làm tròn xoe :cheers:

Các bác phải phân biệt rõ, đấy là text chứ ko nên Dim, như vậy làm thế nào chỉnh bằng Properties được ? Dấu chia cách hàng thập phân cùng chữ số ta cần sử dụng dâuc Chấm. Vào CAD tốt Nova gần như dùng vệt chấm mà. Với ta thống độc nhất là làm cho tròn sau dấu phẩy nhì chữ số ! rất tốt là có tác dụng tròn với số chữ số sau vết phẩy là do người dùng nhập vào ?

Các chưng phải tách biệt rõ, đó là text chứ ko buộc phải Dim, như vậy làm thế nào chỉnh bởi Properties được ? Dấu phân làn hàng thập phân và chữ số ta cần sử dụng dâuc Chấm. Vào CAD xuất xắc Nova những dùng dấu chấm mà. Với ta thống độc nhất là có tác dụng tròn sau vệt phẩy hai chữ số ! rất tốt là làm tròn cùng với số chữ số sau vết phẩy là do người dùng nhập vào ?

Ứng dụng hàm Round của chưng SSG đã vấn đáp trong topic Lisp nhân thêm hệ số K vào Text. Mình đã phát triển nên đoạn Code này để gia công 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 cố 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) (strcat S1 "." S3) (strcat "-" 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))(entmod d)(setq i (1+ i)))(princ))

 

Bạn bao gồm thể đổi khác số thập phân ở chiếc này : (setq thapphan 2)

 

Mình đã thử thay 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 theo như ý. Vị dưới công dụng của vòng lặp Repeat cái câu nhắc "nSo chu so thap phan la :" được lặp lại cho tới Text cuối cùng. Điều này nó không tuân theo được ý của người sử dụng.

 

Mong chưng SSG và tất cả mọi fan cùng góp ý để đoạn Code bên trên được hoàn thành xong một giải pháp trọn vẹn.