At the moment I’m working on a project in Solid Edge to create an AddIn that enables the user to walk through the 3D model by using the keyboard and the Xbox controller.
This works well with small assemblies. The reason for this is that I use and timer that refreshes every 60 millisecond. In this timer tick I send a new location for the Solid Edge camera to Solid Edge that’s based on the input of the key states. My problem starts when I load large assemblies. Then Solid Edge needs more time to calculate the new frames. I can solve this by increasing the duration between the timer ticks to, for example, 150 milliseconds. What I would like to be doing is using the (for example) the PreRender event of Solid Edge for this. I have been trying to get this working but failed to do so. What I would really like to do is using the time between the frames to calculate a consistent movement speed. I also want to use the render events to send my new location information. At the moment I use the “SetCamera” for this every timer tick. I have tried to implement and Handlers for the PreRender, PostRender and Render events. But I had no succes. I’m programming in vb.net.
Do you guys have any experience with this?
I really hope that you can help me in the right direction. Thanks in Advance!
I co-developed the Astroid addin for Solid Edge many years ago. I can't take any credit for the code that you're specifically asking about but I did email the other developer to see if he'd be interested in answering your questions. I can tell you with his code, we had SE performing fantastic while being driven by his motion controller. So I know the API is capable if you know what you're doing. Unfortunately, I don't :-(