/

30 tháng 6, 2013

Tạo ra các đối tượng phụ thuộc lẫn nhau?

Dưới đây nguyên văn câu trả lời của tác giả Fernando Malard, mà chúng ta đã nhắc đến:
First how did you make this dependency? Just using an ObjectId as a reference to each other? There are several ways to do that.
This will depend on how you would like to manage your guys. If this reaction is a two way one, you probably will need to use entity reactor but this dependency scenario can take a complex solution due the commands you would like to support.
Keep in mind that the complexity of your application increases how much as the flexibility you would like to provide.
A good sample that shows something like this, even using the same kind of custom entity as a sample, is the \ObjectARX 2000\docsamps\persreac
Take a look on it and see if it helps you.

Tạm dich:

Đầu tiên là làm cách nào để tạo ra các đối tượng phụ thuộc? Chỉ cần sử dụng ObjectId như là một tham chiếu đến các đối tượng khác mà. Có một vài cách để làm điều đó. Nó sẽ phụ thuộc vào việc bạn muốn quản lý các "chàng trai" (đối tượng) của mình như thế nào. Nếu phản ứng là 2 chiều 1, có thể bạn sẽ phải sử dụng thực thể phản ứng nhưng kịch bản phụ thuộc này có thể làm giải pháp trở nên phức tạp do các lệnh bạn muốn hỗ trợ. Hãy nhớ rằng sự phức tạp của ứng dụng gia tăng bao nhiêu thì độ linh hoạt bạn tạo ra cũng tăng lên bấy nhiêu.

Ví dụ tốt cho một cái gì đó như thế này, thậm chí là tạo ra một thực thể mới, là \ObjectARX 2000\docsamps\persreac

persreac

Chương trình này cho thấy việc sử dụng các bộ phản ứng liên tục bằng cách gắn hai bộ phản ứng của hai đoạn thẳng với nhau. Mỗi bộ phản ứng lưu ObjectId của đoạn thẳng kia để khi đoạn thẳng gắn nó bị kéo dài hoặc rút ngắn, thì bộ phản ứng sẽ mở đối tượng kia và thay đổi chiều dài của nó tương tự như chiều dài mới của dòng ban đầu.

1.    Tải ứng dụng arx.
2.    Nhập lệnh từ dòng nhắc: ALINES

Nó sẽ tạo ra hai đường thẳng mới và kết nối chúng vào 2 bộ phản ứng liên tục. Mỗi bộ phản ứng có objectId của đoạn thẳng đối. Khi chiều dài một đoạn thẳng thay đổi, bộ phản ứng gắn trên nó sẽ mở đoạn thẳng kia (sử dụng ObjectId) và thay đổi chiều dài của đường thẳng đó bằng với chiều dài của đoạn thẳng đã bị thay đổi trước đó.

Ví dụ, nếu ta gọi 2 đoạn thẳng là dtA và dtB, khi đó bộ phản ứng gắn vào dtA sẽ giữ objectId của dtB và bộ phản ứng trên dtB sẽ giữ objectId của dtA.
Khi chúng ta thay đổi chiều dài của dtA, bộ phản ứng của dtA sẽ mở dtB và thay đổi chiều dài của dtB bằng với chiều dài mới của dtA.

Rất có thể nó sẽ giúp được bạn!

Không có nhận xét nào:

Đăng nhận xét