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

Không thể close lệnh refedit

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

Báo cáo với các bác là khi mà điều chỉnh block bằng Refedit. Có add thêm 1 hay một số hình nữa vào block thì có lúc save lại ngon. Có lúc save lại block. Nó không cho save và thông báo bằng dòng lệnh sau :

 

Cannot save back changes because objects in the working set reference objects outside of the working set. The Refedit session is still active. Press F2 after dismissing the dialog to see the list of missing references.

 

Các cao thủ giúp em mới.....

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áo cáo với các bác là khi mà điều chỉnh block bằng Refedit. Có add thêm 1 hay một số hình nữa vào block thì có lúc save lại ngon. Có lúc save lại block. Nó không cho save và thông báo bằng dòng lệnh sau :

 

Cannot save back changes because objects in the working set reference objects outside of the working set. The Refedit session is still active. Press F2 after dismissing the dialog to see the list of missing references.

 

Các cao thủ giúp em mới.....

Đây là một vấn đề hay.

 

Cái này tôi bị một lần rồi. Cách xử lý rất đơn giản. Nhưng tôi sẽ chỉ cho bạn cách tìm ra nó. Đầu tiên ta sẽ translate dòng thông báo về tiếng Việt để hiểu nghĩa của nó:

Không thể lưu lại các sự thay đổi bởi các đối tượng trong tập hợp làm việc ánh xạ ra các đối tượng nằm ngoài tập hợp làm việc. session refedit vẫn còn hiện hành. Nhấn F2 sau khi loại bỏ hộp thoại này để xem danh sách các ánh xạ bị sai.

Đoạn dịch trên hơi lủng củng một chút. Nhưng đại loại là: đối tượng trong block trong khi bạn sửa bằng refedit lại bị phụ thuộc vào 1 đối tượng bình thường khác nằm ngoài block. Dẫn đến không thể close refedit được. Bởi nếu cho phép như vậy, sẽ dẫn đến lỗi logic ánh xạ trong file DWG (ví dụ A ánh xạ đến B, B ánh xạ đến C, C lại ánh xạ đến A).

 

Cách giải quyết, bạn tạm thời Remove tất cả các đối tượng có liên quan đến ánh xạ trong block ra ngoài gồm: dim, text, hatch, block, attribute đôi khi là cả các đối tượng thông thường khác như line, Pline, Arc (nếu chúng mang các giá trị Xdata). Cho đến khi bạn close được refedit. Sau đó, add lần lượt các đối tượng vào. Đối tượng nào không được thì bạn hãy kiểm tra và loại bỏ sự ánh xạ của nó đi. Nếu bạn nhấn F2 để đọc thông báo, bạn sẽ biết được ánh xạ gì bị lỗi.

 

Để thử nghiệm cho những ai chưa gặp, hãy download file DWG dưới đây, dùng lệnh refedit để hiệu chỉnh block có hình chữ nhật. Sau đó dùng lệnh Refset > Add (hoặc click vào biểu tượng dấu cộng trên thanh toolbar Refedit) và chọn đối tượng text trong hình chữ nhật. Bây giờ, bạn không thể đóng lệnh refedit này lại được. Sẽ có 1 dòng thông báo như thang42c3 đã nêu.

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

Với ví dụ này, sau khi ACAD thông báo, nhấn F2 để xem thì sẽ thấy:

Errors found in references to other objects:

** Object reference missing: AcDbField, to AcDbText.

Tức là tìm thấy lỗi ánh xạ: đối tượng AcDbField (trong block) ánh xạ ra đối tượng AcDbText (ngoài block). Phản ánh đúng nguyên nhân gây lỗi.

  • 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

cách giải quyết của bác chỉ là thạm thời còn thực chất vấn đề là tại sao và cái j làm lỗi đó bác cỏ thể cho e biết đc ko

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ách giải quyết của bác chỉ là thạm thời còn thực chất vấn đề là tại sao và cái j làm lỗi đó bác cỏ thể cho e biết đc ko

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

Đây là một vấn đề hay.

 

Cái này tôi bị một lần rồi. Cách xử lý rất đơn giản. Nhưng tôi sẽ chỉ cho bạn cách tìm ra nó. Đầu tiên ta sẽ translate dòng thông báo về tiếng Việt để hiểu nghĩa của nó:

Không thể lưu lại các sự thay đổi bởi các đối tượng trong tập hợp làm việc ánh xạ ra các đối tượng nằm ngoài tập hợp làm việc. session refedit vẫn còn hiện hành. Nhấn F2 sau khi loại bỏ hộp thoại này để xem danh sách các ánh xạ bị sai.

Đoạn dịch trên hơi lủng củng một chút. Nhưng đại loại là: đối tượng trong block trong khi bạn sửa bằng refedit lại bị phụ thuộc vào 1 đối tượng bình thường khác nằm ngoài block. Dẫn đến không thể close refedit được. Bởi nếu cho phép như vậy, sẽ dẫn đến lỗi logic ánh xạ trong file DWG (ví dụ A ánh xạ đến B, B ánh xạ đến C, C lại ánh xạ đến A).

 

Cách giải quyết, bạn tạm thời Remove tất cả các đối tượng có liên quan đến ánh xạ trong block ra ngoài gồm: dim, text, hatch, block, attribute đôi khi là cả các đối tượng thông thường khác như line, Pline, Arc (nếu chúng mang các giá trị Xdata). Cho đến khi bạn close được refedit. Sau đó, add lần lượt các đối tượng vào. Đối tượng nào không được thì bạn hãy kiểm tra và loại bỏ sự ánh xạ của nó đi. Nếu bạn nhấn F2 để đọc thông báo, bạn sẽ biết được ánh xạ gì bị lỗi.

 

Để thử nghiệm cho những ai chưa gặp, hãy download file DWG dưới đây, dùng lệnh refedit để hiệu chỉnh block có hình chữ nhật. Sau đó dùng lệnh Refset > Add (hoặc click vào biểu tượng dấu cộng trên thanh toolbar Refedit) và chọn đối tượng text trong hình chữ nhật. Bây giờ, bạn không thể đóng lệnh refedit này lại được. Sẽ có 1 dòng thông báo như thang42c3 đã nêu.

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

Với ví dụ này, sau khi ACAD thông báo, nhấn F2 để xem thì sẽ thấy:

Errors found in references to other objects:

** Object reference missing: AcDbField, to AcDbText.

Tức là tìm thấy lỗi ánh xạ: đối tượng AcDbField (trong block) ánh xạ ra đối tượng AcDbText (ngoài block). Phản ánh đúng nguyên nhân gây lỗi.

Mình cũng đã gặp trường hợp này, khi đó add thêm vào block 1 ảnh chèn vào "chữ ký trên giấy" sau đó ko biết làm sao mà close được, Hoành chỉ rõ thêm giúp nhé!

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

ah, vậy còn lỗi khi dùng Refedit để Edit Block thì nó báo

 

Application reference missing : ACAD, to AcDbLinetypeTableRecord

 

la như thế nào vậy các bá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

Các bác ơi giúp e với!!!!

E dùng Refedit nhưng khi đóng block lại nó hiện dòng lỗi này:

Enter option [save/Discard reference changes] <Save>: _sav

Errors found in references to other objects:

** Object reference missing: AcDbLine, to AcDbDimAssoc.

Regenerating model.

 

Vậy phải làm thế nào để đóng lại block? DimAssoc là biến gì? Thank!!!!

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

×