In Solid Edge ST6 now it`s possible to switch to sheet metal and back to part from any environment (part and sheet metal).
There is some way to do this switch by code? As i sew, some methods and properties are common to PartDocument ans SheetMetalDocument. Like FlatPatterns (in PartDocument class).
But if i want to SetGlobalParameter(seSheetMetalNeutralFactorFromEx
How can i set this parameter to PartDocument contains sheet metal model?
The second thing, is how to use the ConvertToSMs.AddEx(object RefFace,,..)?
When i pass face object to this method, i get error.
There is no additional information in the Help documentation.
I sew one or two questions about it in this forum, but no answers.
There is a way to convert to sheet metal by code?
Solved! Go to Solution.
1) Switching from the part to the sheet metal environment can be done as shown in following VB.NET code snippet:
Dim seActiveEnvironment As String = seApp.ActiveEnvironment 'Switch environment from part to sheet metal seApp.StartCommand(CType(SolidEdgeConstants.PartCo
mmandConstants.PartSwitchEnvironmentsSwitchtofromP art, SolidEdgeFramework.SolidEdgeCommandConstants)) 'Wait until switch occurred While seActiveEnvironment = seApp.ActiveEnvironment System.Threading.Thread.Sleep(500) seApp.DoIdle() End While
With seApp being a reference to the Solid Edge Application object.
2) Calling ConvertToSMs.AddEx(...) requires the array parameter to be initialized and given even if declared as optional. See my C# code snippet below:
faces = model.Body.Faces[SolidEdgeGeometry.FeatureTopology
QueryTypeConstants.igQueryAll]; face = GetLargestFace(faces); // Important to initialize array argument(s) despite they are optional! object vtEdgeNum = 0; object EdgesArray = new object; object vtBRType = null; object vtBRWidth = null; object vtBRLength = null; model.ConvToSMs.AddEx(face, vtEdgeNum, EdgesArray, vtBRType, vtBRWidth, vtBRLength);
Wolfgang did an excellent job answering the question as usual but I wanted to add that you can monitor Solid Edge events using Spy for Solid Edge. In your particular case, you could have executed the the action(s) in Solid Edge and discovered which StartCommand() was being used using the EventMonitor tab. The EventMonitor tab records all Solid Edge application events and reports as much information about the event as possible.