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

Preview:

Citation preview

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.

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.

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

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

Recommended