Finding Underconstrained Int. Sketches Identified Using Checkmate (NX6
Finding Underconstrained Int. Sketches Identified Using Checkmate (NX6
(OP)
Hi,
Longtime lurker, first time poster here with a NX question.
We are currently are trying to get a part to pass checkmate. Checkmate has identified a few sketches that are not fully constrained. I was able to locate all but 2 using information> expression> list by sketch.
Is there an easy way to search for which internal sketch is associated with which feature?
Thanks!
Longtime lurker, first time poster here with a NX question.
We are currently are trying to get a part to pass checkmate. Checkmate has identified a few sketches that are not fully constrained. I was able to locate all but 2 using information> expression> list by sketch.
Is there an easy way to search for which internal sketch is associated with which feature?
Thanks!





RE: Finding Underconstrained Int. Sketches Identified Using Checkmate (NX6
John R. Baker, P.E.
Product 'Evangelist'
Product Design Solutions
Siemens PLM Software Inc.
Industry Sector
Cypress, CA
http://www.siemens.com/plm
http://www.plmworld.org/museum/
To an Engineer, the glass is twice as big as it needs to be.
RE: Finding Underconstrained Int. Sketches Identified Using Checkmate (NX6
RE: Finding Underconstrained Int. Sketches Identified Using Checkmate (NX6
John R. Baker, P.E.
Product 'Evangelist'
Product Design Solutions
Siemens PLM Software Inc.
Industry Sector
Cypress, CA
http://www.siemens.com/plm
http://www.plmworld.org/museum/
To an Engineer, the glass is twice as big as it needs to be.
RE: Finding Underconstrained Int. Sketches Identified Using Checkmate (NX6
Option Strict Off
Imports System
Imports NXOpen
Imports NXOpen.Features
Module NXJournal
Sub Main()
Dim s As Session = Session.GetSession()
Dim ui As UI = ui.GetUI()
Dim lw As ListingWindow = s.ListingWindow
lw.Open()
For Each sk As Sketch In s.Parts.Work.Sketches
sk.Highlight()
lw.WriteLine(sk.Name & " (" & sk.ToString() & ")")
lw.WriteLine(" IsInternal: " & sk.IsInternal)
If sk.IsInternal = True Then
lw.WriteLine(" Parent(s)")
For Each feat As Feature In sk.Feature.GetParents
lw.WriteLine(" " & feat.GetFeatureName.ToString)
Next
End If
lw.WriteLine(" IsActive?: " & sk.IsActive)
lw.WriteLine(" IsBlanked?: " & sk.IsBlanked)
lw.WriteLine(" Color: " & sk.Color)
lw.WriteLine(" Layer: " & sk.Layer)
lw.WriteLine(" Font: " & sk.LineFont)
lw.WriteLine(" Width: " & sk.LineWidth)
lw.WriteLine(" Objects:")
Dim objects() As NXObject = sk.GetAllGeometry()
For Each obj As NXObject In objects
lw.WriteLine(" " & obj.Name)
Next
If sk.IsInternal = False And sk.IsBlanked = False Then
ui.NXMessageBox.Show("Information", _
NXMessageBox.DialogType.Information, _
"Sketch " & sk.Name & " is highlighted")
sk.Unhighlight()
ElseIf sk.IsBlanked = True Then
ui.NXMessageBox.Show("Information", _
NXMessageBox.DialogType.Information, _
"Sketch " & sk.Name & " is blanked")
ElseIf sk.IsInternal = True Then
ui.NXMessageBox.Show("Information", _
NXMessageBox.DialogType.Information, _
"Sketch " & sk.Name & " is internal")
End If
Next
End Sub
End Module
Hope this is of some help.
Frank Swinkels
RE: Finding Underconstrained Int. Sketches Identified Using Checkmate (NX6
Dim dofs As Integer
Dim status1 As Sketch.Status
...
...
sk.Activate(Nothing)
status1 = sk.GetStatus(dofs)
If dofs > 0 Then
lw.WriteLine(sk.Name & " has " & dofs.ToString & _
" degrees of freedom")
End If
sk.Deactivate(Nothing, Nothing)
Hope this helps
Frank Swinkels