Đến nội dung


Hình ảnh

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


  • Please log in to reply
16 replies to this topic

#1 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

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

Đã gửi 01 August 2007 - 11:21 AM

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
  • 32

#2 dh2xd

dh2xd

    biết vẽ pline

  • Members
  • PipPip
  • 65 Bài viết
Điểm đánh giá: 24 (tàm tạm)

Đã gửi 17 July 2008 - 09:23 AM

kinh nghiệm đáng quý thật. Bây giờ sửa chú thích khỏi sợ sót nữa rồi cảm ơn bác nhiều
  • 0

#3 hang xom

hang xom

    biết vẽ circle

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

Đã gửi 19 July 2008 - 04:12 PM

[quote name='Nguyen Hoanh' date='Aug 1 2007, 11:21 AM' post='4767']
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
  • 0

#4 lamtecco2

lamtecco2

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 715 Bài viết
Điểm đánh giá: 856 (rất tốt)

Đã gửi 19 July 2008 - 04:45 PM

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
  • 1

#5 phuongkq

phuongkq

    biết vẽ line

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

Đã gửi 29 July 2009 - 06:02 PM

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.c...s/Textlink.zip" target="_blank"><a href="http://www.cadviet.c...s/Textlink.zip" target="_blank"><a href="http://www.cadviet.c...s/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
  • 0

#6 duonghung1210

duonghung1210

    biết lệnh offset

  • Members
  • PipPipPip
  • 175 Bài viết
Điểm đánh giá: 61 (tàm tạm)

Đã gửi 27 August 2009 - 02:26 AM

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:
  • 0
Nhăn răng ra cười cho đời đỡ khổ!!!

#7 nataca

nataca

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 712 Bài viết
Điểm đánh giá: 553 (tốt)

Đã gửi 27 August 2009 - 09:25 AM

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
Hình đã gửi
  • 8

#8 noiloan123

noiloan123

    Chưa sử dụng CAD

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

Đã gửi 08 June 2010 - 10:46 PM

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
  • 0

#9 okienvangs

okienvangs

    biết zoom

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

Đã gửi 20 October 2010 - 08:16 AM

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


Hình đã gửi
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!!
  • 0

*-*Tuổi trẻ yêu như điên, về già điên mới yêu... *->


#10 zoro107

zoro107

    biết vẽ ellipse

  • Members
  • PipPip
  • 51 Bài viết
Điểm đánh giá: 10 (tàm tạm)

Đã gửi 14 November 2011 - 10:03 AM

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á...
  • 0

#11 thanhphothang5

thanhphothang5

    biết zoom

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

Đã gửi 21 November 2011 - 09:44 PM

tôi làm không ra nó chỉ chay ra nguyên dòng mã đã coppy. vây là sao?
  • 0

#12 binharch77

binharch77

    biết dimcontinue

  • Members
  • PipPipPipPipPip
  • 372 Bài viết
Điểm đánh giá: 163 (tàm tạm)

Đã gửi 24 February 2012 - 04:01 PM

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:
  • 0

#13 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 24 February 2012 - 04:18 PM

Đượ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
  • 2

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#14 binharch77

binharch77

    biết dimcontinue

  • Members
  • PipPipPipPipPip
  • 372 Bài viết
Điểm đánh giá: 163 (tàm tạm)

Đã gửi 24 February 2012 - 04:47 PM

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: .
  • 0

#15 Hai_YenLang

Hai_YenLang

    biết lệnh explore

  • Members
  • PipPipPipPipPipPip
  • 473 Bài viết
Điểm đánh giá: 149 (tàm tạm)

Đã gửi 25 February 2012 - 01:09 PM

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ó
  • 0
Đức hạnh lớn nhất mà bên cạnh đó, mọi đức hạnh khác đều mờ nhạt đi, đó là không làm hại ai và tùy sức mà giúp đỡ mọi người "
Người cảnh sát điều tra hình sự giỏi là người biết được tất cả những hành vi thủ đoạn trộm cắp của bọn trộm cắp, nhưng lại dốt ăn cắp ăn trộm ...

#16 doan281

doan281

    biết zoom

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

Đã gửi 28 October 2012 - 12:04 PM

Chào các Bác!
Lỗi Field trong vòng tròn là gì vậy? Dấu #### ý.


Hình đã gửi


Định dạng của nó đây:

Hình đã gửi
  • 0

#17 xuanvu0407

xuanvu0407

    biết zoom

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

Đã gửi 23 October 2013 - 09:05 PM

link bị die rồi,ai dowload rồi cho mình xin lại cái file ví dụ bác Hoành gửi đi


  • 0