NX Programming and Customization Fact Sheetmedia.plm.automation.siemens.com/nx/CAD_design... ·...

4
NX programming and customization Extending and tailoring NX digital product development solutions www.siemens.com/nx NX Benefits Preserves critical knowledge and design intent from the design process all the way through to the manufacturing process Enables companies to capture, re-use and consistently apply best practices across the spectrum of their product lines, thus enabling lean design initiatives Quickly automates repetitive tasks and allows users to capture and share workflow processes in scripted files from journaling sessions Supports rapid application development through the industry’s first Common API design Facilitates language freedom – you can choose your preferred automation language Facilitates deep integration with language-specific IDEs (integrated development environments) Provides complete access to NX core application functionality from any supported language Summary NX™ programming and customization software tools help companies extend and tailor NX solution capabilities to their specific needs. Supporting the knowledge-driven automation capabilities of NX, these tools can be employed by product development personnel and application developers. The NX Common Application Programming Interface (API) NX software provides an automation architecture that serves as the foundation for all NX APIs as well as for a new journaling utility. Called the Common API, it combines the power of journaling and automation with the freedom of a language-neutral platform. Integrated within the core NX architecture, the Common API is the foundation for all NX solutions and is fully compatible with the existing Open C API. Knowledge-based application development Knowledge Fusion Knowledge Fusion is a fully integrated knowledge-based engineering (KBE) tool that permits knowledge-based extension of NX by the end user. Compared to traditional KBE technologies, the tight integration of Knowledge Fusion into the NX digital product development system provides a significant advantage in the industry. Knowledge Fusion permits the creation of powerful applications that take advantage of engineering knowledge. It supports the capture and re-use of design intent and user intelligence to increase design speed and productivity while intelligently controlling change propagation. NX is built on an automation architecture that provides a common foundation for automation and programming.

Transcript of NX Programming and Customization Fact Sheetmedia.plm.automation.siemens.com/nx/CAD_design... ·...

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