Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
lenhatanh

[Hỏi]Cùng một lisp, hai bản vẽ hai định dạng khác nhau ?

Các bài được khuyến nghị

(defun C:Cot (/ solan step che caotext daitext tiledo msso mss cdo pp p1)
 (command "undo" "be")
 (if (not tiled) (setq tiled 100.0))
 (setq tiledo (getreal (strcat "\n TiLe Dung Ve <" (rtos tiled 2 0) ">...: ")))
 (if tiledo (setq tiled tiledo))

 (if (not mss) (setq mss 0.0))
 (setq msso (getreal (strcat "\n Muc So Sanh Cua M.Cat <" (rtos mss 2 2) ">...: ")))
 (if msso (setq mss msso))
 (setq cdo (getreal "\n Cao Do Max Cua Duong D.Hinh...: "))
 (setq di1 (getpoint "\n Diem Dat Thuoc...: "))

 (setq step (/ tiled 100)
   	che (- cdo mss)
   	solan (+ (fix (/ (* che 100) tiled)) 1) sl nil)
 (command "Osmode" 0)
 (setq p1 (polar di1 (/ pi 2) 1)) 
;;------------------------------ Ghi Text Truc --------------------
 (command "_text" "J" "C" di1 "0" (strcat "mss: " (rtos mss 2 2)))
 (repeat solan
(setq pp (polar p1 (- pi) 0.4) mss (+ mss step))
(command "color" 7 ".TEXT" "MR" pp "0" (rtos mss 2 2))
(setq p1 (polar p1 (/ pi 2) 1))
 )
;;-----------------------------------------------------------------
 (setq mss nil)
 (command "Osmode" 33 "color" "Bylayer" "ortho" "on" "redraw")
 (command "undo" "e")
 (princ)
)

 

Tôi có lập một Lisp để ghi cột text so sánh cho mặt cắt như trên,

- Khi mở một bản vẽ mới thì Lisp ghi ra các text có hai số sau dấu phẩy kể cả số 0

(ví dụ: MSS: 70.00; 70.50; 71.00...) - Xem chi tiết trong B.vẽ No1.dwg.

- Nhưng khi sử dụng lisp cho một số bản vẽ cũ và đơn vị khác gửi đến thì Lisp ghi ra các text có định dạng khác,

không còn số 0 sau dấu phẩy (ví dụ: MSS: 70; 70.5; 71...) - Xem chi tiết trong B.vẽ No2.dwg.

Nhờ các Bạn chỉ dùm tại sao kết quả lại có sự khác nhau giữa hai bản vẽ khi dùng lisp...

Link đến file CAD: http://www.mediafire.com/download.php?hpyjeh9rdu2n3pe

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Bản vẽ nào không có 2 chữ số thập phân thì bạn add dòng này vào command trước khi dùng lisp xem ổn không:

(setvar "dimzin" 0)

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Có người muốn thích "trim" số 0 đằng sau, có người muốn không thích "trim" số 0 đằng sau

Em muốn thay 0.000 bằng 0 và phía sau các số có giá trị thì 0 có số không (ví dụ 0.010 =0.01, 0.20 =0.2) tức là trim bớt cái đuôi ấy ạ. Anh giúp em với thank!

2./ Muốn "trim"

Bạn set biến dimzin =8

Command: dimzin

Enter new value for DIMZIN <8>: 8

-> Nguồn : http://www.cadviet.com/forum/index.php?showtopic=67159&st=320

 

Hai bản vẽ của bạn lenhatanh, mình chưa mở, nhưng theo mô tả chắc chắn là khác ở biến dimzin, một bản set dimzin = 0; một bản set dimzin =8

Bạn lenhatanh mở help đọc thêm về biến hệ thống dimzin, biến luprec về quản lý số chữ số thập phân

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Hai bản vẽ của bạn lenhatanh, mình chưa mở, nhưng theo mô tả chắc chắn là khác ở biến dimzin, một bản set dimzin = 0; một bản set dimzin =8

Bạn lenhatanh mở help đọc thêm về biến hệ thống dimzin, biến luprec về quản lý số chữ số thập phân

Cám ơn các bạn nhiều !

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

Đăng nhập để thực hiện theo  

×