NX Journal モデルを新規作成

2019/12/10 categories:NX Journal| tags:NX Journal|Python|

モデルを新規作成するプログラムを作成しました。

theSessionからFileNew()でFileNewオブジェクトを作成します。そして取得したオブジェクトに必要な値を設定していきます。

theSession.Parts.FileNew()

Teamcenter上にモデルを作成する場合はtheSession.PdmSession.CreateCreateOperationBuilder()を使用する必要があるみたいです。

_TemplatePresentationName_にテンプレート用のファイルパスを入力することで、テンプレートとして使用するファイルを指定できます。

Pythonコード

import NXOpen
import NXOpen.PDM
 
def main():
 
    theSession  = NXOpen.Session.GetSession()
 
    fileNew1 = theSession.Parts.FileNew()
    fileNew1.TemplateFileName = "_TemplateFileName_"
    fileNew1.UseBlankTemplate = False
    fileNew1.ApplicationName = "ModelTemplate"
    fileNew1.Units = NXOpen.Part.Units.Millimeters
    fileNew1.RelationType = "master"
    fileNew1.UsesMasterModel = "No"
    fileNew1.TemplateType = NXOpen.FileNewTemplateType.Item
    fileNew1.TemplatePresentationName = "_TemplatePresentationName_"
    fileNew1.ItemType = "Item"
    fileNew1.Specialization = ""
    fileNew1.SetCanCreateAltrep(False)
    fileNew1.MasterFileName = ""
    fileNew1.MakeDisplayedPart = True
    fileNew1.DisplayPartOption = NXOpen.DisplayPartOption.AllowAdditional
 
    partOperationCreateBuilder1 = theSession.PdmSession.CreateCreateOperationBuilder(NXOpen.PDM.PartOperationBuilder.OperationType.Create)
    partOperationCreateBuilder1.SetOperationSubType(NXOpen.PDM.PartOperationCreateBuilder.OperationSubType.FromTemplate)
    partOperationCreateBuilder1.SetModelType("master")
    partOperationCreateBuilder1.SetItemType("Item")
    partOperationCreateBuilder1.DefaultDestinationFolder = ":Newstuff"
    partOperationCreateBuilder1.SetOperationSubType(NXOpen.PDM.PartOperationCreateBuilder.OperationSubType.FromTemplate)
    partOperationCreateBuilder1.ValidateLogicalObjectsToCommit()
    partOperationCreateBuilder1.CreateSpecificationsForLogicalObjects( [partOperationCreateBuilder1.CreateLogicalObjects()] )
 
    fileNew1.SetPartOperationCreateBuilder(partOperationCreateBuilder1)
 
    fileNew1.Destroy()
    theSession.ApplicationSwitchImmediate("UG_APP_MODELING")
 
if __name__ == '__main__':
    main()

Share post

Related Posts

コメント