[ORD 2021 R1] How to monitor geometry was changed?

Hi,

before I dive into testing and research, I'd like to ask, whether ORD SDK offers a standard way how to monitor a geometry (simple, complex) was changed (e.g. moved, parameter of arc changed, part of geometry removed...)?

Based on this event, I need to do (not very complicated) calculations and when necessary, modify some other elements. Originally I hoped it is possible to use standard MicroStation tools (Display Styles, Expressions in Item Types, Fields in text), but some requirements are more complex than these tools can handle, and some events (like an arc between lines removed) require specific follow ups.

I have couple of ideas how to track events using MicroStation API (e.g. monitor input queue, to use Transaction Manager monitoring, EC data change monitor), but maybe there is something available already in civil API?

My question is not limited to specific API / language, the most of the code is C# now, but some other tools implemented are based on C++/CLI and calling native MicroStation API too.

With regards,

  Jan

Parents Reply Children
  • Jan,

    I got with our main architect and he understands what you are trying to do.   Unfortunately, there is not anything exposed to the API that will help you determine a change in a complex geometry.  For example, you have found out how to determine that a specific alignment has changed by tracking EC but you do not know what component of that alignment changed.

  • Hi Chris,

    thanks for your answer, even when it is not exactly what I was hoping for ;-)

    but you do not know what component of that alignment changed.

    Yes, it is challenging goal :-)

    On paper, it looks like I am able to narrow context using a set of conditions enough to receive only events I need. But I cannot be sure until test code is written.

    by tracking EC

    This is a bit detective, but also confusing work, and maybe an advice can help here:

    Every element, especially when "featurized", is represented by different EC classes. I do not understand internal civil model (well, I have not enough time to play with that, even though it's really interesting how it is implemented ;-), but so far LinearEntity2dInPlan class looks like good candidate what should be monitored. No "Alignment" class exist, but every alignment always contain LinearEntity2dInPlan class.

    There are plenty of others available, but many from them are alignment type specific (complex string vs line vs arc...), and some looks abstract and I am not able to find where they are defined (like classes *_Presentation, defined in CivilSchema, but it does not exist).

    With regards,

      Jan