NX Journal データム平面を選択するダイアログ
2020/01/14 categories:NX Journal| tags:NX Journal|Python|
NX JournalでSelectTaggedObjectsを使ってデータム平面を選択するダイアログを作成しました。
NXOpen.UI.GetUI().SelectionManager.SelectTaggedObjectsを使ってダイアログを表示しています。その表示の時に、タイプをUF_datum_plane_type、サブタイプをUF_datum_object_subtypeとして指定することで、データム平面のみを選択できるようにしています。
実行の結果はデータム名面の原点のX, Y, Z座標をListingWindowに表示するという処理にしています。
Pythonコード
import NXOpen
import NXOpen.UF
def main():
theSession = NXOpen.Session.GetSession()
workPart = theSession.Parts.Work
# データム平面の選択
res = selectDatumplane()
response = res[0]
datumplanes = res[1]
lw = theSession.ListingWindow
lw.Open()
for datumplane in datumplanes:
c = datumplane.Origin
lw.WriteLine( str(c.X) + ", " + str(c.Y) + ", " + str(c.Z) )
def selectDatumplane():
mask = NXOpen.SelectionMaskTriple_Struct()
mask.Type = NXOpen.UF.UFConstants.UF_datum_plane_type
mask.Subtype = NXOpen.UF.UFConstants.UF_datum_object_subtype
scope = NXOpen.Selection.SelectionScope.AnyInAssembly
action = NXOpen.Selection.SelectionAction.ClearAndEnableSpecific
res = NXOpen.UI.GetUI().SelectionManager.SelectTaggedObjects(
"データム平面を選んでください", "データム平面の選択", scope, action, False, False, [mask])
return res
if __name__ == '__main__':
main()