Download - NX Programming and Customization Fact Sheetmedia.plm.automation.siemens.com/nx/CAD_design... · User interface customization tools NX menu customization MenuScript is a tool that

Transcript
Page 1: NX Programming and Customization Fact Sheetmedia.plm.automation.siemens.com/nx/CAD_design... · User interface customization tools NX menu customization MenuScript is a tool that

NX programming and customizationExtending and tailoring NX digital product development solutions

www.siemens.com/nx

NX

Benefits• Preservescriticalknowledge

anddesignintentfromthedesignprocessallthewaythroughtothemanufacturingprocess

• Enablescompaniestocapture,re-useandconsistentlyapplybestpracticesacrossthespectrumoftheirproductlines,thusenablingleandesigninitiatives

• Quicklyautomatesrepetitivetasksandallowsuserstocaptureandshareworkflowprocessesinscriptedfilesfromjournalingsessions

• Supportsrapidapplicationdevelopmentthroughtheindustry’sfirstCommonAPIdesign

• Facilitateslanguagefreedom–youcanchooseyourpreferredautomationlanguage

• Facilitatesdeepintegrationwithlanguage-specificIDEs(integrateddevelopmentenvironments)

• ProvidescompleteaccesstoNXcoreapplicationfunctionalityfromanysupportedlanguage

SummaryNX™programmingandcustomizationsoftwaretoolshelpcompaniesextendandtailorNXsolutioncapabilitiestotheirspecificneeds.Supportingtheknowledge-drivenautomationcapabilitiesofNX,thesetoolscanbeemployedbyproductdevelopmentpersonnelandapplicationdevelopers.

The NX Common Application Programming Interface (API)NXsoftwareprovidesanautomationarchitecturethatservesasthefoundationforallNXAPIsaswellasforanewjournalingutility.CalledtheCommonAPI,itcombinesthepowerofjournalingandautomationwiththefreedomofalanguage-neutralplatform.IntegratedwithinthecoreNXarchitecture,theCommonAPIisthefoundationforallNXsolutionsandisfullycompatiblewiththeexistingOpenCAPI.

Knowledge-based application development

Knowledge FusionKnowledgeFusionisafullyintegratedknowledge-basedengineering(KBE)toolthatpermitsknowledge-basedextensionofNXbytheenduser.ComparedtotraditionalKBEtechnologies,thetightintegrationofKnowledgeFusionintotheNXdigitalproductdevelopmentsystemprovidesasignificantadvantageintheindustry.KnowledgeFusionpermitsthecreationofpowerfulapplicationsthattakeadvantageofengineeringknowledge.Itsupportsthecaptureandre-useofdesignintentanduserintelligencetoincreasedesignspeedandproductivitywhileintelligentlycontrollingchangepropagation.

NX is built on an automation architecture that provides a common foundation for automation and programming.

Page 2: NX Programming and Customization Fact Sheetmedia.plm.automation.siemens.com/nx/CAD_design... · User interface customization tools NX menu customization MenuScript is a tool that

session.Thesesessionscanbeeditedandenhancedwithsimpleprogrammingconstructsanduserinterfacecomponentstoproducearapidlygeneratedcustomizedprogram.

Journalfilescanbeusedasabasictechniqueforautomatingrepetitiveworkflow.BecausejournalsarebasedontheCommonAPI,theycanbeusedasatemplateforworkingautomationcodeinanyofthesupportedautomationlanguages.

Availability and packagingThejournalingcapabilityisincludedwithallNXMachSeriessolutionsasanintegralfeature.

NX Open Common Application Programming Interface (API)ThenewCommonAPIoffersthefollowingfeatures:• Languagesupport–Providesanative

.NETAPIthatsupportsall.NETlanguagesincludingVisualBasic.NETandC#.TheJavaandOpenC++APIssupportthefullrangeofCommonAPIcapabilities.

• Supportforstandardintegrateddevelopmentenvironments(IDEs)–VisualStudio.NETdevelopmentenvironmentistheindustrystandardIDEfordeveloping.NETprograms.Itprovidesstate-of-the-artbrowsing,editing,debugging,graphicallayoutofdialogs(WinFormsandWebForms)andaunifiedIDEforweb,desktopandmobiledevelopmentneeds.VisualStudio.NETistherecommendedIDEfordevelopingNXOpen.NETprograms.Similarly,Javaintegrateddevelopmentenvironments–Eclipse,Netbeans,etc.offerdevelop-mentofplatform-independentJavaautomationprogramswhichmayusetheJFC/SwingAPIforinteractiveuserinterface.CustomprogramsusingNXOpenforJavaAPIcanutilizeanyoftheindustrystandardJavaIDEsforapplicationdevelopment.

DesignersandapplicationdeveloperscanworkwithKnowledgeFusiondirectlywithintheNXuserenvironmenttocreaterulesthatcapturedesignintent.Theserulescanbeusedtodriveproductdesign,ensuringthatengineeringanddesignrequirementsarefullyunderstoodandfullymet.KnowledgeFusiondeliversnewcostandtimesavingsandraisesqualitybystandardizingdesignprocesses,enforcingsourcingpracticesandincorporatingupfrontthemanufacturingandperformanceconstraintsintothedesignenvironment.

Availability and packagingTheabilitytoexecuteapplicationsdevelopedwithKnowledgeFusionisincludedwithallNXMachSeriessolutionsasaruntimelicense.KnowledgeFusionAuthorprogrammingisavailableasanadd-onsoftwarepackageforallNXMachSeriessolutions.

Easily record and replay interactive sessions

JournalingTheJournalcapabilityisarapidautomationtoolthatrecords,editsandreplaysinteractiveNXsessions.BasedontheprogramminglanguageVisualBasic.NETandC#,itproducesascriptedfilefromaninteractivesessionofNXwhichcanberunatalatertimetoreplaythe

Benefits continued• Supportsidentical

automationcapabilitiesforallprogramminglanguages

• ProvidesdirectautomationaccesstoMicrosoft’sextensive.NETlibraryandJavapackagesofre-usablesoftware

• PreservesautomationinvestmentsthroughcompatibilitywithlegacyOpenAPIwithcustomizedinteractionenvironments

• Allowsaccesstocross-platformmodeldataindiversenetworkedenvironments

Features• Flexiblesolutionsfor

automationandcustomization–forproductdevelopmentpersonnelaswellasprogrammers

• Softwaretechnologiestoenableuserstoeasilyembeddesignknowledgeandengineeringrulesinprograms

• CommonAPI–asinglefoundationforautomationinavarietyoflanguages

• Language-neutralprogrammingplatform

• PowerfuljournalingutilityforlightweightautomationofNXsessions

• CapabilityforrecordingNXinteractiveoperationsinanysupportedlanguage

• Menuanddialogcustomization

• Datamodelcustomization

NX programming and customization

NX

A journaling tool in NX records interactive sessions and allows editing and replay. This capability can be used to quickly automate repetitive tasks.

Page 3: NX Programming and Customization Fact Sheetmedia.plm.automation.siemens.com/nx/CAD_design... · User interface customization tools NX menu customization MenuScript is a tool that

NX Open for C++ APIOpenC++isanativeC++versionoftheCommonAPI,anobject-orientedinterfacetoNX.WritteninC++,thisAPItakesfulladvantageofobject-orientedfeaturesincludinginheritance,encapsulationandpolymorphism.OpenC++providescompleteaccesstoitsclasshierarchy,allowingcustomerstooverridemethods,derivetheirownclassesandcreateentirelynew,persistentobjectsinNX.NXOpenC++isfullycompatiblewiththeexistingOpenCAPI.NXOpenC++alsoprovidesafullyextensibledatamodel,allowingcustomerstodefinenewtypesofobjectsthatcanbetreatedjustlikestandardNXobjectsandstoredpersistentlyinNXpartfiles.JournalscanberecordedinC++,whichcanthenbeeditedandcompiledoutsideofNX.

Open C APITheOpenCAPIisadirectprogramminginterfacetoNXthatallowsuserstocreatecustomapplicationsusingthepopularprogramminglanguagesCandC++.ItisusedbyNXdevelopers,customersandalliancepartnerstoproduceuniqueapplicationstoaugmentNXortoactascompletelyseparateutilities.OpenCalsoprovidesafullyextensibledatamodel,allowingcustomerstodefinenewtypesofobjectsthatcanbetreatedjustlikestandardNXobjectsandstoredpersistentlyinNXpartfiles.

TheOpenCAPIhasconsistentlybeenratedhigherthanthoseofcompetitorsintermsofcompletenessandusability,andhasbeenrecognizedasoneofthemoststableandreliableAPIsfromreleasetorelease(basedonthenumberofdeletedandchangedfunctionsrelativetototalnumberoffunctions).

API availability and packagingAlloftheNXlanguageAPIsareincludedintheNXOpenToolkitsAuthorsoftwarepackage,availableasanadd-onforallNXMachSeriessolutions.ApplicationsdevelopedandexecutedusinganyoftheAPIsrequireindividualNXfeaturelicensesatruntimeforthecapabilitiesusedintheprogram.

User interface customization tools

NX menu customizationMenuScriptisatoolthatallowsendusersandthird-partydeveloperstouseASCIIfilestoeditNXmenusandcreatecustommenusfortheirownapplicationsinanintegrated,seamlessmanner.Menufilessupportcustomtailoringofthemainmenubarandthequickviewpopupmenu.Manufacturerscancreatespecializedmenusanduserinterfacedialogs,exposingandaugmentingonlytheNXfunctionsrequiredinthecustomworkflowprocess.

MenuScriptsupportspre-andpost-actionsformenuitemsforbothstandardNXmenuitemsandthoseprovidedbythird-partyapplicationsdevelopedwithOpenCandC++.MenuScriptalsoprovidesaMenubarReporttooltohelpreviewmenucustomization,diagnoseproblemsandassistinupgradingtofutureNXreleases.Adrag-and-dropmenucustomizationinteractionisalsoavailable.

AvailabilityMenuScriptmenucustomizationisincludedinallNXMachSeriessolutions.

• Applicationdevelopment–Supportsrapidapplicationdevelopmentbyofferingstreamlined,object-orientedclasshierarchies.TheCommonAPIisexposedthroughtheobjectbrowsersofferedbyVisualStudioandJavaIDEs.

• Coverage–ProvidesthesameautomationcoverageasavailablefromtheOpenCAPI.

• Remoting–Offersfullremoteexecutionsupportbasedon.NETremotingwhichiscompatiblewithCOM-basedsolutions,oronJavaRMI(remotemethodinvocation).JavaRMIisplatform-independent.

• Help–SupportsCommonAPIdocumen-tation,whichisfullyintegratedintotheVisualStudiointegrateddevelopmentenvironmentandiseasilydisplayedintheVisualStudioHelpformat.FullJavaCommonAPIdocumentationispresentedinthestandardJavaDocstyle.

NX Open for .NET APINXoffersanAPIforusewithMicrosoft’s.NETframework.BuiltontheCommonAPI,thisinterfaceprovidesprogrammaticaccesstoNXcoreapplicationfunctionality,makingitpossibletocreateadvancedautomationprogramsusinganyofthe.NET-compliantlanguages,includingVisualBasic.NETandC#.BecausetheAPIisbuiltonthe.NETframework,userscantakefulladvantageofallthebenefitsprovidedbythatframework.

NX Open for Java APITheJavaAPIsupportsplatform-independentprogrammingaccesstoNXthroughtheCommonAPIusingtheindustrystandardJavalanguage.UseofJavaJFC/Swingmethodsprovidesinteractiveinterfacesinapplications.JournalscanberecordedinJava,whichcanthenbeeditedandcompiledoutsideofNX.TheJavaAPIsupportsinteractive,batchandremoteexecution.

NX Open for .NET takes advantage of the Microsoft integrated development environment by providing access to object documentation directly from the Visual Studio object browser.

NX

Page 4: NX Programming and Customization Fact Sheetmedia.plm.automation.siemens.com/nx/CAD_design... · User interface customization tools NX menu customization MenuScript is a tool that

Tools for customizing the data model

User-defined objectsUser-definedobjects(UDOs)areobjectsthatcontaincustomer-specifieddataandcustomer-suppliedassociations.UDOscanbelinkedorassociatedwithotherNXobjectsincludingotherUDOs,andarekeptup-to-dateastheassociatedNXobjectchanges.UDOsenablethird-partyvendorsanduserstoaugmenttheirpartfileswithcustomer-specificapplicationdata.

Availability and packagingCustomizationofdataandassociationsinuser-definedobjectsisincludedintheNXOpenToolkitsAuthorsoftwarepackage.

©2011SiemensProductLifecycleManagementSoftwareInc.Allrightsreserved.SiemensandtheSiemenslogoareregisteredtrademarksofSiemensAG.D-Cubed,Femap,Geolus,GOPLM,I-deas,Insight,JT,NX,Parasolid,SolidEdge,Teamcenter,TecnomatixandVelocitySeriesaretrademarksorregisteredtrademarksofSiemensProductLifecycleManagementSoftwareInc.oritssubsidiariesintheUnitedStatesandinothercountries.Allotherlogos,trademarks,registeredtrademarksorservicemarksusedhereinarethepropertyoftheirrespectiveholders.X349883/11C

www.siemens.com/nx

ContactSiemensPLMSoftwareAmericas 8004985351Europe 44(0)1276702000Asia-Pacific 85222303333

builder,objects,librariesanddocumen-tation.Andthistoolisnecessarytointeractivelycreateproduction-readydialogsandeasilyintegratethemintocustomapplicationsusingthetemplatecodegeneratorincludedwithUserInterfacestyler.

Availability and packagingNXDialogDesignersisavailableasanadd-onapplicationforallNXMachSeriessolutions.ApplicationsthatincludedialogsdesignedwithNXDialogDesignerscanberunbyanyNXMachSeriessolution.

NX

The User Interface Styler streamlines creation of interactive dialogs.

NX Dialog DesignersNXDialogDesignersprovidestwovisualdialogboxbuilderstocreateNXstyledialogsforuseincustomprograms:BlockStylerandUserInterfaceStyler.

Usingapoint-and-clickinterface,userscandevelopdialogsforOpenapplicationswithaminimumamountoftimeandeffort.NopreviousexperiencewithWindowsSDKorX/Motifisrequired.NXDialogDesignermanagesthesecomplexitiestocreateplatform-independentdialogs,withinteractiveobjectselection,designlogic,selectionfilter,selectionscope,inputvalidationandmacrosupportbuiltin.NXDialogDesignersincludeatemplatecodegeneratorforeasyintegrationwithcustomapplication.CodegeneratorsupportsC++,VB.NET,C#,JavaandKF.

Block StylerBlockStylerisavisualuserinterfacebuilderthatmakesitpossibletointeractivelydesignportableNX-styleblock-baseddialogs.Block-baseddialogsareNXstandardforallnewdialogs.UsedinternallybySiemensdevelopers,BlockStylerprovidestheapplicationmodule,dialogbuilder,objects,librariesanddocumentationnecessarytointeractivelycreateproduction-readydialogs.BlockStyleristherecommendeddialogdesignerforallnewthird-partydialogs.

User Interface StylerUserInterfaceStylerisavisualdialogbuilderandisrecommendedformaintain-ingexistingcustomdialogs.UserInterfaceStylerprovidesapplicationmodule,dialog