I wonder whether Solid Edge provides any tools for developing dialog boxes. In particular, is there anything for presenting geometry in a window of my own creation?
They do have ActiveX controls that get installed with Solid Edge. If you do a nested search in the program folder, you'll find SEDraftX.ocx, SEpartX.ocx and SEPreview.ocx. The last attempt I made to use these controls in .NET failed miserably and I haven't tried it since. These controls would require that a file be saved to disk prior to loading into the control. Other than that, I'm not sure what else would be available.
Thanks Jason in understanding the question.
I too haven't used these controls since V14/16 and never in .Net - it was just plain old VB 6.0 that I knew then.
So out of curiosity tried to place them using VS 2010 .Net V 4.0
I have made a little video of this, also to test if SE can record non-SE screens and it worked beautifully after simply minimizing SE.
I too ran into errors when placing the control on the Form but after tweaking the compile option from "Net 4 Client Profle" to ".Net Framework 4", VS become stable.
If you want to know how to get the SE control in the Toolbox, right-click on the Toolbox and select Add Tab. Then right-click on the newly created tab and select 'Choose Items' and take the 'COM Components' tab in the dialog that appears.
Scroll down to the two SE controls as shown below and check them ON:
Though I was not able to place a SEPreview control successfully, I remember it is a versatile control and can preview both Part and Draft documents, apart from assemly and sheetmetal i.e. all SE files.
Hope that was useful,
Thank you. This looks like something I can use. It appears to display things independent of a running solidedge application, which I wasn't expecting, but I can probably use this anyhow.
Alternatively you can save out a Jpeg of the active Solid Edge screen sans the ribbon or the Edge bar and display it in a picture box on the Form. This does not require the file to be saved to disk:
Dim oApp As SolidEdgeFramework.Application = Marshal.GetActiveObject("SolidEdge.Application")
Dim sJpgFile As String = "D:\\Temp\\SolidImage.JPG"
Dim oView As SolidEdgeFramework.View = oApp.ActiveWindow.View
oView.SaveAsImage(sJpgFile, 400, 300, , , , SolidEdgeFramework.SeImageQualityType.seImageQualityHigh, False)