1 Xref: external reference – làm ột loại khối (Block) trong AutoCAD nhưng có một vài khác biệt với khối thông thường, mà khác biệt lớn nhất là nội dung của nó sẽđược cập nhật lại khi bản vẽ gốc
3.6. Ràng buộc tham chiếu ngoà
Ràng buộc một tham chiếu ngoài vào bản vẽ khi sử dụng phương thức Bindsẽ làm cho tham chiếu ngoài trở thành bộ phận cố định của bản vẽ và không còn là tham chiếu ngoài nữa. Các thông tin của tham chiếu ngoài sẽ trở thành khối thông thường. Khi bản vẽđược tham chiếu bị thay đổi thì tham chiếu ngoài được liên kết sẽ không được cập nhật. Quá trình này sẽ liên kết toàn bộ cơ sở dữ liệu trong bản vẽ bao gồm cả bảng ký hiệu của nó. Bảng ký hiệu là các đối tượng phi hình học, ví dụ như khối, kiểu kích thước, lớp, kiểu chữ. Liên kết với tham chiếu ngoài cho phép các đối tượng phi hình học trong tham chiếu ngoài được sử dụng trong bản vẽ hiện hành.
Phương thức Bindchỉ yêu cầu một tham số là bPrefixName. Nếu tham số này được gán giá trị TRUE thì tên trong bảng ký hiệu của bản vẽ tham chiếu ngoài sẽ được thêm tiền tố <tên khối>$x$ trong bản vẽ hiện tại, trong đó x : là số nguyên bất kỳ được tựđộng tăng để tránh ghi đè lên định nghĩa khối đã có. Nếu tham số này nhận giá trị FALSEthì tên trong bảng ký hiệu sẽđược ghép chung vào bản vẽ hiện tại mà không có tiền tố. Nếu có các tên trùng nhau thì AutoCAD sẽ sử dụng ký hiệu vừa được định nghĩa trong bản vẽ. Nếu không chắc chắn liệu trong bản vẽ có trùng tên trong bảng ký hiệu hay không thì nên gán bPrefixName là TRUE.
Ràng buộc tham chiếu ngoài
Ví dụ này sẽ gắn một tham chiếu ngoài và sau đó liên kết nó với bản vẽ. Trong ví dụ này sử dụng tệp City map.dwg trong thư mục sample. Nếu không có hoặc tệp được lưu ở thư mục khác thì chỉ cần thêm tên và đường dẫn có thực cho biến PathName dưới đây.
Sub Ch10_BindingExternalReference() On Error GoTo ERRORHANDLER
’ Định nghĩa tham chiếu ngoài cần chèn vào Dim xrefHome As AcadBlock
Dim xrefInserted As AcadExternalReference Dim insertionPnt(0 To 2) As Double
Dim PathName As String insertionPnt(0) = 1 insertionPnt(1) = 1 insertionPnt(2) = 0
PathName = "c:/AutoCAD/sample/City map.dwg" ’ Thêm tham chiếu ngoài vào bản vẽ
Set xrefInserted = ThisDrawing.ModelSpace. _
AttachExternalReference(PathName, "XREF_IMAGE", _ insertionPnt, 1, 1, 1, 0, False)
ZoomAll
MsgBox "The external reference is attached." ’ Ràng buộc tham chiếu ngoài vào bản vẽ
ThisDrawing.Blocks.Item(xrefInserted.name).Bind False MsgBox "The external reference is bound."
Exit Sub ERRORHANDLER:
MsgBox Err.Description End Sub