NX Journal エッジを選択するダイアログ
2020/01/13 categories:NX Journal| tags:NX Journal|Python|
NX Journalでソリッドボディのエッジを選択するダイアログのプログラムを作成しました。このプログラムではSelectTaggedObjectで選択な能なオブジェクトのTypeをUF_solid_typeに絞り、SubtypeをUF_solid_edge_subtype、SolidBodySubtypeをUF_UI_SEL_FEATURE_ANY_EDGEにすることでソリッドボディのエッジのみを選択できるようにしています。
Pythonコード
import NXOpen
import NXOpen.UF
def main():
theSession = NXOpen.Session.GetSession()
workPart = theSession.Parts.Work
# エッジの選択
res = selectEdge()
response = res[0]
edge = res[1]
lw = theSession.ListingWindow
lw.Open()
lw.WriteLine(str(edge))
def selectEdge():
mask = NXOpen.SelectionMaskTriple_Struct()
mask.Type = NXOpen.UF.UFConstants.UF_solid_type
mask.Subtype = NXOpen.UF.UFConstants.UF_solid_edge_subtype
mask.SolidBodySubtype = NXOpen.UF.UFConstants.UF_UI_SEL_FEATURE_ANY_EDGE
scope = NXOpen.Selection.SelectionScope.AnyInAssembly
action = NXOpen.Selection.SelectionAction.ClearAndEnableSpecific
res = NXOpen.UI.GetUI().SelectionManager.SelectTaggedObject(
"エッジを選んでください", "エッジの選択", scope, action, False, False, [mask])
return res
if __name__ == '__main__':
main()