Đến nội dung


Hình ảnh

Mọi người có cách gì để chuyển các cao độ trong bản vẽ này về dạng text dc ko?


  • Please log in to reply
13 replies to this topic

#1 thuyengt

thuyengt

    biết pan

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

Đã gửi 04 August 2010 - 09:45 PM

http://www.mediafire...d5a6ugv36cu839o
mọi người xem giúp các cao độ trong bản vẽ này như thế nào mà ko sửa được?
  • 0

#2 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6007 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 04 August 2010 - 11:17 PM

http://www.mediafire...d5a6ugv36cu839o
mọi người xem giúp các cao độ trong bản vẽ này như thế nào mà ko sửa được?

Chào bạn thuyengt,
Mình đã xem bản vẽ của bạn, các "text" cao độ của bản vẽ này thực chất là một ACAD_PROXY_ENTITY chứ không phải là một text. Nó bao gồm hai MTEXT và một vòng tròn bán kinh 0.05
Để sửa nó bạn cần lưu ý như sau: 1/- vị trí tâm vòng tròn chính là điểm trên mặt bằng mà bạn muốn ghi cao độ
2/- MTEXT phía trước chỉ phần nguyên của cao độ
3/- MTEXT phía sau chỉ phần thập phân của cao độ được làm tròn tới hai chữ số.
Bạn chỉ cần explore các ACAD_PROXY_ENTITY này là có thể sửa được.
Nếu mình nhớ không nhầm thì trên diễn đàn đã có lisp để làm cái việc chỉnh sữa này.
Do mình không phải dân giao thông hay trắc địa bản đồ gì cả nên không quan tâm lắm tới nó, bạn chịu khó tìm kiếm một chút sẽ thấy.
Khi dùng lisp, nếu thấy có gì bất cập hãy post lên mọi người sẽ giúp bạn.
Chúc bạn vui...
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#3 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6007 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 06 August 2010 - 02:15 PM

http://www.mediafire...d5a6ugv36cu839o
mọi người xem giúp các cao độ trong bản vẽ này như thế nào mà ko sửa được?

Chào bạn thuyengt,
Bạn thử sử dụng đoạn lisp dưới đây xem sao nhé. Lisp này giúp bạn đổi các đối tượng ACAD_PROXY_ENTITY thành các MTEXT và vẫn đặt tại vị trí của point.
Nếu có gì chưa phù hợp, hãy post lên mình sẽ xem lại.
Lisp này chỉ phù hợp với cấu trúc của Acad_proxy_entity trên bản vẽ bạn đã post. Nếu Acad_proxy_entity có cấu trúc khác sẽ không còn phù hợp nữa. Bạn hãy lưu ý nhé.

(defun c:acpr2t (/ ss n i en ssc pls p1 p2 ssp m j enp els strp lth str )
(vl-load-com)
(command "undo" "be")
(setq ss (ssget '((0 . "ACAD_PROXY_ENTITY"))))
(setq n (sslength ss)
i 0)
(while (< i n)
(setq en (ssname ss i)
ssc (ssadd en)
pls (acet-geom-ss-extents-fast ssc)
p1 (car pls)
p2 (cadr pls)
)
(command "explode" en)
(setq ssp (ssget "w" p1 p2)
m (sslength ssp)
j 0
)
(while (< j m)
(setq enp (ssname ssp j)
els (entget enp))
(if (= (cdr (assoc 0 els)) "CIRCLE")
(progn
(setq p0 (cdr (assoc 10 els)))
(entdel enp)
)
)
(setq j (1+ j))
)
(setq enp (ssname ssp 0)
els (entget enp))
(setq strp (cdr(assoc 1 els))
lth (strlen strp)
strp (substr strp (1- lth) 2))
(entdel enp)
(setq enp (ssname ssp 1)
els (entget enp))
(setq els (subst (cons 71 8) (assoc 71 els) els)
els (subst (cons 10 p0) (assoc 10 els) els)
str (cdr (assoc 1 els))
str (strcat str "." strp)
els (subst (cons 1 str) (assoc 1 els) els))
(entmod els)

(setq i (1+ i))
)
(command "undo" "e")
(princ)
)


Sau khi đã chuyễn các đối tượng này thành MTEXT thì việc bạn muốn thay đổi nó hoàn toàn đơn giản đúng không????
Chúc bạn vui.....
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#4 chu_lai

chu_lai

    Chưa sử dụng CAD

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

Đã gửi 02 December 2011 - 02:30 PM

Chào bạn thuyengt,
Bạn thử sử dụng đoạn lisp dưới đây xem sao nhé. Lisp này giúp bạn đổi các đối tượng ACAD_PROXY_ENTITY thành các MTEXT và vẫn đặt tại vị trí của point.
Nếu có gì chưa phù hợp, hãy post lên mình sẽ xem lại.
Lisp này chỉ phù hợp với cấu trúc của Acad_proxy_entity trên bản vẽ bạn đã post. Nếu Acad_proxy_entity có cấu trúc khác sẽ không còn phù hợp nữa. Bạn hãy lưu ý nhé.

Sau khi đã chuyễn các đối tượng này thành MTEXT thì việc bạn muốn thay đổi nó hoàn toàn đơn giản đúng không????
Chúc bạn vui.....


Sao mình sử dụng nó báo lỗi như thế này error: no function definition: ACET-GEOM-SS-EXTENTS-FAST
  • 0

#5 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6007 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 02 December 2011 - 03:05 PM


Sao mình sử dụng nó báo lỗi như thế này error: no function definition: ACET-GEOM-SS-EXTENTS-FAST

Hề hề hề,
Bạn đã cài express tools chưa????
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#6 chu_lai

chu_lai

    Chưa sử dụng CAD

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

Đã gửi 05 December 2011 - 02:52 PM

Hề hề hề! Mình dốt quá
Cảm ơn nhiều nhé
  • 0

#7 mCuongs

mCuongs

    biết zoom

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

Đã gửi 20 April 2014 - 05:36 PM

Hề hề hề,
Bạn đã cài express tools chưa????

Lisp của bạn rất hay nhưng khi mình dùng còn bị lỗi, không thể chuyển đổi một lượng proxy->text nhiều đc, hoặc một số vẫn chuyển đổi được nhưng một số thì không, bạn có thể sửa lại líp để khi chuyển từ proxy sang text thì cái nào được chuyển sẽ bị xóa proxy đi, như vậy mình sẽ dùng nhiều lần lisp của bạn và chuyển hết các đối tượng. 

 
Command: ACPR2T
 
Select objects: Specify opposite corner: 79 found
 
Select objects:  bad argument type: lselsetp nil; error: An error has occurred 
 
 
Command: ACPR2T
 
Select objects: Specify opposite corner: 79 found
 
Select objects:  bad argument type: lselsetp nil; error: An error has occurred 
 
 
Command: ACPR2T
 
Select objects: Specify opposite corner: 79 found
 
Select objects:  bad argument type: lselsetp nil; error: An error has occurred 
 
 
Command: ACPR2T
 
Select objects: Specify opposite corner: 79 found
 
Select objects:  bad argument type: lselsetp nil; error: An error has occurred 

  • 0

#8 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 20 April 2014 - 06:23 PM

Có 1 cách hay nhất là bạn gởi bản vẽ "sự cố" ấy lên để bác PTB test, may ra sửa lisp được, chứ không thấy mặt mũi thì e khó.


  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#9 mCuongs

mCuongs

    biết zoom

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

Đã gửi 21 April 2014 - 02:31 PM

Có 1 cách hay nhất là bạn gởi bản vẽ "sự cố" ấy lên để bác PTB test, may ra sửa lisp được, chứ không thấy mặt mũi thì e khó.

Link File day a, hi vong cac bac giup dc e http://www.mediafire.../BV_06_-_SN.dwg


  • 0

#10 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6007 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 21 April 2014 - 04:02 PM

Link File day a, hi vong cac bac giup dc e http://www.mediafire.../BV_06_-_SN.dwg

Hề hề hề,

File thì có thấy nhưng chả thấy có đối tượng  ACAD_PROXY_ENTITY. Vậy nên chịu thua rồi.


  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#11 mCuongs

mCuongs

    biết zoom

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

Đã gửi 23 April 2014 - 08:50 AM

Hề hề hề,

File thì có thấy nhưng chả thấy có đối tượng  ACAD_PROXY_ENTITY. Vậy nên chịu thua rồi.

Layon lên và đối tượng proxy là cao độ địa hình mà bác


  • 0

#12 quangtunb

quangtunb

    Chưa sử dụng CAD

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

Đã gửi 04 June 2015 - 09:55 AM

Chào bạn thuyengt,
Bạn thử sử dụng đoạn lisp dưới đây xem sao nhé. Lisp này giúp bạn đổi các đối tượng ACAD_PROXY_ENTITY thành các MTEXT và vẫn đặt tại vị trí của point.
Nếu có gì chưa phù hợp, hãy post lên mình sẽ xem lại.
Lisp này chỉ phù hợp với cấu trúc của Acad_proxy_entity trên bản vẽ bạn đã post. Nếu Acad_proxy_entity có cấu trúc khác sẽ không còn phù hợp nữa. Bạn hãy lưu ý nhé.

(defun c:acpr2t (/ ss n i en ssc pls p1 p2 ssp m j enp els strp lth str )
(vl-load-com)
(command "undo" "be")
(setq ss (ssget '((0 . "ACAD_PROXY_ENTITY"))))
(setq n (sslength ss)
i 0)
(while (< i n)
(setq en (ssname ss i)
ssc (ssadd en)
pls (acet-geom-ss-extents-fast ssc)
p1 (car pls)
p2 (cadr pls)
)
(command "explode" en)
(setq ssp (ssget "w" p1 p2)
m (sslength ssp)
j 0
)
(while (< j m)
(setq enp (ssname ssp j)
els (entget enp))
(if (= (cdr (assoc 0 els)) "CIRCLE")
(progn
(setq p0 (cdr (assoc 10 els)))
(entdel enp)
)
)
(setq j (1+ j))
)
(setq enp (ssname ssp 0)
els (entget enp))
(setq strp (cdr(assoc 1 els))
lth (strlen strp)
strp (substr strp (1- lth) 2))
(entdel enp)
(setq enp (ssname ssp 1)
els (entget enp))
(setq els (subst (cons 71 8) (assoc 71 els) els)
els (subst (cons 10 p0) (assoc 10 els) els)
str (cdr (assoc 1 els))
str (strcat str "." strp)
els (subst (cons 1 str) (assoc 1 els) els))
(entmod els)

(setq i (1+ i))
)
(command "undo" "e")
(princ)
)

Sau khi đã chuyễn các đối tượng này thành MTEXT thì việc bạn muốn thay đổi nó hoàn toàn đơn giản đúng không????
Chúc bạn vui.....

Cái này rất hay!cảm ơn pro!nhưng cho mình hỏi mỗi lần dùng lệnh chỉ chọn được 1 đối tượng không thể quét hết cùng lúc được ak?thứ 2 là những điểm có độ cao dưới 0 ví dụ như 0,45 thì nó nhẩy thành 45,45!mong sự giúp đỡ của pro!


  • 0

#13 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 04 June 2015 - 10:43 AM

Ai bảo với bạn là chỉ chọn được 1 đối tượng? Bạn thử chọn nhiều hơn chưa? 


  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#14 quangtunb

quangtunb

    Chưa sử dụng CAD

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

Đã gửi 12 November 2015 - 02:03 PM

Ai bảo với bạn là chỉ chọn được 1 đối tượng? Bạn thử chọn nhiều hơn chưa? 

Mình chọn nhiều đối tượng rồi!mà chỉ được 1 cái!cưu


  • 0