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

export tập điểm text thành file đuôi .txt

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

Em chuyên làm san nền và giao thông nên thường xuyên dùng các file bản vẽ khảo sát hiện trạng để thiết kế, nhưng cao độ trong các bản vẽ đó đều là các text, bác nào biết cách số hoá các ký tự text đó thành cao độ thì chỉ giúp em với.Em đang phải làm một cách rất thủ công là dùng Land rồi tạo thành từng điểm cao độ đúng vào vị trí của các text, sau đó export tập điểm thành file đuôi .txt, rồi mới dùng HS và Nova để mô hình hoá địa hình. Cách này rất mất thời gian, thiếu chính xác và không pro. Em cũng đã từng nhìn 1 người làm được việc này bằng cách kết hợp Topo,Land.,nhưng em ko thể nhớ được là làm như thế nào.Bác nào biết cách chỉ cho em với.

Cám ơ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
Em chuyên làm san nền và giao thông nên thường xuyên dùng các file bản vẽ khảo sát hiện trạng để thiết kế, nhưng cao độ trong các bản vẽ đó đều là các text, bác nào biết cách số hoá các ký tự text đó thành cao độ thì chỉ giúp em với.Em đang phải làm một cách rất thủ công là dùng Land rồi tạo thành từng điểm cao độ đúng vào vị trí của các text, sau đó export tập điểm thành file đuôi .txt, rồi mới dùng HS và Nova để mô hình hoá địa hình. Cách này rất mất thời gian, thiếu chính xác và không pro. Em cũng đã từng nhìn 1 người làm được việc này bằng cách kết hợp Topo,Land.,nhưng em ko thể nhớ được là làm như thế nào.Bác nào biết cách chỉ cho em với.

Cám ơn nhiều!

Trong Nova có chức năng xuất cao độ theo text bạn đã thử chư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
Em chuyên làm san nền và giao thông nên thường xuyên dùng các file bản vẽ khảo sát hiện trạng để thiết kế, nhưng cao độ trong các bản vẽ đó đều là các text, bác nào biết cách số hoá các ký tự text đó thành cao độ thì chỉ giúp em với.Em đang phải làm một cách rất thủ công là dùng Land rồi tạo thành từng điểm cao độ đúng vào vị trí của các text, sau đó export tập điểm thành file đuôi .txt, rồi mới dùng HS và Nova để mô hình hoá địa hình. Cách này rất mất thời gian, thiếu chính xác và không pro. Em cũng đã từng nhìn 1 người làm được việc này bằng cách kết hợp Topo,Land.,nhưng em ko thể nhớ được là làm như thế nào.Bác nào biết cách chỉ cho em với.

Cám ơn nhiều!

 

lệnh là EXPTXT

(defun c:exptxt()
 (setq
   ss (ssget '((0 . "TEXT")))
   fn (getfiled "Ten file: " "" "txt" 1)
f (open fn "w")
   lst (ss2ent ss)
 )
 (foreach e lst
    (setq tt (entget e)
   p (cdr (assoc 10 tt))
   x (rtos (car p))
   y (rtos (cadr p))
   z (cdr (assoc 1 tt))

    )
    (write-line (strcat x " " y " " z) f)
 )
 (close f)
 (princ)
)

(defun ss2ent (ss / sodt index lstent)
(setq
sodt (if ss
(sslength ss)
0
)
index 0
)
(repeat sodt
(setq ent (ssname ss index)
index (1+ index)
lstent (cons ent lstent)
)
)
(reverse lstent)
)

  • Vote tăng 2

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
lệnh là EXPTXT

(defun c:exptxt()
 (setq
   ss (ssget '((0 . "TEXT")))
   fn (getfiled "Ten file: " "" "txt" 1)
f (open fn "w")
   lst (ss2ent ss)
 )
 (foreach e lst
    (setq tt (entget e)
   p (cdr (assoc 10 tt))
   x (rtos (car p))
   y (rtos (cadr p))
   z (cdr (assoc 1 tt))

    )
    (write-line (strcat x " " y " " z) f)
 )
 (close f)
 (princ)
)

(defun ss2ent (ss / sodt index lstent)
(setq
sodt (if ss
(sslength ss)
0
)
index 0
)
(repeat sodt
(setq ent (ssname ss index)
index (1+ index)
lstent (cons ent lstent)
)
)
(reverse lstent)
)

 

OK,cám ơn bác Hoành nhiều nhé,em đã dùng thử lisp của bác và làm được rồi, làm cái này nhanh hơn nhiều là dùng Topo kết hợp với Land. Thanks bác!

  • 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
lệnh là EXPTXT

(defun c:exptxt()
 (setq
   ss (ssget '((0 . "TEXT")))
   fn (getfiled "Ten file: " "" "txt" 1)
f (open fn "w")
   lst (ss2ent ss)
 )
 (foreach e lst
    (setq tt (entget e)
   p (cdr (assoc 10 tt))
   x (rtos (car p))
   y (rtos (cadr p))
   z (cdr (assoc 1 tt))

    )
    (write-line (strcat x " " y " " z) f)
 )
 (close f)
 (princ)
)

(defun ss2ent (ss / sodt index lstent)
(setq
sodt (if ss
(sslength ss)
0
)
index 0
)
(repeat sodt
(setq ent (ssname ss index)
index (1+ index)
lstent (cons ent lstent)
)
)
(reverse lstent)
)

 

Qủa thực lisp này rất hay bác Hoành. Chi có điều em muốn file .txt xuất ra có dạng như sau :

 

TT X Y Z

01 21.3 22.4 0.3

 

............

............

 

Em đã thử sửa code nhưng chưa được. Bác có thể giúp em không ? Cám ơn Bác

Chúc bác luôn khoẻ !

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 dùng NOVA, dùgn lệnh CDTEXT xuất text đấy ra tệp cao độ rồi dùng lệnh CDTEP đưa vào là đuợc mà, mình thường dùng cách này.

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ác Bác ơi cho em hỏi 1 chút là sao em dùng cái lisp của bác Hoành khi xuất tọa độ qua file xxx.txt mà không có kb nào vậy nhỉ?

nhân tiện đây nhờ các chuyên gia giúp em có thể xuất tọa độ trực tiếp 1 bảng liệt kê tọa độ ngay trên bản vẽ như hình minh họa kèm theo dưới đây được không a? cảm ơn các Bác rất nhiều!

Hình minh họa: http://www.cadviet.com/upfiles/3/drawing.dwg

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

lệnh là EXPTXT

 

(defun c:exptxt()
(setq
ss (ssget '((0 . "TEXT")))
fn (getfiled "Ten file: " "" "txt" 1)
f (open fn "w")
lst (ss2ent ss)
)
(foreach e lst
(setq tt (entget e)
p (cdr (assoc 10 tt))
x (rtos (car p))
y (rtos (cadr p))
z (cdr (assoc 1 tt))

)
(write-line (strcat x " " y " " z) f)
)
(close f)
(princ)
)

(defun ss2ent (ss / sodt index lstent)
(setq
sodt (if ss
(sslength ss)
0
)
index 0
)
(repeat sodt
(setq ent (ssname ss index)
index (1+ index)
lstent (cons ent lstent)
)
)
(reverse lstent)
)

Bạn ơi, Lisp trên của bạn là chọn thẳng vào text và xuất tọa độ của text đó ra, cao độ cũng chính là text đó. Lisp trên sử dụng được singeltext, không xuất được mutiltext

Nhưng nếu trong trường hợp tọa độ là ở hình tròn và cao độ ghi dang text, stt cũng dạng text thì các bạn xem giúp mình

mình gửi file cad dạng đó và text sử dụng là cả 2 trường hợp:  http://www.mediafire.com/file/k1c7ceejkxjmk39/Xuat+Toa+Do.dwg

Lisp trên bạn thêm giúp mọi người chút nữa với:

khi mở và load lên, sẽ cho mọi người 2 lựa chọn ( tọa độ tại text (1)/tọa độ,stt ngoài text (2)/tọa độ tại text và stt ngoài (3):

nếu gõ 1 sẽ chạy lisp trên ( bạn xem lại giúp, nếu Mutiltext sẽ không nhận được )

Nếu gõ 3 thì lisp trên sẽ thêm phần stt nữa ( khi xuất ra sẽ 1 file txt có stt      x      y       z )

nếu gõ 2 thì sẽ pick chọn lần lượt: text STT => vị trí trích tọa độ => text cao độ ( khi xuất ra sẽ 1 file txt có stt      x      y       z )

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

×