Đến nội dung


Hình ảnh

Nhờ các bác sửa giùm em file cao độ này với


  • Please log in to reply
7 replies to this topic

#1 dieptit

dieptit

    biết vẽ circle

  • Members
  • PipPip
  • 30 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 28 January 2010 - 11:31 AM

Em đang làm đồ án. Tài liệu ban đầu xin đuợc của thầy giáo có file cao độ hiện trạng bị lỗi cách ghi cao độ
Trong file của em có 2 cách ghi cao độ : ví dụ .15.69 ( lẽ ra là 15.69) và 1,6 ( lẽ ra 1.6)
Như vậy 1 đám text cao độ bị thừa 1 dấu chấm ở phía truớc, 1 đám text phải thay dấu , thành dấu .
Em k biết cách sửa thế nào cả . Bác nào rành vụ này có thể giúp em đuợc k
Cái cao độ của em có khu vực thấp hơn mực nước biển nên bị âm ( có chỗ -.1.65 và -0,6)
Ý em muốn đưa hết các cao độ về kiểu ghi bằng 1 dấu chấm thôi ạ. mà k làm thay đổi vị trí text cao độ .Ví dụ như là 1.65
Mong sớm nhận được sự chỉ giáo của các bác
File: http://www.mediafire.com/?imimdzctzzw
  • 0

#2 duy782006

duy782006

    PHẠM QUỐC DUY

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 2155 Bài viết
Điểm đánh giá: 1360 (rất tốt)

Đã gửi 28 January 2010 - 04:54 PM

Em đang làm đồ án. Tài liệu ban đầu xin đuợc của thầy giáo có file cao độ hiện trạng bị lỗi cách ghi cao độ
Trong file của em có 2 cách ghi cao độ : ví dụ .15.69 ( lẽ ra là 15.69) và 1,6 ( lẽ ra 1.6)
Như vậy 1 đám text cao độ bị thừa 1 dấu chấm ở phía truớc, 1 đám text phải thay dấu , thành dấu .
Em k biết cách sửa thế nào cả . Bác nào rành vụ này có thể giúp em đuợc k
Cái cao độ của em có khu vực thấp hơn mực nước biển nên bị âm ( có chỗ -.1.65 và -0,6)
Ý em muốn đưa hết các cao độ về kiểu ghi bằng 1 dấu chấm thôi ạ. mà k làm thay đổi vị trí text cao độ .Ví dụ như là 1.65
Mong sớm nhận được sự chỉ giáo của các bác
File: http://www.mediafire.com/?imimdzctzzw

-Cái anh thay dầu , thành dấu . thì dùng lệnh find là được.
-Cái anh dư dấu . ở đầu thì dùng lisp bỏ bớt 1 ký tự phía trước đi. Nhớ chọn cho đúng mấy anh bị dư nhé.
http://www.cadviet.c...o...c=6991&st=0
  • 1

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#3 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 28 January 2010 - 05:09 PM

-Cái anh thay dầu , thành dấu . thì dùng lệnh find là được.
-Cái anh dư dấu . ở đầu thì dùng lisp bỏ bớt 1 ký tự phía trước đi.
Nhớ chọn cho đúng mấy anh bị dư nhé.
http://www.cadviet.c...o...c=6991&st=0

Anh Duy xem lại chứ không được rồi :
Giải pháp đưa ra phải chọn hết -> Không biết anh đã xem bản vẽ của bạn dieptit upload lên chưa?
Nếu theo cách của anh mà Nhớ chọn cho đúng mấy anh bị dư nhé. thì có đến .... Tết cônggô cũng chưa xong :undecided:

Giải pháp đưa ra như sau :
1./ dùng lệnh Find : thay hết dấu , thành dấu chấm . -> lệnh CAD
2.Chọn toàn bộ Text
- Những anh nào có dấu - đằng trước thì bớt kí tự thứ 2 tính từ vị trí đàu tiên
- Những anh nào không có dấu - đằng trước thì bớt kí tự đàu tiên
(Kí tự bớt đó là kí tự dấu .)
(Cái này đưa ra giải quyết bằng Lisp)
Viết luôn cho dieptit code này luôn :
đánh lệnh tthe -> Chờ 1 chút -> kết quả

(defun c:tthe()
(vl-load-com)
(ssget "X" (list(cons 0 "TEXT") (cons 8 "CAODO")))
(setq doc (vla-get-activedocument(vlax-get-acad-object)))
(vlax-for x (vla-get-activeSelectionSet doc)
(setq chuoi (vlax-get x 'Textstring))
(if (vl-string-search "," chuoi)
(vlax-put x 'textstring (vl-string-subst "." "," chuoi))
(vlax-put x 'textstring (vl-string-subst "" "." chuoi))
)
)
(princ)
)

  • 1

#4 dieptit

dieptit

    biết vẽ circle

  • Members
  • PipPip
  • 30 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 03 February 2010 - 04:13 PM

Em cảm ơn anh đã bỏ thời gian viết lisp cho em. Em đã làm theo lisp và đã sửa đuợc lỗi . Nhưng phát sinh thêm lỗi này mà lần truớc em chưa nhìn kỹ.
File cad của em còn 1 lỗi ghi cao độ nữa : đó là thừa dấu . ở phía sau các số. ví dụ là : 30.25. hoăc 3.10.
Vì thế em cần phải bỏ dấu . ở cuối cùng nữa
Anh có thể giúp em sửa lại lisp cho hoàn thiện k ạ? Em cảm ơn anh nhiều
  • 0

#5 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 03 February 2010 - 04:49 PM

Em cảm ơn anh đã bỏ thời gian viết lisp cho em. Em đã làm theo lisp và đã sửa đuợc lỗi . Nhưng phát sinh thêm lỗi này mà lần truớc em chưa nhìn kỹ.
File cad của em còn 1 lỗi ghi cao độ nữa : đó là thừa dấu . ở phía sau các số. ví dụ là : 30.25. hoăc 3.10.
Vì thế em cần phải bỏ dấu . ở cuối cùng nữa
Anh có thể giúp em sửa lại lisp cho hoàn thiện k ạ? Em cảm ơn anh nhiều

Bạn xem lại file CAD của bạn -> đặt ra các trường hợp bị lỗi.
Tue_NV sẽ viết cho bạn. Nhớ nhìn thật kĩ và đặt ra các trường hợp bạn cần khắc phục nhé.
Bạn có thể khoanh lại chổ bạn cần khắc phục trong file CAD và upload lên đây.

Chúc vui vẻ. :undecided:
  • 1

#6 dieptit

dieptit

    biết vẽ circle

  • Members
  • PipPip
  • 30 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 03 February 2010 - 05:27 PM

Em soát lại lỗi thì gồm có tất cả 5 lỗi cần sửa như sau:
- Thay dấu , thành dấu . ( đám text màu vàng)
- Thừa dấu . ở cuối cùng của text ( đám text màu đỏ )
- Thừa dấu . ở đầu của text ( đám text màu xanh lá cây)
- Thừa dấu . ở sau dấu - ( đám text màu tím )
- Thừa dấu . ở đầu của text ( trước dấu - ) ( đám text màu xanh da trời )
Mong sớm nhận được hồi âm của bác
Link file đây ạ
http://www.mediafire.com/?wizmrbocmbf
  • 0

#7 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 03 February 2010 - 10:23 PM

Em soát lại lỗi thì gồm có tất cả 5 lỗi cần sửa như sau:
- Thay dấu , thành dấu . ( đám text màu vàng)
- Thừa dấu . ở cuối cùng của text ( đám text màu đỏ )
- Thừa dấu . ở đầu của text ( đám text màu xanh lá cây)
- Thừa dấu . ở sau dấu - ( đám text màu tím )
- Thừa dấu . ở đầu của text ( trước dấu - ) ( đám text màu xanh da trời )
Mong sớm nhận được hồi âm của bác
Link file đây ạ
http://www.mediafire.com/?wizmrbocmbf

Đã viết xong code. Bạn thử nhé :

(defun c:tthe(/ doc chuoi)
(vl-load-com)
(ssget "X" (list(cons 0 "TEXT") (cons 8 "CAODO")))
(setq doc (vla-get-activedocument(vlax-get-acad-object)))
(vlax-for x (vla-get-activeSelectionSet doc)
(setq chuoi (vlax-get x 'Textstring))
(if (vl-string-search "," chuoi)
(vlax-put x 'textstring (vl-string-subst "." "," chuoi))
(if (= (substr chuoi (strlen chuoi) 1) ".")
(vlax-put x 'textstring (vl-string-subst "" "." chuoi (1- (strlen chuoi))))
(if (= (vl-string-search "." (vl-string-subst "" "." chuoi)) nil)
(vlax-put x 'textstring chuoi)
(vlax-put x 'textstring (vl-string-subst "" "." chuoi))
)
)
)
)
(alert "\n Da xu ly xong")
(princ)
)

  • 2

#8 dieptit

dieptit

    biết vẽ circle

  • Members
  • PipPip
  • 30 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 03 February 2010 - 10:57 PM

Mọi lỗi đã sửa được rồi. Em chân thành cảm ơn anh nhiều
  • 0