Chuyển đến nội dung
Diễn đàn CADViet
ukhoney

Text cao độ bị mất dấu chấm phần thập phân

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

Xin chào!!

File cad cua mình có vấn đề là : một số text cao độ bị mất dấu chấm, vi dụ : 0.2 mà chỉ còn là 0 2 nên khi load cao độ, sẽ hiểu là 2

Có lisp nào khắc phục ko nhỉ? Giúp mình với nhé

Thanks!!

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

Trừ khi bạn post file để mọi người xem là tại sao thì đúng là hok còn cách nào bạn ạ ^^

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 thử sử dụng đoạn này xem sao. 1 ví dụ điển hình của việc biết lisp thì lợi ntn ^^

(defun c:fix ()
(defun chDXF (dxf val ent) 
(entmod (subst (cons dxf val) (assoc dxf (entget ent)) (entget ent))))
(defun dxf (dxf ent) (cdr (assoc dxf (entget ent))))
(foreach e (acet-ss-to-list (ssget "X" (list (cons 0 "TEXT")(cons 1 "~-#")(cons 1 "##"))))
(chDXF  1 (strcat "." (dxf 1 e)) e)
)
)

  • 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

Bạn thử sử dụng đoạn này xem sao. 1 ví dụ điển hình của việc biết lisp thì lợi ntn ^^

(defun c:fix ()
(defun chDXF (dxf val ent) 
(entmod (subst (cons dxf val) (assoc dxf (entget ent)) (entget ent))))
(defun dxf (dxf ent) (cdr (assoc dxf (entget ent))))
(foreach e (acet-ss-to-list (ssget "X" (list (cons 0 "TEXT")(cons 1 "~-#")(cons 1 "##"))))
(chDXF  1 (strcat "." (dxf 1 e)) e)
)
)

Không còn j để diễn tả ^^

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 thử sử dụng đoạn này xem sao. 1 ví dụ điển hình của việc biết lisp thì lợi ntn ^^

(defun c:fix ()
(defun chDXF (dxf val ent) 
(entmod (subst (cons dxf val) (assoc dxf (entget ent)) (entget ent))))
(defun dxf (dxf ent) (cdr (assoc dxf (entget ent))))
(foreach e (acet-ss-to-list (ssget "X" (list (cons 0 "TEXT")(cons 1 "~-#")(cons 1 "##"))))
(chDXF  1 (strcat "." (dxf 1 e)) e)
)
)

bạn tự học lisp trên diễn đàn à. mình thấy những ai biết lisp toàn là đại cao thủ :wub:

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ám ơn bạn, đúng là mình học ở diễn đàn, còn từ đại cao thủ thì mình xin k dám nhận :)

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 thử sử dụng đoạn này xem sao. 1 ví dụ điển hình của việc biết lisp thì lợi ntn ^^

(defun c:fix ()
(defun chDXF (dxf val ent) 
(entmod (subst (cons dxf val) (assoc dxf (entget ent)) (entget ent))))
(defun dxf (dxf ent) (cdr (assoc dxf (entget ent))))
(foreach e (acet-ss-to-list (ssget "X" (list (cons 0 "TEXT")(cons 1 "~-#")(cons 1 "##"))))
(chDXF  1 (strcat "." (dxf 1 e)) e)
)
)

Chào a ketxu

Nhờ a kiểm tra lại lisp fix dùm e nha

Khi sử dụng fix thì khắc phục đuợc lỗi mất dấu chấm, nhưng o một số text bị tách ra thì lại có thêm 1 dấu chấm nữa

http://www.mediafire.com/?bir8mzv3rb3gi58

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

Chào bạn. Hôm đó là mình viết chữa cháy, trên code sẽ chọn những số 2 chữ số tách rời để thêm dấu . vào đằng trước. Code thì có thể sửa được, n bản vẽ của bạn mình vừa down về, nhưng thấy giống hệt file lần trước bạn gửi, cũng không thấy file kết quả sau khi chạy, k thấy bạn khoanh tròn chỗ bị miss, và bị trong trường hợp nào....nên hoặc bạn post lại file kèm lỗi, hoặc tạm thời mình nghĩ bạn có thể tự fix thủ công bằng cách dùng lệnh FIND, phần Find text string thì bạn điền .. ,phần Replace with bạn điền . rồi nhấn Replace All nhé

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

Chào bạn. Hôm đó là mình viết chữa cháy, trên code sẽ chọn những số 2 chữ số tách rời để thêm dấu . vào đằng trước. Code thì có thể sửa được, n bản vẽ của bạn mình vừa down về, nhưng thấy giống hệt file lần trước bạn gửi, cũng không thấy file kết quả sau khi chạy, k thấy bạn khoanh tròn chỗ bị miss, và bị trong trường hợp nào....nên hoặc bạn post lại file kèm lỗi, hoặc tạm thời mình nghĩ bạn có thể tự fix thủ công bằng cách dùng lệnh FIND, phần Find text string thì bạn điền .. ,phần Replace with bạn điền . rồi nhấn Replace All nhé

Xin chào bác Ketxu,

Đúng là mình cũng không mở được cái file sau khi chạy lisp của bạn ukhoney nên chưa rõ cái lỗi nó ra sao. Nhưng sau khi xem cái bản vẽ của bạn ukhoney gửi và cái lisp bác viết mình đoán có nhẽ vấn đề là do trên bản vẽ của bạn ukhoney có nhiều loại text số khác nhau mà cái bộ lọc của bác chưa lọại hết những text không cần sửa.

Theo ngu ý của mình có nhẽ bác có thể bổ xung thêm cái mã DXF 72 của text vào trong bộ lọc của hàm ssget, như vậy sẽ tách được text nào là text chỉ số phần nguyên (mã dxf 72 bằng 2) và text nào là text chỉ số chữ số thập phân (mã dxf 72 bằng 0).

Đồng thời bác thêm mã dxf 7 vào trong bộ lọc để chỉ xử lý các text có style là "CHUSO".

Khi đó sẽ tách được các text số tự do với style là "Standard" ra khỏi các text cần sửa có style là "CHUSO".

 

Chúc bác thành công.....

  • 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

Vâng.E vẫn đang chờ bạn ấy post file lúc miss để rào giậu cho kín cái ssget, hôm đó gặp cái file to quá, e tắt hết để lại mỗi text đấy để test nên có phần chủ quan ^^. Mà vì bạn uhokey cũng chưa phản hồi nên cũng hổng biết là bạn ấy còn vướng không, hay đã giao cho CĐT rồi, thì ta cứ phè phè chờ th ^^

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

Lisp này nó hành luôn chứ k có nói, bạn phải biết công dụng rồi hãy dùng nhé. cẩn thận củi lửa ^^

 

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

×