Hi,
does anyone have an idea, how to SET the cursor position in Microstation via. MDL? I can receive the position with mdlSystem_getCursorPosition().
I want to control the cursor position in a scenario, where the graphical input is coming from a different source as a Microstation window (like a digitizing tablet). Actually I paint a transient element as a "pseudo cursor", but this is not satisfying to the user. I must have control over the real Microstation cursor, while the user is placing a linestring and this primitive command is in dynamic view.
Thank you in advanceTom
Jon,
thank you for your answers. I'll try the MstnTool class from the C++ API, to see if this is satisfying my needs. Actually I have to switchover to an other task, so this may take two or three weeks.
After this, I will report to the community, if this way was successful.
Regards
Tom
Unknown said:I'm just using the Microstation Place Linestring command and simply want control over the cursor while the command is running
There is no capability to intercept a command function. You can't, for example, inject a callback to its dynamics function.
Writing your own place line-string command isn't too hard. You are then free to do whatever you want during dynamics. The best API is the C++ MstnTool — the base class for application-defined tools.
If you prefer to stay with MDL, the mdlState_startPrimitive is the entry point to MicroStation's state machine.
Regards, Jon Summers LA Solutions
Hello Jon,
you are right, the poorly documented C++ API ...
I found an example to implement an own create Line command at LA-Solution, but I don't want to reinvent the wheel: I'm just using the Microstation Place Linestring command and simply want control over the cursor while the command is running. I couldn't find a solution for this till yet, even in the C++ API.
Perhaps someone of the Bentley team has an idea ...
Actually I'm coding my project in native MDL and added a C# .NET Form (DLL) to the solution. The form is started by the MDL and the image is presented to the user in this form. I marry these two different worlds (managed/unmanaged) through a intermediate C++/CLI DLL.
Regards from Germany
Unknown said: I'm missing a possibility to control Microstations cursor while placing the element to show creation dynamics
That's taken care of by MicroStation's input state machine. Both VBA and the C++ MicroStationAPI provide dynamics methods to show graphics while user moves the cursor. Which language to you plan to use?
the graphical input is completly different from a digitizing tablet: Input comes from measuring in a digital 3D image.
Element creation is working with the mdlInput_send...() functions, but I'm missing a possibility to control Microstations cursor while placing the element to show creation dynamics.
Regards, Tom
Unknown said:I want to control the cursor position in a scenario, where the graphical input is coming from a different source as a Microstation window (like a digitizing tablet)
Doesn't MicroStation already provide an interface for a digitizing tablet?