This is followed by checking if a document is open:
oDoc = oApp.ActiveDocument
If oDoc Is Nothing Then
MessageBox.Show("A document should be open.", sTitle, MessageBoxButtons.OK, MessageBoxIcon.Error)
End
End If
If (oDoc.Type <> SolidEdgeFramework.DocumentTypeConstants.igPartDocument) Then
If (oDoc.Type <> SolidEdgeFramework.DocumentTypeConstants.igDraftDocument) Then
MessageBox.Show("This program works in a Part or Draft document only.", sTitle, MessageBoxButtons.OK, MessageBoxIcon.Error)
End
End If
End If
If there indeed is a document open, check if it is a Part or Draft type and accordingly, set the Units of Measure variables and additionally in case of Draft document, the layers list box is flooded.
If it is a Part document, then also check if the Sketcher mode is active using the ActiveEnvironment property:
If oDoc.Type = SolidEdgeFramework.DocumentTypeConstants.igPartDocument Then
oDocP = oApp.ActiveDocument
If oApp.ActiveEnvironment <> "LayoutInPart" Then
MessageBox.Show("Enter sketch mode in the Part document.", sTitle, MessageBoxButtons.OK, MessageBoxIcon.Error)
End
Else
oUoM = oDocP.UnitsOfMeasure
End If
ElseIf oDoc.Type = SolidEdgeFramework.DocumentTypeConstants.igDraftDocument Then
oDocD = oApp.ActiveDocument
oUoM = oDocD.UnitsOfMeasure
oSheet = oDocD.ActiveSheet
Dim oLayers As Layers = oSheet.Layers
For Each oLayer As Layer In oLayers
lstLayers.Items.Add(oLayer.Name)
Next
lstLayers.SelectedIndex = 0
End If
For adding all existing layer names to the Layers listbox, a For Each loop is used which iterates through each layer of the current sheet's Layers collection and adds the name of each layer to the listbox. It also selects the first i.e. 0 th item in the list.
Finally in the Form's Load event, a Select Case statement is used to check an error code returned by the ValidateRectangle function.
The ValidateRectangle function returns an integer which is an error code with values like 1002,1002, 1003, 1004 and so on.. each of which indicates an error condition regarding the selection set passed to it.
The selection set consists of the objects picked by the user which are assumed to be the lines that form the rectangle.
The program must thoroughly check the objects picked for validity before actually drawing the centerlines.
oSelectSet = oDoc.SelectSet
Dim iErrorCode As Integer = ValidateRectangle(oSelectSet)
Select Case iErrorCode
Case 1001
MessageBox.Show("Select 4 lines that form a rectangle.", sTitle, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End
Case 1002
MessageBox.Show("Not all selected objects are lines.", sTitle, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End
Case 1003
MessageBox.Show("Selected lines are disconnected.", sTitle, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End
Case 1004
MessageBox.Show("Selected lines are not continuous i.e. no drawn End-To-End.", sTitle, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End
End Select
lets look each of the geometry intensive validations in the next few parts.
Index of all Solid Edge Tutorials, Tips, Videos...
No comments:
Post a Comment