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

Ánh xạ giá trị đối tượng text

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

Bạn muốn một số đối tượng text link giá trị với một đối tượng text nào đó. Nhưng bạn không muốn biến nó thành block, làm thế nào đây?

 

Hãy làm như sau:

- Tại dòng command, dùng lệnh FIELD.

- Tại bảng lệnh Field, phần Field names chọn Object, tại phần Object type: bạn sẽ thấy một nút có biểu tượng con chuột, bạn nhấn vào biểu tượng này. Màn hình CAD sẽ được hiện ra để bạn chọn đối tượng text nguồn - là đối tượng mà bạn muốn giá trị của nó là gốc và sẽ được tự động link vào các text khác. Chọn xong đối tượng text nguồn, bảng lệnh Field sẽ xuất hiện.

- Tại bảng lệnh Field vừa mới xuất hiện trở lại, trong phần Property hãy chọn Contents. Lúc này, bạn liếc vào phần Preview, sẽ thấy xuất hiện giá trị của text vừa chọn. Liếc xuống Field expression bạn sẽ thấy cấu cấu trúc dạng: %<\AcObjProp Object(%<\_ObjId xxxxxxxxxx>%).Backward \f "%bl2">% trong đó xxxxxxxxxx sẽ là mã ID của đối tượng text vừa chọn. Hãy copy dòng biểu thức trong Field expression - bằng cách tô xanh dòng chữ này rồi phải chuột chọn copy.

- Nhấn Cancel để thoát khỏi bảng lệnh Field.

- Trở lại màn hình CAD, bạn tạo một đối tượng TEXT bằng lệnh DTEXT rồi paste giá trị vừa copy vào đối tượng TEXT. Hoặc bạn cũng có thể edit một đối tượng đã có để paste giá biểu thức rồi vào. Nói một cách tổng quát, AutoCAD trong lúc REGEN sẽ tìm các text có biểu thức %<\AcObjProp Object(%<\_ObjId xxxxxxxxxx>%) và thay bằng giá trị của đối tượng text ánh xạ.

 

Đây là file ví dụ, bạn sửa giá trị ở đối tượng Text phía dưới, đối tượng text phía trên sẽ tự động update theo (tất nhiên là sau khi sử dụng lệnh REGEN).

http://www.cadviet.com/upfiles/Textlink.zip

  • Vote tăng 32

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 muốn một số đối tượng text link giá trị với một đối tượng text nào đó. Nhưng bạn không muốn biến nó thành block, làm thế nào đây?

 

Hãy làm như sau:

- Tại dòng command, dùng lệnh FIELD.

- Tại bảng lệnh Field, phần Field names chọn Object, tại phần Object type: bạn sẽ thấy một nút có biểu tượng con chuột, bạn nhấn vào biểu tượng này. Màn hình CAD sẽ được hiện ra để bạn chọn đối tượng text nguồn - là đối tượng mà bạn muốn giá trị của nó là gốc và sẽ được tự động link vào các text khác. Chọn xong đối tượng text nguồn, bảng lệnh Field sẽ xuất hiện.

- Tại bảng lệnh Field vừa mới xuất hiện trở lại, trong phần Property hãy chọn Contents. Lúc này, bạn liếc vào phần Preview, sẽ thấy xuất hiện giá trị của text vừa chọn.

---------------------------

Đến đây nhấn vào ok là được

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

Theo mặc định Acad sẽ nhận các giá trị ánh xạ text trong tệp ...\Support\acad.fmp ( được quy định bằng biến FONTMAP ) Bạn có thể sửa tệp tin này để thiết lập các font cần thay thế khi acad không tìm đưoc các FONT cần thiết trong bản vẽ .Trong tệp tin này mỗi một dòng chứa tên 2 font : FONT được thay thế và FONT dùng thay thế , ngăn cách nhau bằng dấu chấm phẩy . Ví dụ :

cibt;CITYB___.TTF có nghĩa là FONT cibt sẽ được thay thế bằng FONT : CITYB___.TTF của Windows

  • 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 muốn một số đối tượng text link giá trị với một đối tượng text nào đó. Nhưng bạn không muốn biến nó thành block, làm thế nào đây?

 

Hãy làm như sau:

- Tại dòng command, dùng lệnh FIELD.

- Tại bảng lệnh Field, phần Field names chọn Object, tại phần Object type: bạn sẽ thấy một nút có biểu tượng con chuột, bạn nhấn vào biểu tượng này. Màn hình CAD sẽ được hiện ra để bạn chọn đối tượng text nguồn - là đối tượng mà bạn muốn giá trị của nó là gốc và sẽ được tự động link vào các text khác. Chọn xong đối tượng text nguồn, bảng lệnh Field sẽ xuất hiện.

- Tại bảng lệnh Field vừa mới xuất hiện trở lại, trong phần Property hãy chọn Contents. Lúc này, bạn liếc vào phần Preview, sẽ thấy xuất hiện giá trị của text vừa chọn. Liếc xuống Field expression bạn sẽ thấy cấu cấu trúc dạng: %<\AcObjProp Object(%<\_ObjId xxxxxxxxxx>%).Backward \f "%bl2">% trong đó xxxxxxxxxx sẽ là mã ID của đối tượng text vừa chọn. Hãy copy dòng biểu thức trong Field expression - bằng cách tô xanh dòng chữ này rồi phải chuột chọn copy.

- Nhấn Cancel để thoát khỏi bảng lệnh Field.

- Trở lại màn hình CAD, bạn tạo một đối tượng TEXT bằng lệnh DTEXT rồi paste giá trị vừa copy vào đối tượng TEXT. Hoặc bạn cũng có thể edit một đối tượng đã có để paste giá biểu thức rồi vào. Nói một cách tổng quát, AutoCAD trong lúc REGEN sẽ tìm các text có biểu thức %<\AcObjProp Object(%<\_ObjId xxxxxxxxxx>%) và thay bằng giá trị của đối tượng text ánh xạ.

 

Đây là file ví dụ, bạn sửa giá trị ở đối tượng Text phía dưới, đối tượng text phía trên sẽ tự động update theo (tất nhiên là sau khi sử dụng lệnh REGEN).

<a href="http://www.cadviet.com/upfiles/Textlink.zip" target="_blank"><a href="http://www.cadviet.com/upfiles/Textlink.zip" target="_blank"><a href="http://www.cadviet.com/upfiles/Textlink.zip" target="_blank">http://www.cadviet.com/upfiles/Textlink.zip</a></a></a>

Em rất cám ơn bác Hoành, đúng là cái hôm nay em cầ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
Cho em hỏi thêm chút:

Làm thế nào để tắt nét tô màu (trắng) của đối tượng cần thay đổi thế ạ. ?

:s_big:

Bạn đánh lệnh FIELDDISPLAY và nhập giá trị 0

 

Hoặc

Nataca_01Aug270940.jpg

  • Vote tăng 8

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

Thế trong truờng hợp thế này thì bác cho ý kiến :

Em có 2 block ghi chú cao độ cd1 & cd2, khi cập nhật cao độ cho block ở phía trên (cd1)thì block ở phía duới tự động cập nhật cao độ theo công thức : cd2=cd1-(delta y)

Em đã tìm đuợc toạ độ của 2 block trên nhưng ko làm sao lọc ra đuợc y mà xuất hiện cả toạ độ theo 3 huớng là x,y,z. Vì thế công thức trên không tính đuợc. Các bác chỉ giáo thêm. nếu cần file cad em xin up sau.

Nick của e là: bogiathongtaccong Email:v.quang117@gmail.com

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
Thế trong truờng hợp thế này thì bác cho ý kiến :

Em có 2 block ghi chú cao độ cd1 & cd2, khi cập nhật cao độ cho block ở phía trên (cd1)thì block ở phía duới tự động cập nhật cao độ theo công thức : cd2=cd1-(delta y)

Em đã tìm đuợc toạ độ của 2 block trên nhưng ko làm sao lọc ra đuợc y mà xuất hiện cả toạ độ theo 3 huớng là x,y,z. Vì thế công thức trên không tính đuợc. Các bác chỉ giáo thêm. nếu cần file cad em xin up sau.

Nick của e là: bogiathongtaccong Email:v.quang117@gmail.com

 

3_4.jpg

Vấn đề của bạn nằm ở đây, sau khi chọn tọa độ bạn muốn rồi nhấn OK sau đó kích chọn vào vị trí bạn cần!!

Good Luck!!

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ái lisp nào thay đổi field nhanh mà không cần thông qua cái bản field không bác. mỗi lần muốn đổi phải vào lại nó thì chậm quá...

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

sử dụng field rất hay. nhưng mình có 1 câu hỏi hơi khó xíu.

giả sử có 1 text (số)

có thể tạo 1 field lấy giá trị của text này (số của text đó) sau đó * thêm 1 hệ số nữa được không nhỉ

:blush:

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 bạn ạ :)

1 - Edit text : nhấn Ctrl + F để vào cửa sổ Insert Field

2 - Vào mục Object, chọn Text, chọn Content, nhìn vào bảng Field Expression, bạn thấy 1 dãy chuỗi, hãy copy nó

(trông nó có dạng như thế này : %<\AcObjProp Object(%<\_ObjId 2078047840>%).TextString>%)

3 - Chuyển sang mục Formula, đánh công thức vào, với đối số là dãy vừa copy. Ví dụ bạn muốn kết quả ở đây nhân thêm 2 thì nó sẽ có dạng :

2*%<\AcObjProp Object(%<\_ObjId 2078047840>%).TextString>%

 

4 - Xong

  • 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

hì, không biết cad 2005 của mình có củ chuối chưa, nhưng mình kg tìm thấy mục Formula của field :huh: .

Nếu không thấy Formula chắc là chưa có

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

×