Scripting Hfss16 1
Scripting Hfss16 1
Scripting Guide
ANSYS, HFSS, HFSS-IE, and Optimetrics and any and all ANSYS, Inc. brand, product, service and
feature names, logos and slogans are registered trademarks or trademarks of ANSYS, Inc. or its
subsidiaries in the United States or other countries. All other brand, product, service and feature
names or trademarks are the property of their respective owners.
Disclaimer Notice
THIS ANSYS SOFTWARE PRODUCT AND PROGRAM DOCUMENTATION INCLUDE TRADE SECRETS
AND ARE CONFIDENTIAL AND PROPRIETARY PRODUCTS OF ANSYS, INC., ITS SUBSIDIARIES, OR
LICENSORS. The software products and documentation are furnished by ANSYS, Inc., its
subsidiaries, or affiliates under a software license agreement that contains provisions concerning
non-disclosure, copying, length and nature of use, compliance with exporting laws, warranties,
disclaimers, limitations of liability, and remedies, and other provisions. The software products and
documentation may be used, disclosed, transferred, or copied only in accordance with the terms
and conditions of that software license agreement.
For U.S. Government users, except as specifically granted by the ANSYS, Inc. software license
agreement, the use, duplication, or disclosure by the United States Government is subject to
restrictions stated in the ANSYS, Inc. software license agreement and FAR 12.212 (for non-DOD
licenses).
Third-Party Software
See the legal information in the product help files for the complete Legal Notice for ANSYS
proprietary software and third-party software. If you are unable to access the Legal Notice,
please contact ANSYS, Inc.
Contents-1
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
Contents-2
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
Contents-3
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                                       GetProjectDirectory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-17
                                                       GetProjectList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-17
                                                       GetSysLibDirectory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18
                                                       GetTempDirectory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-19
                                                       GetUserLibDirectory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-20
                                                       GetVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-21
                                                       ImportANF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-21
                                                       ImportAutoCAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-22
                                                       ImportGDSII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-23
                                                       ImportODB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-24
                                                       NewProject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-24
                                                       OpenAndConvertProject . . . . . . . . . . . . . . . . . . . . . . . . . 4-25
                                                       OpenMultipleProjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-25
                                                       OpenProject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-26
                                                       PauseScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-27
                                                       Print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-28
                                                       QuitApplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-28
                                                       RestoreWindow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-29
                                                       RunProgram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-30
                                                       RunScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-30
                                                       SetActiveProject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-31
                                                       SetActiveProjectByPath . . . . . . . . . . . . . . . . . . . . . . . . . . 4-32
                                                       SetLibraryDirectory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-33
                                                       SetProjectDirectory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-33
                                                       SetTempDirectory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-33
                                                       Sleep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-34
                                             Desktop Commands For Registry Values . . . . . . . . . . . . . 4-35
                                                       DoesRegistryValueExist . . . . . . . . . . . . . . . . . . . . . . . . . . 4-35
                                                       GetRegistryInt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-35
                                                       GetRegistryString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-36
                                                       SetRegistryFromFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-36
                                                       SetRegistryInt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-36
                                                       SetRegistryString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-37
Contents-4
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
Contents-5
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                                       AddProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-23
                                                       AddProp2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-23
                                                       ExecuteScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-23
                                                       GetApplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-24
                                                       GetCallback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-24
                                                       GetChangedProperty . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-24
                                                       GetDescription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-24
                                                       GetDesign . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-25
                                                       GetEditor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-25
                                                       GetEvaluatedText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-25
                                                       GetFileName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-26
                                                       GetHidden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-26
                                                       GetProgress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-26
                                                       GetPropHost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-26
                                                       GetPropServers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-27
                                                       GetPropTabType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-27
                                                       GetReadOnly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-27
                                                       GetRunStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-28
                                                       GetProgress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-28
                                                       GetTabTypeName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-28
                                                       GetText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-28
                                                       GetValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-28
                                                       IsValueConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-29
                                                       PropertyExists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-29
                                                       RemoveProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-29
                                                       SetCallback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-30
                                                       SetDescription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-30
                                                       SetHidden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-30
                                                       SetReadOnly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-30
                                                       SetText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-31
                                                       SetValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-31
                                             Additional Property Scripting Commands . . . . . . . . . . . . . 7-31
                                                       GetProperties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-31
Contents-6
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                                          GetPropertyValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-32
                                          GetArrayVariables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-32
                                          GetVariables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-33
                                          GetVariableValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-33
                                          SetPropertyValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-33
                                          SetVariableValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-34
                                Additional Property Scripting Example . . . . . . . . . . . . . . . 7-35
                                Example Use of Record Script and Edit Properties . . . . . 7-37
Contents-7
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                                       GetModule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-23
                                                       GetName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-24
                                                       GetNominalVariation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-24
                                                       GetSelections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-24
                                                       GetSolutionType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-25
                                                       GetSolveInsideThreshold . . . . . . . . . . . . . . . . . . . . . . . . . 9-25
                                                       GetSourceContexts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-25
                                                       GetVariationVariableValue . . . . . . . . . . . . . . . . . . . . . . . . 9-26
                                                       Redo [Design] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-26
                                                       RenameDesignInstance . . . . . . . . . . . . . . . . . . . . . . . . . . 9-26
                                                       ResetToTimeZero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-27
                                                       SARSetup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-27
                                                       SetActiveEditor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-28
                                                       SetBackgroundMaterial . . . . . . . . . . . . . . . . . . . . . . . . . . 9-28
                                                       SetDesignSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-29
                                                       SetLengthSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-30
                                                       SetSolutionType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-31
                                                       SetSolveInsideThreshold . . . . . . . . . . . . . . . . . . . . . . . . . 9-32
                                                       SetSourceContexts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-32
                                                       Solve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-32
                                                       RunToolkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-33
                                                       Undo [Design] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-36
Contents-8
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                                          CreateCone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-7
                                          CreateCutplane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-7
                                          CreateCylinder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-8
                                          CreateEllipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-8
                                          CreateEquationCurve . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-9
                                          CreateEquationSurface . . . . . . . . . . . . . . . . . . . . . . . . . 11-9
                                          CreateHelix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-10
                                          CreatePoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-11
                                          CreateUserDefinedPart . . . . . . . . . . . . . . . . . . . . . . . . . 11-11
                                          CreatePolyline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-12
                                          CreateRectangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-15
                                          CreateRectangle (2D Extractor) . . . . . . . . . . . . . . . . . . . 11-15
                                          CreateRegion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-16
                                          CreateRegularPolyhedron . . . . . . . . . . . . . . . . . . . . . . . 11-18
                                          CreateRegularPolygon . . . . . . . . . . . . . . . . . . . . . . . . . . 11-19
                                          CreateRegularPolyhedron (2D Extractor) . . . . . . . . . . . 11-20
                                          CreateSphere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-20
                                          CreateSpiral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-21
                                          CreateTorus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-21
                                          CreateUserDefinedPart . . . . . . . . . . . . . . . . . . . . . . . . . 11-22
                                          Edit3DComponent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-23
                                          EditPolyline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-23
                                          Get3DComponentParameters . . . . . . . . . . . . . . . . . . . . 11-24
                                          Get3DComponentDefinitionNames . . . . . . . . . . . . . . . . 11-24
                                          Get3DComponentInstanceNames . . . . . . . . . . . . . . . . . 11-24
                                          Get3DComponentMaterialNames . . . . . . . . . . . . . . . . . 11-25
                                          Get3DComponentMaterialProperties . . . . . . . . . . . . . . . 11-25
                                          Insert3DComponent . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-25
                                          InsertPolylineSegment . . . . . . . . . . . . . . . . . . . . . . . . . . 11-26
                                          SweepAlongPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-27
                                          SweepAlongVector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-27
                                          SweepAroundAxis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-28
                                          SweepFacesAlongNormal . . . . . . . . . . . . . . . . . . . . . . . 11-28
Contents-9
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                                        SweepFacesAlongNormalWithAttributes . . . . . . . . . . . . 11-29
                                                        UpdateComponentDefinition . . . . . . . . . . . . . . . . . . . . . 11-30
                                              Edit Menu Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-30
                                                        Copy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-30
                                                        DeletePolylinePoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-31
                                                        DuplicateAlongLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-31
                                                        DuplicateAroundAxis . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-32
                                                        DuplicateAroundAxis (2D Extractor) . . . . . . . . . . . . . . . 11-33
                                                        DuplicateMirror . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-33
                                                        DuplicateMirror (2D Extractor) . . . . . . . . . . . . . . . . . . . . 11-34
                                                        Mirror . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-35
                                                        Mirror (2D Extractor) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-35
                                                        Move . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-36
                                                        OffsetFaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-36
                                                        Paste [Model Editor] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-36
                                                        Rotate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-37
                                                        Rotate (2D Extractor) . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-37
                                                        Scale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-37
                                                        Scale (2D Extractor) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-38
                                              Modeler Menu Commands . . . . . . . . . . . . . . . . . . . . . . . 11-38
                                                        AssignMaterial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-39
                                                        Chamfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-40
                                                        Connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-40
                                                        CoverLines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-40
                                                        CoverSurfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-41
                                                        CreateEntityList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-41
                                                        CreateFaceCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-41
                                                        CreateFaceCS (2D Extractor) . . . . . . . . . . . . . . . . . . . . 11-43
                                                        CreateObjectCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-44
                                                        CreateObjectFromEdges . . . . . . . . . . . . . . . . . . . . . . . . 11-47
                                                        CreateObjectFromFaces . . . . . . . . . . . . . . . . . . . . . . . . 11-47
                                                        CreateRelativeCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-48
                                                        CreateRelativeCS (2D Extractor) . . . . . . . . . . . . . . . . . . 11-49
Contents-10
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                                          DeleteLastOperation . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-49
                                          DetachFaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-49
                                          EditEntityList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-50
                                          EditFaceCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-50
                                          EditObjectCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-51
                                          EditRelativeCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-53
                                          EditRelativeCS (2D Extractor) . . . . . . . . . . . . . . . . . . . . 11-53
                                          Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-54
                                          ExportModelImageToFile . . . . . . . . . . . . . . . . . . . . . . . . 11-54
                                          Fillet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-56
                                          GenerateHistory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-56
                                          HealObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-56
                                          GetActiveCoordinateSystem . . . . . . . . . . . . . . . . . . . . . 11-59
                                          GetCoordinateSystems . . . . . . . . . . . . . . . . . . . . . . . . . 11-59
                                          Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-59
                                          ImportDXF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-60
                                          ImportGDSII [Modeler Import] . . . . . . . . . . . . . . . . . . . . 11-62
                                          Intersect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-63
                                          MoveCStoEnd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-64
                                          MoveFaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-64
                                          MoveFaces (2D Extractor) . . . . . . . . . . . . . . . . . . . . . . . 11-65
                                          ProjectSheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-66
                                          PurgeHistory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-67
                                          Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-67
                                          Section (2D Extractor) . . . . . . . . . . . . . . . . . . . . . . . . . . 11-68
                                          SeparateBody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-68
                                          SetModelUnits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-68
                                          SetWCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-69
                                          ShowWindow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-69
                                          Split . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-69
                                          Split (2D Extractor) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-70
                                          Subtract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-70
                                          SweepFacesAlongNormal . . . . . . . . . . . . . . . . . . . . . . . 11-71
Contents-11
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                                        ThickenSheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-72
                                                        UncoverFaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-72
                                                        Unite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-73
                                                        WrapSheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-73
                                              Other oEditor Commands . . . . . . . . . . . . . . . . . . . . . . . . 11-74
                                                        ChangeProperty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-75
                                                        Delete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-76
                                                        GetBodyNamesByPosition . . . . . . . . . . . . . . . . . . . . . . . 11-76
                                                        GetEdgeByPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-77
                                                        GetEdgeByPosition (2D Extractor) . . . . . . . . . . . . . . . . 11-77
                                                        GetEdgeByID (Q3D Extractor) . . . . . . . . . . . . . . . . . . . . 11-78
                                                        GetEdgeIDsFromFace . . . . . . . . . . . . . . . . . . . . . . . . . . 11-78
                                                        GetEdgeIDsFromObject . . . . . . . . . . . . . . . . . . . . . . . . . 11-78
                                                        GetFaceArea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-79
                                                        GetFaceCenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-79
                                                        GetFaceByPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-79
                                                        GetFaceByPosition (2D Extractor) . . . . . . . . . . . . . . . . . 11-80
                                                        GetFaceIDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-80
                                                        GetModelBoundingBox . . . . . . . . . . . . . . . . . . . . . . . . . 11-81
                                                        GetObjectIDByName . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-81
                                                        GetObjectName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-81
                                                        GetObjectNameByFaceID . . . . . . . . . . . . . . . . . . . . . . . 11-81
                                                        GetObjectsByMaterial . . . . . . . . . . . . . . . . . . . . . . . . . . 11-82
                                                        GetObjectsInGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-82
                                                        GetMatchedObjectName . . . . . . . . . . . . . . . . . . . . . . . . 11-83
                                                        GetModelUnits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-83
                                                        GetNumObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-83
                                                        GetSelections [Model Editor] . . . . . . . . . . . . . . . . . . . . . 11-83
                                                        GetUserPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-84
                                                        GetVertexIDsFromEdge . . . . . . . . . . . . . . . . . . . . . . . . . 11-84
                                                        GetVertexIDsFromFace . . . . . . . . . . . . . . . . . . . . . . . . . 11-85
                                                        GetVertexIDsFromObject . . . . . . . . . . . . . . . . . . . . . . . . 11-85
                                                        GetVertexPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-86
Contents-12
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                                          PageSetup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-86
                                          RenamePart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-86
Contents-13
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                                        DeleteTraces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-31
                                                        EditQuickEyeAnalysis . . . . . . . . . . . . . . . . . . . . . . . . . . 13-31
                                                        EditVerifEyeAnalysis . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-34
                                                        ExportPlotImageToFile [Reporter] . . . . . . . . . . . . . . . . . 13-36
                                                        ExportReport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-37
                                                        ExportToFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-38
                                                        ExportToFile [Reporter] . . . . . . . . . . . . . . . . . . . . . . . . . 13-39
                                                        ExportMarkerTable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-39
                                                        FFTOnReport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-40
                                                        GetAllReportNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-42
                                                        GetAllCategories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-43
                                                        GetAllQuantities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-43
                                                        GetAvailableDisplayTypes . . . . . . . . . . . . . . . . . . . . . . . 13-44
                                                        GetAvailableReportTypes . . . . . . . . . . . . . . . . . . . . . . . 13-44
                                                        GetAvailableSolutions . . . . . . . . . . . . . . . . . . . . . . . . . . 13-45
                                                        GetDisplayType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-45
                                                        GetSolutionContexts . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-47
                                                        ImportIntoReport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-47
                                                        PasteReports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-48
                                                        PasteTraces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-48
                                                        RenameReport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-48
                                                        RenameTrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-49
                                                        UpdateAllReports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-49
                                                        UpdateReports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-50
                                                        UpdateTraces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-50
                                                        UpdateTracesContextandSweeps . . . . . . . . . . . . . . . . . 13-55
Contents-14
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                                          ChangeImpedanceMult . . . . . . . . . . . . . . . . . . . . . . . . . 14-4
                                          DeleteAllBoundaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-4
                                          DeleteAllExcitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-5
                                          DeleteBoundaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-5
                                          GetBoundaryAssignment . . . . . . . . . . . . . . . . . . . . . . . . 14-6
                                          GetBoundaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-6
                                          GetBoundariesOfType . . . . . . . . . . . . . . . . . . . . . . . . . . 14-6
                                          GetDefaultBaseName . . . . . . . . . . . . . . . . . . . . . . . . . . 14-7
                                          GetExcitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-7
                                          GetExcitationsOfType . . . . . . . . . . . . . . . . . . . . . . . . . . 14-7
                                          GetNumBoundaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-8
                                          GetNumBoundariesOfType . . . . . . . . . . . . . . . . . . . . . . 14-8
                                          GetNumExcitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-8
                                          GetExcitationAssignment (2D Extractor) . . . . . . . . . . . . 14-9
                                          GetNumExcitationsOfType . . . . . . . . . . . . . . . . . . . . . . . 14-9
                                          GetPortExcitationCounts . . . . . . . . . . . . . . . . . . . . . . . . 14-9
                                          ReassignBoundary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-10
                                          RenameBoundary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-11
                                          ReprioritizeBoundaries . . . . . . . . . . . . . . . . . . . . . . . . . . 14-11
                                          SetDefaultBaseName . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-12
                                Script Commands for Creating and Modifying
                                Boundaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-13
                                          AssignCurent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-14
                                          AssignFiniteCond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-15
                                          AssignFloquet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-16
                                          AssignHalfSpace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-19
                                          AssignIERegion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-19
                                          AssignImpedance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-20
                                          AssignIncidentWave . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-20
                                          AssignLayeredImp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-22
                                          AssignLumpedPort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-23
                                          AssignLumpedRLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-25
                                          AssignMagneticBias . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-26
Contents-15
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                                        AssignMaster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-27
                                                        AssignPerfectE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-28
                                                        AssignPerfectH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-28
                                                        AssignRadiation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-28
                                                        AssignScreeningImpedance . . . . . . . . . . . . . . . . . . . . . 14-30
                                                        AssignSlave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-32
                                                        AssignSymmetry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-33
                                                        AssignTerminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-34
                                                        AssignVoltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-35
                                                        AssignWavePort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-36
                                                        EditCurrent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-38
                                                        EditDiffPairs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-38
                                                        EditFiniteCond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-39
                                                        EditHalfSpace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-40
                                                        EditImpedance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-41
                                                        EditIncidentWave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-41
                                                        EditLayeredImpedance . . . . . . . . . . . . . . . . . . . . . . . . . 14-42
                                                        EditMaster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-42
                                                        EditPerfectE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-43
                                                        EditPerfectH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-43
                                                        EditLumpedPort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-43
                                                        EditLumpedRLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-44
                                                        EditMagneticBias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-44
                                                        EditRadiation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-44
                                                        EditSlave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-46
                                                        EditSymmetry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-46
                                                        EditTerminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-46
                                                        EditVoltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-47
                                                        EditWavePort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-47
                                                        SetTerminalReferenceImpedances . . . . . . . . . . . . . . . . 14-47
                                                        UnassignIERegions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-47
                                              Script Commands for Creating and Modifying
                                              Boundaries in HFSS-IE . . . . . . . . . . . . . . . . . . . . . . . . . . 14-49
Contents-16
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
Contents-17
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                                        AssignFiniteCond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-70
                                                        EditFiniteCond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-71
Contents-18
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                                          GetSetups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-15
                                          GetSetupNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-15
                                          GetSweepCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-15
                                          GetSweeps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-16
                                          InsertFrequencySweep . . . . . . . . . . . . . . . . . . . . . . . . . 16-16
                                          InsertSetup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-23
                                          InsertSetup (2D Extractor) . . . . . . . . . . . . . . . . . . . . . . . 16-29
                                          InsertSetup [HFSS-IE] . . . . . . . . . . . . . . . . . . . . . . . . . . 16-31
                                          InsertSetup [Transient] . . . . . . . . . . . . . . . . . . . . . . . . . . 16-32
                                          InsertSweep [HFSS-IE] . . . . . . . . . . . . . . . . . . . . . . . . . 16-34
                                          PasteSetup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-37
                                          PasteSweep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-37
                                          RenameDrivenSweep . . . . . . . . . . . . . . . . . . . . . . . . . . 16-37
                                          RenameSetup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-38
                                          RenameSweep [HFSS-IE] . . . . . . . . . . . . . . . . . . . . . . . 16-38
                                          RevertAllToInitial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-39
                                          RevertSetupToInitial . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-39
                                          SetMPIVendor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-40
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                                          HasMesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-17
                                          ImportSolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-18
                                          ImportTable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-18
                                          IsFieldAvailableAt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-20
                                          ListMatchingVariations . . . . . . . . . . . . . . . . . . . . . . . . . . 18-20
                                          ListValuesOfVariable . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-21
                                          ListVariations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-21
Contents-21
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                                        EnterLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-9
                                                        EnterPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-9
                                                        EnterQty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-9
                                                        EnterScalar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-10
                                                        EnterScalarFunc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-10
                                                        EnterSurf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-10
                                                        EnterVector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-10
                                                        EnterVectorFunc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-11
                                                        EnterVol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-11
                                                        ExportOnGrid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-12
                                                        ExportOnGrid (2D Extractor) . . . . . . . . . . . . . . . . . . . . . 20-13
                                                        ExportToFile [Fields Calculator] . . . . . . . . . . . . . . . . . . . 20-14
                                                        GetTopEntryValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-14
                                                        LoadNamedExpressions . . . . . . . . . . . . . . . . . . . . . . . . 20-15
                                                        SaveNamedExpressions . . . . . . . . . . . . . . . . . . . . . . . . 20-15
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
Contents-23
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
Contents-24
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
Contents-25
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
Contents-26
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
Contents-27
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
Contents-28
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
Contents-29
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
Contents-30
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
Contents-32
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
Contents-34
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                                        EditRun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29-5
                                                        RenameRuleSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29-7
                                                        RenameRun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29-7
                                                        RunAllDV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29-8
                                                        RunAllRuleSetDV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29-8
                                                        RunDV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29-8
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
Contents-37
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                                        CoupleEdgePorts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30-25
                                                        DecoupleEdgePorts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30-25
                                                        Delete [Excitation Planar EM] . . . . . . . . . . . . . . . . . . . . 30-25
                                                        DeleteProbePortAndVia [Planar EM] . . . . . . . . . . . . . . . 30-25
                                                        Edit [Planar EM] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30-26
                                                        EditExcitations [Planar EM] . . . . . . . . . . . . . . . . . . . . . . 30-26
                                                        GetAllBoundariesList [Planar EM] . . . . . . . . . . . . . . . . . 30-27
                                                        GetAllPortsList [Planar EM] . . . . . . . . . . . . . . . . . . . . . . 30-27
                                                        Rename [Planar EM] . . . . . . . . . . . . . . . . . . . . . . . . . . . 30-27
                                                        RemoveRefPort [Planar EM] . . . . . . . . . . . . . . . . . . . . . 30-27
                                                        SelectInLayout [Planar EM] . . . . . . . . . . . . . . . . . . . . . . 30-28
                                    Cavity Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30-28
                                                        Add [Cavity Planar EM] . . . . . . . . . . . . . . . . . . . . . . . . . 30-28
                                                        Delete [Cavity Planar EM] . . . . . . . . . . . . . . . . . . . . . . . 30-28
                                                        Edit [Cavity Planar EM] . . . . . . . . . . . . . . . . . . . . . . . . . 30-28
                                                        Rename [Cavity Planar EM] . . . . . . . . . . . . . . . . . . . . . . 30-29
                                                        SelectInLayout [Cavity Planar EM] . . . . . . . . . . . . . . . . 30-29
                                    2.5D Via Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30-29
                                                        ConvertPrimitives [Planar EM] . . . . . . . . . . . . . . . . . . . . 30-29
                                                        Delete [Via Planar EM] . . . . . . . . . . . . . . . . . . . . . . . . . . 30-30
                                                        Edit [Via Planar EM] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30-30
                                                        MultipleEdit [multiple via Planar EM] . . . . . . . . . . . . . . . 30-30
                                                        Rename [Via Planar EM] . . . . . . . . . . . . . . . . . . . . . . . . 30-30
                                                        SelectInLayout [Via Planar EM] . . . . . . . . . . . . . . . . . . . 30-30
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
Contents-39
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                                        GetAllLibRefDataBlocks . . . . . . . . . . . . . . . . . . . . . . . . . 31-17
                                                        GetAllNetlistDataBlocks . . . . . . . . . . . . . . . . . . . . . . . . . 31-18
                                                        GetAllSubstrateDataBlocks . . . . . . . . . . . . . . . . . . . . . . 31-18
                                                        Remove [Nexxim] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31-18
                                                        Rename [Nexxim] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31-18
                                    Nexxim Simulation Setup Commands . . . . . . . . . . . . . . . 31-19
                                                        Add [Nexxim] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31-19
                                                        AddSweep [Nexxim] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31-19
                                                        Analyze [Nexxim] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31-20
                                                        AnalyzeSweep [Nexxim] . . . . . . . . . . . . . . . . . . . . . . . . 31-20
                                                        Delete [Nexxim] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31-20
                                                        DisplayBiasPointInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . 31-20
                                                        DeleteSweep [Nexxim] . . . . . . . . . . . . . . . . . . . . . . . . . . 31-21
                                                        DynamicMeshOverlays . . . . . . . . . . . . . . . . . . . . . . . . . 31-21
                                                        Edit [Nexxim] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31-21
                                                        EditSweep [Nexxim] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31-21
                                                        GetAllSolutionSetups [Nexxim] . . . . . . . . . . . . . . . . . . . 31-22
                                                        ListVariations [Nexxim] . . . . . . . . . . . . . . . . . . . . . . . . . . 31-22
                                                        RefreshMeshOverlays . . . . . . . . . . . . . . . . . . . . . . . . . . 31-22
                                                        RenameSweep [Nexxim] . . . . . . . . . . . . . . . . . . . . . . . . 31-22
                                    Nexxim Linear Network Analysis . . . . . . . . . . . . . . . . . . . 31-22
                                                        AddAnalysisOptions [Nexxim] . . . . . . . . . . . . . . . . . . . . 31-23
                                                        AddSimulationSetup [Nexxim] . . . . . . . . . . . . . . . . . . . . 31-23
                                                        EditAnalysisOptions Nexxim] . . . . . . . . . . . . . . . . . . . . . 31-24
                                                        EditSimulationSetup [Nexxim] . . . . . . . . . . . . . . . . . . . . 31-24
                                                        ExportForSpice [Nexxim] . . . . . . . . . . . . . . . . . . . . . . . . 31-24
                                                        ExportForHSpice [Nexxim] . . . . . . . . . . . . . . . . . . . . . . . 31-25
                                                        RemoveAnalysisOptions [Nexxim] . . . . . . . . . . . . . . . . . 31-26
                                                        RemoveSimulationSetup [Nexxim] . . . . . . . . . . . . . . . . 31-27
                                                        RenameAnalysisOptions[Nexxim] . . . . . . . . . . . . . . . . . 31-27
                                                        RenameSimulationSetup [Nexxim] . . . . . . . . . . . . . . . . 31-27
                                    Nexxim Ports And Sources Commands . . . . . . . . . . . . . 31-28
                                                        ChangePortProperty [Nexxim] . . . . . . . . . . . . . . . . . . . . 31-28
Contents-40
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
Contents-41
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
Contents-42
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
1                                 Introduction to VBScript
                       ANSYS Electronics Desktop uses the Microsoft® Visual Basic® Scripting Edi-
                       tion (VBScript) scripting language to record macros. VBScript is based on the
                       Microsoft Visual Basic programming language.
                       Using scripts is a fast, effective way to accomplish tasks you want to repeat.
                       When you execute a script, the commands in the script are performed.
                       You can write a script using any text editor or you can record a script from
                       within the ANSYS Electronics Desktop interface. After recording the script
                       from within ANSYS Electronics Desktop, you can then modify it if necessary
                       using a text editor.
                       Although ANSYS Electronics Desktop records scripts in VBScript format, it
                       can also execute scripts in JavaScriptTM format. If you are running a script
                       from a command prompt, the script can be written in any language that pro-
                       vides the Microsoft COM methods. The ANSYS Electronics Desktop scripting
                       documentation refers to VBScript format only.
                       This chapter provides an overview of key VBScript components.
                       A Sample HFSS Script
                       A Sample Designer Script
                       A Sample Q3D Script
                       Simple and Composite Names
                       VBScript Variables
                       VBScript Operators
                       Controlling Program Execution
                       Looping Through Code
                       VBScript Procedures
    ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                        of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                           Introduction to Scripting in ANSYS Electronics Desktop
     ’ ----------------------------------------------
     ’ Script Recorded by Ansoft HFSS Version 10.0
     ’ 11:03 AM May 3, 2005
     ’ ----------------------------------------------
     Dim oDesign
     Dim oEditor
     Dim oModule
     REM Dim is used to declare variables. Dim means dimension. In VBScript you can use Dim,
     REM Public, or Private to declare variables. As VBScript has no built-in data types (like
     REM integer, string, etc.), all variables are treated as variants, which can store any type of
     REM information. In this example, the three variables will be used as objects. When
     REM recording scripts in HFSS, variants that will be used as objects always begin with o.
     oDesktop.NewProject
     ’ In VBScript, a Sub procedure is a procedure that is called by name, can receive arguments,
     ’ and can perform a specific task with a group of statements. Here the Sub procedure
     ’ NewProject of the object oDesktop is called. This Sub does not take an input.
         ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                             of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
         ’ In a Sub or Function procedure call, you can group the input parameters inside
         ’ parentheses or without parentheses. Here the four strings are the input parameters of
         ’ the Sub procedure InsertDesign of the object oProject.
For additional ANSYS Electronics Desktop script examples, see Example Scripts.
' ----------------------------------------------
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
       ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
         ‘In a Sub or Function procedure call, you can group the input parame-
         ters inside
         ‘parentheses or without parentheses.                                          Here the four strings are input
         parameters
         ‘of the Sub procedure InsertDesign of the object oProject.
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                           Introduction to Scripting in ANSYS Electronics Desktop
         oProject.SaveAs "C:\Program
         Files\AnsysEM\Designer\<platform>\Examples\test.adsn", true
         ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                             of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
         ’ GetAppDesktop is a function of oAnsoftApp. This function does not take an input and it
         ’ returns an object. The object is assigned to the variable oDesktop.
         oDesktop.NewProject
         ’ In VBScript, a Sub procedure is a procedure that is called by name, can receive arguments,
         ’ and can perform a specific task with a group of statements. Here the Sub procedure
         ’ NewProject of the object oDesktop is called. This Sub does not take an input.
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
For additional ANSYS Electronics Desktop script examples, see Example Scripts.
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
VBScript Variables
    A VBScript variable is a placeholder representing information that may change during the time
    your script is running. Variables are useful because they let you assign a short and easy to
    remember name to each piece of data you plan to use. Use a variable name in a script to view or
    modify its value.
    Declaring Variables
    To declare variables explicitly in a script, use the Dim, Public, or Private statements. For
    example:
         Dim box_xsize
    After declaring a variable, you can assign information to it. For example:
         box_xsize = "3mm"
    You can declare multiple variables by separating each variable name with a comma. For exam-
    ple:
         Dim Top, Bottom, Left, Right
    You can also declare a variable implicitly by simply using its name in your script. Doing so is not
    generally a good practice because you could misspell the variable name in one or more places,
    causing unexpected results when your script is run. For that reason, the Option Explicit state-
    ment is available to require explicit declaration of all variables. The Option Explicit statement
    should be the first statement in your script.
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                          Introduction to Scripting in ANSYS Electronics Desktop
The lifetime of a variable depends on how long it exists. The script-level variables exist from
declaration until the end of the script. A procedure-level variable exists only as long as you are
in the procedure and is destroyed when the procedure exits.
Array Variables
Create an array variable when you want to assign more than one related value to a single vari-
able. An array variable contains a series of values. For example:
    Dim Primitives(2)
All arrays in VBScript are zero-based, so the array above actually contains 3 elements. You assign
data to each of the array’s elements using an index into the array. Data can be assigned to the
elements of an array as follows:
    Primitives(0) = "Box1"
    Primitives(1) = "Cone1"
    Primitives(2) = "Cylinder1"
Similarly, the data can be retrieved from any element using an index into a particular array ele-
ment. For example:
    one_prim = Primitives(1)
You can also use the Array function to assign an array of elements to a variable. For example:
    Dim Primitives
    Primitives = Array ("Box1", "cone1", "Cylinder1")
Note   When using the Array function, do not use parentheses on the variable when it is
       declared. For example, use Dim myarray, not Dim myarray().
If you do not know the size of the array at declaration or the size changes during the time your
script is running, you can use dynamic arrays. They are declared without size or number of
dimensions inside the parentheses. For example:
    Dim FirstArray()
    ReDim SecondArray()
To use a dynamic array, you must subsequently use ReDim to determine the number of dimen-
sions and the size of each dimension. You can also use the Preserve keyword to preserve the
contents of the array as the resizing takes place.
    ReDim FirstArray(25)
    ReDim Preserve FirstArray(30)
        ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                            of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
VBScript Operators
    VBScript provides operators, which are grouped into these categories: arithmetic operators,
    comparison operators, and logical operators.
    Please see the online VBScript User’s Guide for more details.
    Operator Precedence
    When several operations occur in an expression, each part is evaluated and resolved in a pre-
    determined order, called operator precedence. You can use parentheses to override the order of
    precedence and force some parts of an expression to be evaluated before others. Operations
    within parentheses are always performed before those outside the parentheses. Within paren-
    theses, however, standard operator precedence is maintained.
    When expressions contain operators from more than one category, arithmetic operators are
    evaluated first, comparison operators are evaluated next, and logical operators are evaulated
    last. Comparison operators all have equal precedence, that is, they are evaluated in the left-to-
    right order in which they appear. Arithmetic and logical operators are evaluated in the following
    order of precedence.
    Arithmetic Operators
    Following is a list of VBScript’s arithmetic operators.
    Symbol                 Description
        ^         Exponentiation
        -         Unary negation
        *         Multiplication
        /         Division
        \         Integer division
      Mod         Modulus arithmetic
        +         Addition
        -         Subtraction
        &         String concatenation
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                             Introduction to Scripting in ANSYS Electronics Desktop
  Comparison Operators
  Following is a list of VBScript’s comparison operators.
  Symbol                     Description
     =          Equality
    <>          Inequality
     <          Less than
     >          Greater than
    <=          Less than or equal to
    >=          Greater than or equal to
    Is          Object equivalence
  Logical Operators
  Following is a list of VBScript’s logical operators:
  Symbol                Description
   Not          Logical negation
   And          Logical conjunction
    Or          Logical disjunction
   Xor          Logical exclusion
   Eqv          Logical equivalence
   Imp          Logical implication
  Using If...Then...Else
  Following is an example that demonstrates the If...Then...Else conditional statement:
      If obj = "Box1" Then
            <statements to execute>
      ElseIf obj = "Cylinder1" Then
                                                                                                                Introduction to VBScript 1-13
           ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                               of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
               <statements to execute>
         Else
               <statements to execute>
         End If
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                           Introduction to Scripting in ANSYS Electronics Desktop
  Using a Do Loop
  You can use Do...Loop statements to run a block of statements until (or while) a condition is
  true.
  Repeating Statements While a Condition is True
  Use the While keyword to check a condition in a Do...Loop statement. The syntax is as follows:
      Do While condition
          <statements to execute>
      Loop
VBScript Procedures
  In VBScript, there are two kinds of procedures, Sub and Function. These procedures are called
  by name, they can receive arguments, and each performs a specific task with a group of
  VBScript statements. If there is no argument, then the Sub or Function statement must include
  an empty set of parentheses.
  Function Procedures
  A Function returns a value by assigning a value to its name in one or more statements. Following
  is the syntax of a Function:
      Function FunctionName([arguments])
          <Function statements>
      End Function
  Sub Procedures
  A Sub procedure is like a function procedure, except that it does not return a value through its
  name. Following is the syntax of a Sub:
      Sub ProcedureName([arguments])
          <Procedure statements>
          End Sub
         ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                             of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
Including Scripts
    HFSS allows you to include one script within another using the following command:
         #include “<scriptfilename>”
    Where scriptfilename is the full path name to a file that contains script text, or is the name of a
    script in the project library or script library (listed in the project window under the Definitions/
    Scripts directory).
    The command works for VBScript, JScript, and for the following:
    •  Scripts in the project library that are run by right-clicking the script icon in the project win-
    dow and choosing "Run Script"
    •    Scripts in files that are external to HFSS and are run by choosing “Tools/Run Script...”
    •    Scripts that are specified as callbacks in the Property dialog
    •    Scripts that are run to draw parameterized footprints in layout
    An include command can be placed anywhere in a script, but for readability it is recommended
    that commands be placed at the beginning of a file. The same script can be included multiple
    times without error, and circular inclusions will be ignored.
Aborting Scripts
    You can abort a script that is running in the desktop simply by pressing the ESC key. Terminating
    a script in this manner works for each of the following:
    •    Scripts in the project library that are run by right-clicking the script icon in the project win-
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
  The MsgBox function shows a message and returns a number based on the button the user
  presses. For example:
      MsgBox ("message text")
  Childs, M., Lomax, P., and Petrusha, R. VBScript in a Nutshell: A Desktop Quick Reference.
  May 2002. O’Reilly & Associates. ISBN: 1-56592-720-6.
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
2                   ANSYS Electronics
                 Desktop and VBScript
    ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                        of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
           oDesktop
    The oDesktop object is used to perform desktop-level operations, including project manage-
    ment.
    One example of accessing this object is:
         Set oDesktop = oAnsoftApp.GetAppDesktop()
    See the chapter Desktop Object Script Commands, for details about script commands recognized
    by the oDesktop object.
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
        oProject
The oProject object corresponds to one project open in the product. It is used to manipulate
the project and its data. Its data includes variables, material definitions and one or more
designs. One example of accessing this object is:
    Set oProject = oDesktop.GetActiveProject()
See the following chapters for details about the script commands recognized by the oProject
object:
•   Project Object Script Commands
•   Material Script Commands
•   Property Script Commands
•   Dataset Script Commands
       oDesign
The oDesign object corresponds to an instance of a design in the project. This object is used to
manipulate the design and its data. Its data includes variables, modules, and editors.
One example of accessing this object is:
    Set oDesign = oProject.GetActiveDesign()
See the following chapters for details about the script commands recognized by the oDesign
object:
•   Design Object Script Commands
•   Output Variable Script Commands
•   Reporter Editor Script Commands
        oEditor
The oEditor object corresponds to an editor, such as the 3D Modeler, layout or schematic edi-
tors. This object is used to add and modify data in the editor.
One example of accessing this object is:
    Set oEditor = oDesign.SetActiveEditor("3D Modeler")
An HFSS layout example of accessing this object is:
    Set oEditor = oDesign.SetActiveEditor("Layout")
       ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    See the chapter 3D Modeler Editor Script Commands, for details about the script commands rec-
    ognized by the oEditor object and the chapter Reporter Editor Script Commands for details
    about Reporter editor commands.
            oModule
    The oModule object corresponds to a module in the design. Modules are used to handle a set of
    related functionality.
    One example of accessing this object is:
         Set oModule = oDesign.GetModule("BoundarySetup")
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
Examples of HFSS, Layout Editor, and Q3D Extractor scripts are described as follows.
Example: HFSS Script
   Dim oAnsoftApp
   Dim oDesktop
   Dim oProject
   Dim oDesign
   Dim oEditor
   Dim oModule
   Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInterface")
   Set oDesktop = oAnsoftApp.GetAppDesktop()
                                                                                      ANSYS Electronics Desktop and VBScript 2-5
       ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Recording a Script
  After you begin to record a script, each subsequent interface action you take is recorded and
  saved to a text file or project folder you have specified — i.e., each interface command is
  comprised of one or more associated script commands, and each action is recorded and saved to
  a single script. The recorded script is saved in VBScript format (.vbs).
Running a Script
  1 Click Tool>Run Script.
      The Open dialog box appears.
  2 Use the file browser to locate the folder in which you saved the script, and then double-click
      the folder’s name.
  3   Type the name of the script in the File name text box, or click its name, and then click
      Open.
      ANSYS Electronics Desktop executes the script.
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    To supply script arguments when running from Tools>Run Script, use the Edit field at the bot-
    tom of the file selection dialog. You can access the script arguments using the AnsoftS-
    criptHost.arguments collection from vbscript. This is a standard COM collection.
    To run a script from a command line (as described in the ANSYS Electronics Desktop Online Help
    in the Running ANSYS Electronics Desktop from a Command Line section), use:
        -runscriptandexit or -runscript arguments to the ANSYS Electronics Desktop command line
        syntax.
    You can give -scriptargs parameter to the script and specify the arguments described in the
    ANSYS Electronics Desktop online help.
    If you run the script from DOS prompt as a .vbs file (that is, you do not launch ANSYS Electronics
    Desktop, but just launch vbs directly, or use wscript.exe or cscript.exe), the arguments will be
    in the WSH.arguments collection, not the AnsoftScriptHost.arguments collection. To handle this,
    use the following script:
                   on error resume next
                   dim args
                   Set args = AnsoftScript.arguments
                   if(IsEmpty(args)) then
                   Set args = WSH.arguments
                   End if
                   on error goto 0
                   'At this point, args has the arguments no matter if you are
                   running
                   'under windows script host or Ansoft script host
                   msgbox "Count is " & args.Count
                   for i = 0 to args.Count - 1
                       msgbox args(i)
                   next
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Stopping a Script
  •   On the Tools menu, click Stop Script.
      ANSYS Electronics Desktop stops executing the script that has been paused.
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Syntax Conventions
    The following data types will be used throughout this scripting guide:
     <string>              A quoted string.
     <bool>                A boolean value. Should be set to either true or false (no quotes).
                           Example 1: "SolveInside:=", true
                           Example 2: "PortSolver:=", true
     <double>              A double precision value.
                           Example: 1.2
     <int>                 An integer. Example: 1
     <value>               Can be a number, a VBScript variable, or a quoted string containing a
                           valid ANSYS Electronics Desktop expression.
                           Examples:
                                  -"XSize:=", 1
                                  -"XSize:=", "3mm"
                                  -"XSize:=", VBScript_Var
                                  -"XSize:=", "Hfss_Var + 10mm"
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                          Introduction to Scripting in ANSYS Electronics Desktop
2 When running from Tools>Run script, there is an edit field at the bottom of the file selec-
   tion dialog that you can use to enter script arguments.
You can access the script arguments using the AnsoftScriptHost.arguments collection from
vbscript. This is a standard COM collection.
If you run the script from DOS prompt as a .vbs file (that is, you do not open ANSYS Electronics
Desktop, but launch vbs directly, or use wscript.exe or cscript.exe), the arguments are in the
WSH.arguments collection, not the AnsoftScriptHost.arguments collection. To handle this,
write this script:
    on error resume next
    dim args
    Set args = AnsoftScript.arguments
    if(IsEmpty(args)) then
    Set args = WSH.arguments
    End if
    on error goto 0
    'At this point, args has the arguments no matter if you are running
    'under windows script host or Ansoft script host
    msgbox "Count is " & args.Count
    for i = 0 to args.Count - 1
    msgbox args(i)
    next
Named Arguments
Many ANSYS Electronics Desktop script commands use named arguments. The names can appear
in three ways:
        ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                            of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    In the first and second examples, the name is formatted as "<Name>:=". This signals ANSYS
    Electronics Desktop that this is a name for the next argument in the script command. In the
    third example, the name is formatted as "NAME:<name>" and is the first element of the Array.
    The names are used both to identify what the data means to you and to inform ANSYS Electron-
    ics Desktop which data is being given. The names must be included or the script will not play
    back correctly. However, if you are writing a script, you do not need to pass in every piece of
    data that the command can take. For example, if you are modifying a boundary, the script will
    be recorded to include every piece of data needed for the boundary, whether or not it was mod-
    ified. If you are writing a script by hand, you can just add the data that changed and omit any-
    thing that you do not want to change. ANSYS Electronics Desktop will use the names to
    determine which data you provided.
    For example, when editing an impedance boundary, ANSYS Electronics Desktop records the ‘edit
    impedance boundary’ command as follows:
         oModule.EditImpedance "Imped1", Array("NAME:Imped1", _
              "Resistance:=", "100", "Reactance:=", "50", _
              "InfGroundPlane:=", false)
    If you only want to change the resistance, then you can leave out the other data arguments
    when you are manually writing a script:
         oModule.EditImpedance "Imped1", Array("NAME:Imped1", _
              "Resistance:=", "100")
    Another example corresponding to ANSYS Electronics Desktop layout is described below:
    When editing a port excitation, ANSYS Electronics Desktop records the ‘edit port’ command as
    follows:
         oModule.Edit "Port1", Array("NAME:Port1",Array("NAME:Properties",
         "PortSolver:=", "true", "Phase:=", "0deg", "Magnitude:=", "2mA",
         "Impedance:=", "50Ohm", "Theta:=", "0deg", "Phi:=", "0deg", "PostPro-
         cess:=", "false", "Renormalize:=", "50Ohm + 0i Ohm", "Deembed:=",
         "0mm", "RefToGround:=", "false"), "Type:=", "EdgePort", "IsGap-
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                          Introduction to Scripting in ANSYS Electronics Desktop
        ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                            of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    The active layer is not used during script adding operations. Script adding operations are
    responsible for ensuring that the specified layer exists and meets the particular requirements
    (such as layer type) for the operation. If there is a problem with using the specified layer, the
    operation is not done. The active layer is always visible and selectable. These attributes are
    reset, if needed, when a layer is made active. The current active layer is indicated by a combo
    box display in the toolbar. The list for the combo box contains all layers that may be set active.
    The active text style is related to the active layer. If there is no active layer, there is no active
    text style. Objects on the active layer have priority during snapping.
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
  The following table lists allowable callback events, items that are visible from the associated
  callback script, and the set of accessible functions that can be called.
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    If the full path to the script is not specified, ANSYS Electronics Desktop searches for the speci-
    fied script in the following locations, in this order:
    •   Personal library directory.
        This is the PersonalLib subdirectory in the project directory. The project directory can be
        specified in the General Options dialog box (click Tools>Options>General Options to open
        this dialog box) under the Project Options tab.
    •   User library directory.
        This is the userlib subdirectory in the library directory. The library directory can be specified
        in the General Options dialog box (click Tools>Options>General Options to open this dialog
        box) under the Project Options tab.
    •   System library directory.
        This is the syslib subdirectory in the library directory. The library directory can be specified
        in the General Options dialog box (click Tools>Options>General Options to open this dialog
        box) under the Project Options tab.
    •    ANSYS Electronics Desktop installation directory.
Editing Properties
    Any data that is shown in the dockable Properties dialog box or in the modal Properties pop-up
    window is called a property. For example, project and local variables are properties. The XSize
    of a box in the Geometry editor is also a property. See the chapter, Property Script Commands,
    for an explanation of how to manipulate properties in a script.
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
3                    Ansoft Application Object
                 Script Commands
                       The Application object commands allow you to set parameters for RAM and
                       processor use. Application object commands should be executed by the
                       oAnsoftApp object.
                       oAnsoftApp.<CommandName> <args>
                       The depricated commands are no longer supported and produce an error if
                       used.
                       GetAppDesktop
                       GetDesiredRamMBLimit(deprecated)
                       GetHPCLicenseType(deprecated)
                       GetMaximumRamMBLimit(deprecated)
                       GetMPISpawnCmd(deprecated)
                       GetMPIVendor(deprecated)
                       GetNumberOfProcessors(deprecated)
                       GetUseHPCForMP(deprecated)
                       SetDesiredRamMBLimit(deprecated)
                       SetHPCLicenseType(deprecated)
                       SetMaximumRamMBLimit(deprecated)
                       SetNumberOfProcessors(deprecated)
                       SetUseHPCForMP(deprecated)
                       SetMPISpawnCmd(deprecated)
                       SetMPIVendor(deprecated)
    ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                        of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              GetAppDesktop
    Use:                         GetAppDesktop is a function of oAnsoftApp. This function does not take
                                 an input and it returns an object. The object is assigned to the variable
                                 oDesktop.
    Syntax:                      GetAppDesktop()
    Return Value:                Object.
    Parameters:                  None
    Example:
                                 Set oDesktop = oAnsoftApp.GetAppDesktop()
              GetDesiredRamMBLimit(deprecated)
              GetHPCLicenseType(deprecated)
              GetMaximumRamMBLimit (deprecated)
              GetMPISpawnCmd(deprecated)
              GetMPIVendor(deprecated)
              GetNumberOfProcessors(deprecated)
              GetUseHPCForMP(deprecated)
              SetDesiredRamMBLimit(deprecated)
              SetHPCLicenseType(deprecated)
              SetMaximumRamMBLimit (deprecated)
              SetMPISpawnCmd (deprecated)
              SetMPIVendor (deprecated)
              SetNumberOfProcessors (deprecated)
              SetUseHPCForMP (deprecated)
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
4                   Desktop Object Script
                 Commands
    ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                        of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                GetProjectList
                                GetSysLibDirectory
                                GetTempDirectory
                                GetUserLibDirectory
                                GetVersion
                                ImportANF
                                ImportAutoCAD
                                ImportGDSII
                                ImportODB
                                NewProject
                                OpenAndConvertProject
                                OpenMultipleProjects
                                OpenProject
                                PauseScript
                                Print
                                QuitApplication
                                RestoreWindow
                                RunProgram
                                RunScript
                                SetActiveProject
                                SetActiveProjectByPath
                                SetLibraryDirectory
                                SetProjectDirectory
                                SetTempDirectory
                                Sleep
                                Also see:
                                Desktop Commands For Registry Values
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Clear Messages
Use:                         Clears messages, optionally specifying severity and design.
Command:                     Clear Messages
Syntax:                      ClearMessages(<project>, <design>, <severity>)
Return Value:                None
Parameters:                  project
                             Type: <string>
                             project name, an empty string will clear all project messages.
                             design
                             Type: <string>
                             design name, will be ignored if project name is empty; an empty string will clear mes-
                             sages is all Designs.
                             severity
                             Type: <int>
                             0 -- clear all info messages;
                             1 -- clear all info and warning messages;
                             2-- clear all info, warning and error messages;
                             3 -- clear all messages included info, warning, error, and fatal-error.
Example:
   oDesktop.ClearMessages(MyProject, Mydesign,3)
          CloseAllWindows
Use:                         Closes all MDI child windows on the desktop.
Command:                     From main menu, Window>CloseAll.
Syntax:                      CloseAllWindows()
Return Value:                None
Parameters:                  None
Example:
                             oDesktop.CloseAllWindows()
Example:
   ------------------------------------
   Example Script
   ------------------------------------
                             Dim oAnsoftApp
                             Dim oDesktop
                             Dim oProject
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 Dim oDesign
                                 Dim oEditor
                                 Dim oModule
                                 Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                                 erface")
                                 Set oDesktop = oAnsoftApp.GetAppDesktop()
                                 oDesktop.CloseAllWindows()
              CloseProject
    Use:                         Closes a specified project. Changes to the project are not saved. Save the
                                 project using the Project command Save or SaveAs before closing to save
                                 changes.
    Command:                     File>Close
    Syntax:                      CloseProject <ProjectName>
    Return Value:                None
    Parameters:                  <ProjectName>
                                 Type: <string>
    Example:
                                 oDesktop.CloseProject "Project1"
    Example:
         ------------------------------------
         Example Script
         ------------------------------------
                                 Dim oAnsoftApp
                                 Dim oDesktop
                                 Dim oProject
                                 Dim oDesign
                                 Dim oEditor
                                 Dim oModule
                                 Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                                 erface")
                                 Set oDesktop = oAnsoftApp.GetAppDesktop()
                                 oDesktop.CloseProject "Project1"
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          CloseProjectNoForce
Use:                         Closes a specified project unless there are simulations ongoing. Changes to
                             the project will not be saved. Save the project using the Project command
                             Save or SaveAs before closing to save changes.
Command:                     File>Close
Syntax:                      CloseProjectNoForce <ProjectName>
Return Value:                None
Parameters:                  <ProjectName>
                             Type: <string>
Example:
                             oDesktop.CloseProjectNoForce "Project1"
Example:
   ------------------------------------
   Example Script
   ------------------------------------
                             Dim oAnsoftApp
                             Dim oDesktop
                             Dim oProject
                             Dim oDesign
                             Dim oEditor
                             Dim oModule
                             Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                             erface")
                             Set oDesktop = oAnsoftApp.GetAppDesktop()
                             oDesktop.CloseProjectNoForce "Project9"
          Count
Use:                         Gets the total number of queried projects or designs obtained by
                             GetProjects() and GetDesigns() commands. See the example query.
Syntax:
Return Value:                Returns an integer value.
Parameters:                  None
Example:                     set projects = oDesktop.GetProjects()
                             numprojects = projects.
Example:
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
         ---------------------------------------------------------
         Example Script: iterate through using integer index
         ---------------------------------------------------------
                                 Dim oAnsoftApp
                                 Dim oDesktop
                                 Dim oProject
                                 Dim oDesign
                                 Dim oEditor
                                 Dim oModule
                                 Dim oProjects
                                 Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                                 erface")
                                 Set oDesktop = oAnsoftApp.GetAppDesktop()
                                 oDesktop.RestoreWindow
                                 Dim projects
                                 set projects = oDesktop.GetProjects()
                                 for i = 0 to projects.Count - 1
                                      msgbox projects(i).GetName()
                                      dim designs
                                 set designs = projects(i).GetDesigns()
                                 for j = 0 to designs.Count - 1
                                 msgbox designs(j).GetName()
                                 next
                                 next
              EnableAutoSave
    Use:                         Enable or disable autosave feature.
    Syntax:                      EnableAutoSave(bool)
    Return Value:                None
    Parameters:                  None
    Example:
                                 oDesktop.EnableAutoSave(true)
         --------------------------------------------------------------------
         In this example message box returns 1 since autosave is enabled.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
   --------------------------------------------------------------------
                             Dim oAnsoftApp
                             Dim oDesktop
                             Dim oProject
                             Dim oDesign
                             Dim oEditor
                             Dim oModule
                             Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                             erface")
                             Set oDesktop = oAnsoftApp.GetAppDesktop()
                             oDesktop.RestoreWindow
                             Set oProject = oDesktop.GetActiveProject()
                             Set oDesign = oProject.SetActiveDesign("HFSSDesign1")
                             oDesktop.EnableAutoSave(true)
                             msgbox(oDesktop.GetAutoSaveEnabled())
          GetActiveProject
Use:                         Returns the project that is active in the desktop.
Command:                     None
Syntax:                      GetActiveProject
Return Value:                The project that is active in the desktop.
Parameters:                  None
Example:
                  Set oProject = oDesktop.GetActiveProject()
Note: GetActiveProject returns normally if there are no active objects.
Example:
   ------------------------------------
   Example Script
   ------------------------------------
                             Dim oAnsoftApp
                             Dim oDesktop
                             Dim oProject
                             Dim oDesign
                             Dim oEditor
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 Dim oModule
                                 Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                                 erface")
                                 Set oDesktop = oAnsoftApp.GetAppDesktop()
                                 oDesktop.RestoreWindow
                                 Set oProject = oDesktop.GetActiveProject()
              GetAutoSaveEnabled
    Use:                         Checks to see if the autosave feature is enabled.
    Command:                     None
    Syntax:                      GetAutoSaveEnabled
    Return Value:                Boolean
    Parameters:                  None
    Example:
                                 oDesktop.GetAutoSaveEnabled()
    Example:
         ------------------------------------
         Example Script
         ------------------------------------
                                 Dim oAnsoftApp
                                 Dim oDesktop
                                 Dim oProject
                                 Dim oDesign
                                 Dim oEditor
                                 Dim oModule
                                 Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                                 erface")
                                 Set oDesktop = oAnsoftApp.GetAppDesktop()
                                 oDesktop.RestoreWindow
                                 Set oProject = oDesktop.GetActiveProject()
                                 Set oDesign = oProject.SetActiveDesign("HFSSDesign1")
                                 msgbox(oDesktop.GetAutoSaveEnabled())
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          GetDesigns
Use:                         For querying designs within a queried project obtained by the GetProjects()
                             command. Once you have the designs you can iterate through them using
                             standard VBScript methods. See the example query. Returns the designs in a
                             given project.
Syntax:                      GetDesigns()
Return Value:                Returns a COM collection of designs in the given project.
Parameters:                  None
Example:
                             set projects = oDesktop.GetProjects()
                             set designs = projects(0).GetDesigns()
Example:
   --------------------------------------------------------------------
   Object in design(0) is edited. designs(0) is one of several designs in
   this project. design(0) implies first design; design(1) implies sec-
   ond design and so on.
   --------------------------------------------------------------------
                             Dim oAnsoftApp
                             Dim oDesktop
                             Dim oProject
                             Dim oDesign
                             Dim oEditor
                             Dim oModule
                             Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                             erface")
                             Set oDesktop = oAnsoftApp.GetAppDesktop()
                             oDesktop.RestoreWindow
                             Set oProject = oDesktop.SetActiveProject("Project9")
                             set projects = oDesktop.GetProjects()
                             set designs = projects(0).GetDesigns()
                             Set oEditor = designs(0).SetActiveEditor("3D Modeler")
                             oEditor.ChangeProperty Array("NAME:AllTabs",
                             Array("NAME:Geometry3DCmdTab", Array("NAME:PropServ-
                             ers", _
                               "Box1:CreateBox:1"), Array("NAME:ChangedProps",
                             Array("NAME:ZSize", "Value:=", "1mm"))))
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              GetDistributedAnalysisMachines
    Use:                         Gets a list of machines used for distributed analysis. You can iterate
                                 through the list using standard VBScript methods.
    Syntax:                      GetDistributedAnalysisMachines()
    Return Value:                Returns a COM collection of machines used for distributed analysis.
    Parameters:                  None
    Example:
         for each machine in oDesktop.GetDistributedAnalysisMachines()
               msgbox machine
               next
    Example:
         ------------------------------------
         Example Script
         ------------------------------------
                                 Dim oAnsoftApp
                                 Dim oDesktop
                                 Dim oProject
                                 Dim oDesign
                                 Dim oEditor
                                 Dim oModule
                                 Dim oProjects
                                 Dim omachine
                                 Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                                 erface")
                                 Set oDesktop = oAnsoftApp.GetAppDesktop()
                                 oDesktop.RestoreWindow
                                 for each machine in oDesktop.GetDistributedAnalysisMa-
                                 chines()
                                 msgbox machine
                                 next
              GetName [Desktop]
    Use:                         Gets names of queried projects or designs obtained by GetProjects() and
                                 GetDesigns() commands. See the example query.
4-10 Desktop Object Script Commands
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Syntax:                      GetName()
Return Value:                Returns a name of type string.
Parameters:                  None
Example:
                             set projects = oDesktop.GetProjects()
                             project_name = projects(0).GetName()
Example:
   --------------------------------------------------------------
   In this example, message box returns project name. projects(0) is the
   first of the several projects. Similarly projects(1) displays name of
   second project
   ----------------------------------------------------------------
                             Dim oAnsoftApp
                             Dim oDesktop
                             Dim oProject
                             Dim oDesign
                             Dim oEditor
                             Dim oModule
                             Dim oProjects
                             Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                             erface")
                             Set oDesktop = oAnsoftApp.GetAppDesktop()
                             oDesktop.RestoreWindow
                             set projects = oDesktop.GetProjects()
                             project_name = projects(0).GetName()
                             msgbox(project_name)
Example:
   ------------------------------------------------------
   message box returns the names of the projects
   ------------------------------------------------------
                             Dim oAnsoftApp
                             Dim oDesktop
                             Dim oProject
                             Dim oDesign
                             Dim oEditor
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 Dim oModule
                                 Dim oProjects
                                 Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                                 erface")
                                 Set oDesktop = oAnsoftApp.GetAppDesktop()
                                 oDesktop.RestoreWindow
                                 for each prj in oDesktop.GetProjects()
                                 msgbox prj.GetName()
                                 next
              GetLibraryDirectory
    Use:                         Gets the library directory path.
    Syntax:                      GetLibraryDirectory
    Return Value:                Returns a directory path.
                                 Type: <string>
    Parameters:                  None
    Example:
                                 libdir = oDesktop.GetLibraryDirectory
    Example:
         ------------------------------------------------------
         message box returns the path in this example
         ------------------------------------------------------
                                 Dim oAnsoftApp
                                 Dim oDesktop
                                 Dim oProject
                                 Dim oDesign
                                 Dim oEditor
                                 Dim oModule
                                 Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                                 erface")
                                 Set oDesktop = oAnsoftApp.GetAppDesktop()
                                 oDesktop.RestoreWindow
                                 libdir = oDesktop.GetLibraryDirectory
                                 msgbox(oDesktop.GetLibraryDirectory())
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          GetMessages
Use:                         Collects the messages from a specified project and design.
Command:                     None
Syntax:                      GetMessages <ProjectName>, <DesignName>, <SeverityName>
Return Value:                A simple array of strings.
Parameters:                  <ProjectName>
                                    Type:<string>
                                    Name of the project for which to collect messages.
                                    An incorrect project name results in no messages (design is ignored)
                                    An empty project name results in all messages (design is ignored)
                             <DesignName>
                                    Type: <string>
                                    Name of the design in the named project for which to collect messages
                                    An incorrect design name results in no messages for the named project
                                    An empty design name results in all messages for the named project
                             <SeverityName>
                                    Type: <integer>
                                    Severity is 0-3, and is tied in to info/warning/error/fatal types as follows:
                                    0 is info and above
                                    1 is warning and above
                                    2 is error and fatal
                                    3 is fatal only (rarely used)
Example:
                             oDesktop.GetMessages(project,design,severity)
Example:
   ------------------------------------------------------
   For severity =1, the message box returns the first
   warning message for Project9, HFSSDesign1
   ------------------------------------------------------
                             Dim oAnsoftApp
                             Dim oDesktop
                             Dim oProject
                             Dim oDesign
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                Dim oEditor
                                Dim oModule
                                Dim oProjects
                                Dim omachine
                                Dim oseverity
                                Dim var
                                Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                                erface")
                                Set oDesktop = oAnsoftApp.GetAppDesktop()
                                oDesktop.RestoreWindow
                                var = oDesktop.GetMessages(Project9,HFSSDesign1,1)
                                msgbox var(0)
Example:
         ----------------------------------------------------------
         For severity =2, the message box returns the
         first error message for Project9, HFSSDesign1
         ----------------------------------------------------------
                                Dim oAnsoftApp
                                Dim oDesktop
                                Dim oProject
                                Dim oDesign
                                Dim oEditor
                                Dim oModule
                                Dim oProjects
                                Dim omachine
                                Dim oseverity
                                Dim var
                                Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                                erface")
                                Set oDesktop = oAnsoftApp.GetAppDesktop()
                                oDesktop.RestoreWindow
                                var = oDesktop.GetMessages(Project9,HFSSDesign1,1)
                                msgbox var(0)
    Example:
4-14 Desktop Object Script Commands
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
   ------------------------------------------------------
   using for loop display all the messages for
   Project9, HFSSDesign1
   ------------------------------------------------------
                             Dim oAnsoftApp
                             Dim oDesktop
                             Dim oProject
                             Dim oDesign
                             Dim oEditor
                             Dim oModule
                             Dim oProjects
                             Dim omachine
                             Dim var
                             Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                             erface")
                             Set oDesktop = oAnsoftApp.GetAppDesktop()
                             oDesktop.RestoreWindow
                             for each var in oDesktop.GetMessages("Project9","HFSSDe-
                             sign1",1)
                             msgbox var
                             next
          GetPersonalLibDirectory
Use:                         Informational
Command:                     None
Syntax:                      GetPersonalLibDirectory
Return Value:                The directory path string.
Parameters:                  None.
Example:
                             sys = oDesktop.GetPersonalLibDirectory()
Example:
   ------------------------------------------------------
   message box returns the PersonalLib directory path
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
         ------------------------------------------------------
                                 Dim oAnsoftApp
                                 Dim oDesktop
                                 Dim oProject
                                 Dim oDesign
                                 Dim oEditor
                                 Dim oModule
                                 Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                                 erface")
                                 Set oDesktop = oAnsoftApp.GetAppDesktop()
                                 oDesktop.RestoreWindow
                                 sys = oDesktop.GetPersonalLibDirectory()
                                 msgbox(oDesktop.GetPersonalLibDirectory())
              GetProjects
    Use:                         For querying projects. Once you have the projects you can iterate through
                                 them using standard VBScript methods. See the example query.
    Syntax:                      GetProjects()
    Return Value:                Returns a COM collection of opened projects.
    Parameters:                  None
    Example:
                                 set projects = oDesktop.GetProjects()
    Example:
         ---------------------------------------------------
         Example Script
         ----------------------------------------------------
                                 Dim oAnsoftApp
                                 Dim oDesktop
                                 Dim oProject
                                 Dim oDesign
                                 Dim oEditor
                                 Dim oModule
                                 Dim oProjects
                                 Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                                 erface")
                                 Set oDesktop = oAnsoftApp.GetAppDesktop()
4-16 Desktop Object Script Commands
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             oDesktop.RestoreWindow
                             for each prj in oDesktop.GetProjects()
                             msgbox prj.GetName()
                             for each design in prj.GetDesigns()
                             msgbox design.GetName()
                             next
                             next
          GetProjectDirectory
Use:                         Gets the project directory path.
Syntax:                      GetProjectDirectory
Return Value:                Returns a directory path.
                             Type: <string>
Parameters:                  None
Example:
                             projdir = oDesktop.GetProjectDirectory()
Example:
   ------------------------------------------------------
   message box returns the project directory path
   ------------------------------------------------------
                             Dim oAnsoftApp
                             Dim oDesktop
                             Dim oProject
                             Dim oDesign
                             Dim oEditor
                             Dim oModule
                             Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                             erface")
                             Set oDesktop = oAnsoftApp.GetAppDesktop()
                             oDesktop.RestoreWindow
                             projdir = oDesktop.GetProjectDirectory()
                             msgbox(oDesktop.GetProjectDirectory())
          GetProjectList
Use:                         Returns a list of all projects that are open in the desktop.
Command:                     None
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Syntax:                      GetProjectList()
    Return Value:                An array of strings, the names of all open projects in the desktop.
    Parameters:                  None
    Example:
                                 list_of_projects = oDesktop.GetProjectList()
    Example:
         ------------------------------------------------------
         message box returns list of project names
         ------------------------------------------------------
                                 Dim oAnsoftApp
                                 Dim oDesktop
                                 Dim oProject
                                 Dim oDesign
                                 Dim oEditor
                                 Dim oModule
                                 Dim oProjects
                                 Dim omachine
                                 Dim lpj
                                 Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                                 erface")
                                 Set oDesktop = oAnsoftApp.GetAppDesktop()
                                 oDesktop.RestoreWindow
                                 for each lpj in oDesktop.GetProjectList()
                                      msgbox lpj
                                 next
              GetSysLibDirectory
    Use:                         Informational.
    Command:                     None.
    Syntax:                      GetSysLibDirectory
    Return Value:                The directory path string
    Parameters:                  None
    Example:
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             dim sys
                             sys = oDesktop.GetSysLibDirectory()
Example:
   ------------------------------------------------------
   message box returns system library directory path
   ------------------------------------------------------
                             Dim oAnsoftApp
                             Dim oDesktop
                             Dim oProject
                             Dim oDesign
                             Dim oEditor
                             Dim oModule
                             Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                             erface")
                             Set oDesktop = oAnsoftApp.GetAppDesktop()
                             oDesktop.RestoreWindow
                             sys = oDesktop.GetSysLibDirectory()
                             msgbox(oDesktop.GetSysLibDirectory())
          GetTempDirectory
Use:                         Gets the temp directory path.
Syntax:                      GetTempDirectory
Return Value:                Returns a directory path.
                             Type: <string>
Parameters:                  None
Example:
                             tempdir = oDesktop.GetTempDirectory
Example:
   ------------------------------------------------------
   message box returns temp directory path
   ------------------------------------------------------
                             Dim oAnsoftApp
                             Dim oDesktop
                             Dim oProject
                             Dim oDesign
                             Dim oEditor
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 Dim oModule
                                 Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                                 erface")
                                 Set oDesktop = oAnsoftApp.GetAppDesktop()
                                 oDesktop.RestoreWindow
                                 tempdir = oDesktop.GetTempDirectory()
                                 msgbox(oDesktop.GetTempDirectory())
              GetUserLibDirectory
    Use:                         Informational.
    Command:                     None
    Syntax:                      GetUserLibDirectory
    Return Value:                The directory path string
    Parameters:                  None
    Example:
                                 dim sys
                                 sys = oDesktop.GetUserLibDirectory()
    Example:
         ------------------------------------------------------
         message box returns userlib directory path
         ------------------------------------------------------
                                 Dim oAnsoftApp
                                 Dim oDesktop
                                 Dim oProject
                                 Dim oDesign
                                 Dim oEditor
                                 Dim oModule
                                 Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                                 erface")
                                 Set oDesktop = oAnsoftApp.GetAppDesktop()
                                 oDesktop.RestoreWindow
                                 userlib = oDesktop.GetUserLibDirectory()
                                 msgbox(oDesktop.GetUserLibDirectory())
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          GetVersion
Use:                         Returns a string representing the version.
Syntax:                      GetVersion()
Return Value:                string
Parameters:                  None
Example:
                             msgbox(oDesktop.GetVersion()), displays "10.0"
Example:
   ------------------------------------------------------
   message box displays version number
   ------------------------------------------------------
                             Dim oAnsoftApp
                             Dim oDesktop
                             Dim oProject
                             Dim oDesign
                             Dim oEditor
                             Dim oModule
                             Dim oProjects
                             Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                             erface")
                             Set oDesktop = oAnsoftApp.GetAppDesktop()
                             oDesktop.RestoreWindow
                             msgbox(oDesktop.GetVersion())
          ImportANF
Use:                         Import an ANF file into a new project.
Command:                     File > Import > ANF
Syntax:                      ImportANF<“ANF_filename”>
Return Value:                None
Parameters:                  <“ANF_filename”>
                             Type: text
Example:
                             oDesktop.RestoreWindow()
                             Set oTool = oDesktop.GetTool("ImportExport")
                             oTool.ImportANF("C:/AnsTranslator/results/package 4.anf")
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Example:
         ------------------------------------------------------
         Example shows how to import an ANF file.
         ------------------------------------------------------
                                 Dim oAnsoftApp
                                 Dim oDesktop
                                 Dim oProject
                                 Dim oDesign
                                 Dim oEditor
                                 Dim oModule
                                 Dim oProjects
                                 Dim omachine
                                 Dim oTool
                                 Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                                 erface")
                                 Set oDesktop = oAnsoftApp.GetAppDesktop()
                                 oDesktop.RestoreWindow
                                 Set oTool = oDesktop.GetTool("ImportExport")
                                 oTool.ImportANF("C:\Program Files\AnsysEM\Ansy-
                                 sEM16.0\Win64\Examples\Package\package_board.anf")
              ImportAutoCAD
    Use:                         Import an AutoCAD file into a new project.
    Command:                     File >Import > AutoCAD
    Syntax:                      ImportAutoCAD <“AutoCADfilename”>, <“Controlfilename”>
    Return Value:                None
    Parameters:                  <“AutoCADfilename”>
                                 Type: text
                                 Description: name of the AutoCAD file to import
                                 <“OutputEDBfilename”>
                                 Type: text
                                 Description: name of the EDB file to create during the import.
                                 <“Controlfilename”>
                                 Type: text
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             Description: name of the xml control file to use to guide the import.
                             This string can be empty ("") if no control file is to be used.
Example:
                             Set oTool = oDesktop.GetTool(“ImportExport”)
                             oTool.ImportDXF"a4lines.dxf", "a4lines.aedb.edb"
                             "a4lines.xml"
          ImportGDSII
Use:                         Import a GDSII file into a new project.
Command:                     File > Import > GDSII
Syntax:                      ImportGDSII
                             <"GDSIIfilename">
                             <"OutputEDBfilename">,
                             <"Controlfilename">,
                             <"PropertyMappingfilename">
Return Value:                None
Parameters:                  <"GDSIIfilename">
                             Type: text
                             Description: name of the GDSII file to import
                             <"OutputEDBfilename">
                             Type: text
                             Description: name of the EDB file to create during the import.
                             <"Controlfilename">
                             Type: text
                             Description: name of the xml control file to use to guide the import.
                             This string can be empty ("") if no control file is to be used.
                             <"PropertyMappingfilename">
                             Type: text
                             Description: name of the property mapping file to use to guide the import.
                             This string can be empty ("") if no control file is to be used.
Example:
                             Set oTool = oDesktop.GetTool("ImportExport")
                             oTool.ImportGDSII "test.gds",                                        "test.aedb.edb",
                             "test.xml", "test.txt"
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ImportODB
    Use:                         Import an ODB++ file into a new project.
    Command:                     File > Import > ODB++
    Syntax:                      ImportODB++ <"ODB++filename">,                                         <“OutputEDBfilename>,
                                 <"Controlfilename">
    Return Value:                None
    Parameters:                  <"ODB++filename">
                                 Type: text
                                 Description: name of the ODB++ file to import
                                 <"OutputEDBfilename">
                                 Type: text
                                 Description: name of the EDB file to create during the import.
                                 <"Controlfilename">
                                 Type: text
                                 Description: name of the xml control file to use to guide the import.
                                 This string can be empty ("") if no control file is to be used.
    Example:
                                 Set oTool = oDesktop.GetTool("ImportExport")
                                 oTool.ImportODB "test.tgz", "test.aedb.edb", "test.xml"
              NewProject
    Use:                         Creates a new project. The new project becomes the active project.
    Command:                     File>New
    Syntax:                      NewProject
    Return Value:                An object reference to the newly-added project.
    Parameters:                  None
    Example:
                                 Set oProject = oDesktop.NewProject
    Example:
         ------------------------------------------------------
         Example creates a new project.
         ------------------------------------------------------
                                 Dim oAnsoftApp
                                 Dim oDesktop
                                 Dim oProject
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             Dim oDesign
                             Dim oEditor
                             Dim oModule
                             Dim oProjects
                             Dim omachine
                             Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                             erface")
                             Set oDesktop = oAnsoftApp.GetAppDesktop()
                             oDesktop.RestoreWindow
                             Set oProject = oDesktop.NewProject
          OpenAndConvertProject
Use:                         Opens a legacy project and converts or copies to .aedt format.
Command:                     File>Open, and choose a legacy project.
Return Value:                An object reference to the newly-opened project which has the .aedt
                             extension.
Syntax:                      OpenAndConvertProject(filePath, legacyChoice)
Parameters:                  filePath: full path of the legacy project to open
                             legacyChoice: integer with one of the following values:
                             0: show conversion dialog, (same as File>Open of a legacy file)
                             1: convert, will convert the project/results to project/results with the .aedt
                             extension in the same directory, the original project will no longer be available
                             2: copy, will copy the project/results to a new project/results with the .aedt
                             extension in the same directory, the originals will still be available.
                             Warning: If project file / results with the same name and .aedt extension
                             already exist in the same directory, they will be overwritten.
Example:
                ' convert original to OptimTee.aedt
                set oProject = oDesktop.OpenAndConvertProject("C:/legacy/
                OptimTee.hfss", 1)
          OpenMultipleProjects
Use:                         Opens all files of a specified type in a specified directory.
                                                                                                  Desktop Object Script Commands 4-25
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 <FileType>
                                 Type: <string>
    Example:
                                 oDesktop.OpenMultipleProjects "D:/Projects", "*.hfss"
              OpenProject
    Use:                         Opens a specified project.
    Command:                     File>Open
    Syntax:                      OpenProject <FileName>
    Return Value:                An object reference to the newly-opened project.
    Parameters:                  <FileName>: Full path of the project to open.
                                 Type: <string>
    Example:
                                 oDesktop.OpenProject "D:/Projects/Project1.hfss"
    Example:
         ------------------------------------------------------
         Example opens a specified project.
         ------------------------------------------------------
                                 Dim oAnsoftApp
                                 Dim oDesktop
                                 Dim oProject
                                 Dim oDesign
                                 Dim oEditor
                                 Dim oModule
                                 Dim oProjects
                                 Dim omachine
                                 Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                                 erface")
                                 Set oDesktop = oAnsoftApp.GetAppDesktop()
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             oDesktop.RestoreWindow
                             oDesktop.OpenProject "E:/helical_antenna.hfss"
          PauseScript
Use:                         Pauses the script’s execution and displays a message in a pop-up dialog box
                             to the user. The script execution will not resume until the user clicks
                             Tools>Resume Script.
Command:                     Tools>Pause Script
Syntax:                      PauseScript <Message>
Return Value:                None
Parameters:                  <Message>
                             Type: <string>
Example:
   oDesktop.PauseScript "Text to display in pop-up dialog box"
Example:
   ------------------------------------------------------
   Example pauses a script. Resume script to run it.
   ------------------------------------------------------
                             Dim oAnsoftApp
                             Dim oDesktop
                             Dim oProject
                             Dim oDesign
                             Dim oEditor
                             Dim oModule
                             Dim oProjects
                             Dim omachine
                             Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                             erface")
                             Set oDesktop = oAnsoftApp.GetAppDesktop()
                             oDesktop.RestoreWindow
                             oDesktop.PauseScript "Script is paused. Click OK to con-
                             tinue"
                             Set oProject = oDesktop.NewProject
                             oDesktop.OpenProject "E:/helical_antenna.hfss"
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              Print
    Use:                         Prints the contents of the active view window.
    Command:                     File>Print
    Syntax:                      Print
    Return Value:                None
    Parameters:                  None
    Example:
                                 oDesktop.Print
    Example:
         ------------------------------------------------------
         Example prints the contents of the active window.
         ------------------------------------------------------
                                 Dim oAnsoftApp
                                 Dim oDesktop
                                 Dim oProject
                                 Dim oDesign
                                 Dim oEditor
                                 Dim oModule
                                 Dim oProjects
                                 Dim omachine
                                 Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                                 erface")
                                 Set oDesktop = oAnsoftApp.GetAppDesktop()
                                 oDesktop.RestoreWindow
                                 oDesktop.Print
              QuitApplication
    Use:                         Exits the desktop.
    Command:                     File>Exit
    Syntax:                      QuitApplication
    Return Value:                None
    Parameters:                  None
    Example:
                                 oDesktop.QuitApplication
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
   ------------------------------------------------------
   Example : quit an application.
   ------------------------------------------------------
                             Dim oAnsoftApp
                             Dim oDesktop
                             Dim oProject
                             Dim oDesign
                             Dim oEditor
                             Dim oModule
                             Dim oProjects
                             Dim omachine
                             Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                             erface")
                             Set oDesktop = oAnsoftApp.GetAppDesktop()
                             oDesktop.RestoreWindow
                             oDesktop.QuitApplication
          RestoreWindow
Use:                         Restores a minimized HFSS window.
Command:                     None
Syntax:                      RestoreWindow
Return Value:                None
Parameters:                  None
Example:
                             oDesktop.RestoreWindow
   ------------------------------------------------------
   Example : restores minimized HFSS window.
   ------------------------------------------------------
                             Dim oAnsoftApp
                             Dim oDesktop
                             Dim oProject
                             Dim oDesign
                             Dim oEditor
                             Dim oModule
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 Dim oProjects
                                 Dim omachine
                                 Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                                 erface")
                                 Set oDesktop = oAnsoftApp.GetAppDesktop()
                                 oDesktop.RestoreWindow
              RunProgram
    Use:                         Runs an external program.
    Command:                     None
    Syntax:                      RunProgram <ProgName>, <ProgPath>, <WorkPath>, <ArgArray>
    Return Value:                None
    Parameters:                  <ProgName>
                                 Type: <string>
                                 Name of the program to run.
                           <ProgPath>
                                 Type: <string>
                                 Location of the program. Pass in an empty string to use the system path.
                           <WorkPath>
                                 Type: <string>
                                 Working directory in which program will start.
                           <ArgArray>
                                 Type: Array of strings
                                 Arguments to pass to the program. If no arguments, pass in None.
    Example:
                                 oDesktop.RunProgram "winword.exe", _
                                      "C:\Program Files\Microsoft Office\Office10",_
                                      "", None
              RunScript
    Use:                         Launches another script from within the script currently being executed.
    Command:                     Tools>Run Script
    Syntax:                      RunScript <ScriptPath>
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          SetActiveProject
Use:                         Returns a specified project as the active project in the desktop.
Command:                     None
Syntax:                      SetActiveProject <ProjectName>
Return Value:                The specified project becomes active in the desktop.
Parameters:                  <ProjectName>
                             Type: <string>
Example:
                             Set oProject = oDesktop.SetActiveProject ("Project1")
Example:
   ------------------------------------------------------
   Example sets an existing project as active.
   ------------------------------------------------------
                             Dim oAnsoftApp
                             Dim oDesktop
                                                                                                  Desktop Object Script Commands 4-31
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 Dim oProject
                                 Dim oDesign
                                 Dim oEditor
                                 Dim oModule
                                 Dim oProjects
                                 Dim omachine
                                 Dim lpj
                                 Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                                 erface")
                                 Set oDesktop = oAnsoftApp.GetAppDesktop()
                                 oDesktop.RestoreWindow
                                 Set oProject = oDesktop.SetActiveProject ("Project9")
                                 msgbox "Active Project Set to " + oDesktop.GetActiveProj-
                                 ect().GetName()
              SetActiveProjectByPath
    Use:                         If a user has two projects open with the same name, the result of
                                 SetActiveProject is ambiguous (The first one listed in selected). This
                                 command permits unambiguous specification of the active project.
    Syntax:                      SetActiveProjectByPath()
    Return Value:                The specified project becomes active in the desktop.
    Parameters:                  <fullPathProjectName>
    Example:
         Set oProject = oDesktop.SetActiveProjectByPath("C:\working\tee.hfss")
    Example:
         ------------------------------------------------------
         Example sets an existing project as active by path.
         ------------------------------------------------------
                                 Dim oAnsoftApp
                                 Dim oDesktop
                                 Dim oProject
                                 Dim oDesign
                                 Dim oEditor
                                 Dim oModule
                                 Dim oProjects
                                 Dim omachine
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          SetLibraryDirectory
Use:                         Sets the library directory path. The specified directory must already exist
                             and contain a syslib folder.
Syntax:                      SetLibraryDirectory <DirectoryPath>
Return Value:                None
Parameters:                  <DirectoryPath>
                             Type: <string>
Example:
                             oDesktop.SetLibraryDirectory "c:\libraries"
          SetProjectDirectory
Use:                         Sets the project directory path. The directory will be automatically created
                             if it does not already exist.
Syntax:                      SetProjectDirectory <DirectoryPath>
Return Value:                None
Parameters:                  <DirectoryPath>
                             Type: <string>
Example:
                             oDesktop.SetProjectDirectory "c:\projects"
          SetTempDirectory
Use:                         Sets the temp directory path. The directory will be automatically created if
                             it does not already exist.
Syntax:                      SetTempDirectory <DirectoryPath>
Return Value:                None
Parameters:                  <DirectoryPath>
                             Type: <string>
                                                                                                  Desktop Object Script Commands 4-33
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Example:
                                 oDesktop.SetTempDirectory "c:\temp"
    Example:
         ------------------------------------------------------
         Example sets Temp directory path.
         ------------------------------------------------------
                                 Dim oAnsoftApp
                                 Dim oDesktop
                                 Dim oProject
                                 Dim oDesign
                                 Dim oEditor
                                 Dim oModule
                                 Dim oProjects
                                 Dim omachine
                                 Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                                 erface")
                                 Set oDesktop = oAnsoftApp.GetAppDesktop()
                                 oDesktop.RestoreWindow
                                 oDesktop.SetTempDirectory("C:\temp")
                                 msgbox "Temp Directory Set to " + oDesktop.GetTempDirec-
                                 tory()
              Sleep
    Use:                         Suspends execution of HFSS for the specified number of milliseconds, up to
                                 60,000 milliseconds (1 minute).
    Command:                     none
    Syntax:                      Sleep <TimeInMilliseconds>
    Return Value:                None
    Parameters:                  <TimeInMilliseconds>
                                 Type: <int>
    Example:
                                 oDesktop.Sleep 1000
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
For example, to set the DSO & HPC analysis setup with Python script:
1 In a PC start HFSS go to the DSO and HPC options dialog, create a setup name it as "test"
2 Export the setup to a file c:\tem\test.acf.
3 Copy the exported file to a target PC f:\temp\test.acf.
4 Run the following script.
#import the setup
oDesktop.SetRegistryFromFile("f:\\temp\\test.acf")
# Set Active Setup to "test"
oDesktop.SetRegistryString("Desktop/ActiveDSOConfigurations/HFSS",
"test")
DoesRegistryValueExist
GetRegistryInt
GetRegistryString
SetRegistryFromFile
SetRegistryInt
SetRegistryString
          DoesRegistryValueExist
Use:                         Determine if a registry value exists.
Command:                     None
Syntax:                      DoesRegistryValueExist <KeyName>
Return Value:                Boolean. True if key exists. False otherwise.
Parameters:                  <KeyName> - registry key name with the full path.
Example:
    bExist = oDesktop.DoesRegistryValueExist("Desktop/ActiveDSOConfigura-
    tions/HFSS")
          GetRegistryInt
Use:                         Obtain RegistryKey integer value.
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Command:                     None
    Syntax:                      GetRegistryIn(<KeyName>)
    Return Value:                Integer for success, if the integer value is found. Return as Bad-Argument-
                                 Value, if Registry key does not exist or it is not an integer value.
    Parameters:                  <KeyName>
                                 Registry key name with the full path.
    Example:
    num = oDesktop.GetRegistryInt("Desktop/Settings/ProjectOptions/HFSS/
    UpdateReportsDynamicallyOnEdits")
              GetRegistryString
    Use:                         Obtain RegistryKey string value.
    Command:                     None.
    Syntax:                      GetRegistryString <KeyName> <PVal>
    Return Value:                String for success. Bad argument if they key is not defined or has an integer
                                 value.
    Parameters:                  <KeyName>
                                 Registry key name with the full path.
    Example:
    activeDSO = oDesktop.GetRegistryString("Desktop/ActiveDSOConfigurations/
    HFSS")
              SetRegistryFromFile
    Use:                         Configures a registry by specifying an Analysis Configuration file which must
                                 have been exported from the HPC and Analysis panel.
    Command:                     None.
    Syntax:                      SetRegistryFromFile "<filePath>"
    Return Value:                Success if Analysis configuration is imported. Bad argument value if the file
                                 is not found or does not contain valid analysis configuration data.
    Parameters:                  <filePath>
                                 Full path to an Analysis Configuration file.
    Example:
         oDesktop.SetRegistryFromFile "c:/temp/test.acf"
              SetRegistryInt
    Use:                         Sets a registry key with an integer value.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Command:                     None
Syntax:                      SetRegistryInt "<KeyName>", <int>
Return Value:                Success if the key is defined as an integer. Bad argument value if a key is not
                             defined, or if the value is a text string.
Parameters:                  <KeyName>
                             Registry key name with full path.
                             <int>
                             New integer value.
Example:
   oDesktop.SetRegistryInt "Desktop/Settings/ProjectOptions/HFSS/Updat-
   eReportsDynamicallyOnEdits”, 0
          SetRegistryString
Use:                         Sets a string value for a specified registry key.
Command:                     None.
Syntax:                      SetRegistryString "<KeyPath>" "<val>"
Return Value:                Success, if the key is defined as a text string. Bad argument value if the key
                             is not defined or requires an integer value.
Parameters:                  <KeyName>
                             Registry key name with full path.
                             <val>
                             New string value.
Example:
   oDesktop.SetRegistryString "Desktop/ActiveDSOConfigurations/HFSS",
   "Local"
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
5                   Project Object Script
                 Commands
                       Close
                       CopyDesign
                       CutDesign
                       DeleteDesign
                       GetActiveDesign
                       GetDesign
                       GetName [Project]
                       GetPath
                       GetTopDesignList
                       InsertDesign
                       Paste
                       Redo
                       Save
                       SaveAs
                       SetActiveDesign
                       SimulateAll
                       Undo
    ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                        of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              Close
    Use:                         Closes the active project. Unsaved changes will be lost.
    Command:                     None
    Syntax:                      Close
    Return Value:                None
    Parameters:                  None
    Example:
                                 oProject.Close
              CopyDesign
    Use:                         Copies a design.
    Command:                     Edit>Copy
    Syntax:                      CopyDesign <DesignName>
    Return Value:                None
    Example:
                                 oProject.CopyDesign "HFSSDesign1"
    Example:
         ------------------------------------------------------
         Example Script
         ------------------------------------------------------
                                 Dim oAnsoftApp
                                 Dim oDesktop
                                 Dim oProject
                                 Dim oDesign
                                 Dim oEditor
                                 Dim oModule
                                 Dim oProjects
                                 Dim omachine
                                 Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                                 erface")
                                 Set oDesktop = oAnsoftApp.GetAppDesktop()
                                 oDesktop.RestoreWindow
                                 Set oProject = oDesktop.GetActiveProject()
                                 oProject.CopyDesign "Differential"
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          CutDesign
Use:                         Cuts a design from the active project. The design is stored in memory and
                             can be pasted in any HFSS or Q3D Extractor project.
Command:                     Edit>Cut
Syntax:                      CutDesign <DesignName>
Return Value:                None
Example:
                             oProject.CutDesign "HFSSDesign1"
Example:
                             oProject.CutDesign "Q3DDesign1"
            Warning           This is a legacy command that is no longer supported and should not be
                              used as it may have unintended effects on solved designs.
          DeleteDesign
Use:                         Deletes a specified design in the project.
Command:                     Edit>Delete
Syntax:                      DeleteDesign <DesignName>
Return Value:                None
Example:
                             oProject.DeleteDesign "HFSSDesign2"
          GetActiveDesign
Use:                         Returns the design in the active project.
Command:                     None
Syntax:                      GetActiveDesign
Return Value:                The active design.
Parameters:                  None
Example:
                             Set oDesign = oProject.GetActiveDesign ()
          GetDesign
Use:                         Returns the specified design.
                                                                                                     Project Object Script Commands 5-3
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Command:                     None
    Syntax:                      GetDesign <DesignName>
    Return Value:                The specified design.
    Parameters:                  <DesignName>
                                 Type: <string>
                                 Name of the design to return.
    Example:
                                 Set oDesign = oProject.GetDesign ("HFSSDesign1")
              GetName [Project]
    Use:                         Returns the project name.
    Command:                     None
    Syntax:                      GetName
    Return Value:                The active project’s name.
    Parameters:                  None
    Example:
                                 name = oProject.GetName ()
              GetPath
    Use:                         Returns the location of the project on disk.
    Command:                     None
    Syntax:                      GetPath
    Return Value:                The path to the project, which does not include the project name.
    Parameters:                  None
    Example:
                                 path = oProject.GetPath ()
              GetTopDesignList
    Use:                         Returns a list of the names of the top-level designs.
    Command:                     None
    Syntax:                      GetTopDesignList
    Return Value:                An array of strings that are the names of the top-level designs. Returns null
                                 if there are no top level designs.
    Parameters:                  None
    Example:
5-4 Project Object Script Commands
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
name_list = oProject.GetTopDesignList ()
          InsertDesign
Use:                         Inserts a new design in the project. In HFSS scripts, the last argument will
                             always be empty.
Command:                     Project>Insert HFSS Design
Syntax:                      InsertDesign "HFSS", <DesignName>, <SolutionType>, ""
Return Value:                Object
Parameters:                  <DesignName>
                             Type: <string>
                             Name of the new design.
                       <SolutionType>
                             Type: <string>
                             Solution type of the new design. Can be "DrivenModal",
                             "DrivenTerminal", or "Eigenmode".
Example:
   Set oDesign = oProject.InsertDesign("HFSS", "HFSSDesign3",_
                             "DrivenModal", "")
For Insert EMDesigns, Insert Circuit NetList Design, and Insert Filter Design items the com-
mand details are as follows.
Use:                         Inserts a new design in the project. In Designer scripts, the last argument will always
                             be empty.
Command:                     Project>Insert Designer Design
Syntax:                      InsertDesign <DesignType>, <DesignName>, <TechnologyFile>:<SubCircuitID>,“”
Return Value:                None.
Parameters:
                             <DesignType>
                             Type: <string>
                             Possible Values:
                             “Circuit”, “Nexxim Circuit”, “System”, “Nexxim Netlist”, “Planar EM”
                             <DesignName>
                             Type: <string>
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 <TechnologyFile>:<SubCircuitID>
                                 Type: <string>
              The path to the Designer technology file to be used in this design. Use a pair of empty double
              quotes (““) for none. <SubCircuitID> is optional and must be preceded by a colon if included along
              with the Technology File name. No colon is necessary when the subcircuit ID is omitted.
              Paste [Design]
    Use:                         Pastes a design in the active project.
    Command:                     Edit>Paste
    Syntax:                      Paste
    Return Value:                None
    Parameters:                  None
    Example:
                                 oProject.Paste
    Example:
         ------------------------------------------------------
         Example Script
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
   ------------------------------------------------------
                             Dim oAnsoftApp
                             Dim oDesktop
                             Dim oProject
                             Dim oDesign
                             Dim oEditor
                             Dim oModule
                             Dim oProjects
                             Dim omachine
                             Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInt-
                             erface")
                             Set oDesktop = oAnsoftApp.GetAppDesktop()
                             oDesktop.RestoreWindow
                             Set oProject = oDesktop.GetActiveProject()
                             oProject.CopyDesign "Differential"
                             oProject.Paste
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              Save
    Use:                         Saves the active project.
    Command:                     File>Save
    Syntax:                      Save
    Return Value:                None
    Parameters:                  None
    Example:
                                 oProject.Save
              SaveAs
    Use:                         Saves the project under a new name.
    Command:                     File>Save As
    Syntax:                      SaveAs <FileName> <OverWrite>
    Return Value:                None
    Parameters:                  <FileName>
                                 Type: <string>
                                 New name for the file.
                           <OverWrite>
                                 Type: <bool>
                                 Set to true if an existing project by that name should be overwritten.
    Example:
                                 oProject.SaveAs "D:/projects/project1.hfss", true
For Schematic and Layout editor related projects SaveAs functions as follows.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
                         <OverWrite>
                         Type: <bool>
                         Set to true if an existing project by that name should be overwritten
                         <DefaultAction>
                         Type: <string>
                         Set to one of the following action strings: ef_overwrite , ef_copy_no_overwrite, ef_-
                         make_path_absolute or empty string
                         <OverrideActions>
                         Type: Array("Name: OverrideActions", <Files>, <Files>, ...)
                         <Files>
                         Type: Array("Name: <Action>", <FileName>, <FileName>, ...)
                         <DAction>
                         Type: <string>
                         Set to one of the following action strings: ef_overwrite , ef_copy_no_overwrite, ef_-
                         make_path_absolute or empty string
Example:
                         oProject.SaveAs
                           "F:\Designer Projects\TA33097\HighSpeedChannel.adsn",
                         true, "ef_overwrite", Array("NAME:OverrideActions",
                         Array("NAME:ef_copy_no_overwrite",
                         Array("NAME:Files","$PROJECTDIR/circuit_models.inc")),
                         Array("NAME:ef_make_path_absolute",
                         Array("NAME:Files","$PROJECTDIR\SL_6s.sp")))
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
               Note        The Action and DefaultAction strings correspond to the following actions:
                                  •     ef_overwrite — Copy File to New Project Directory and Overwrite
                                  •     ef_copy_no_overwrite — Copy File to New Project Directory and Don't
                                        Overwrite
                                  •     ef_make_path_absolute — Change Reference to Point to File in Old
                                        Project Directory
                                  •     empty string — Do Nothing
                           The DefaultAction is applied to all files that are NOT explicitly listed in the
                           OverrideActions array. Those in the OverrideActions array are separate arrays for
                           actions that are different from the default action; those actions are applied to the files
                           listed in the same array:
                                  •     If OverrideActions are not specified, then DefaultAction is applied to ALL
                                        files in project directory.
                                  •     If DefaultAction is not specified, then nothing is done (action is Do
                                        Nothing).
              SetActiveDesign
    Use:                         Sets a new design to be the active design.
    Command:                     None
    Syntax:                      SetActiveDesign <DesignName>
    Return Value:                The named design becomes active.
    Parameters:                  <DesignName>
                                 Type: <string>
                                 Name of the design to set as the active design.
    Example:
                                 Set oDesign = oProject.SetActiveDesign ("HFSSDesign2")
              SimulateAll
    Use:                         Runs the SimulateAll project-level script command from the script,
                                 which will simulate all HFSS solution setups and Optimetrics setups for all
                                 design instances in the project.
    Command:                     None
    Syntax:                      None
5-10 Project Object Script Commands
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          Undo [Project]
Use:                         Cancels the last project level command.
Command:                     Edit>Undo
Syntax:                      Undo
Return Value:                None
Parameters:                  None
Example:
                             oProject.Undo
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
6                                 Material Script Commands
                       AddMaterial
                       CloneMaterial
                       DoesMaterialExist
                       EditMaterials
                       ExportMaterial
                       RemoveMaterial
    ANSYS Electromagnetics Suite 16.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                        of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              AddMaterial
    Use:                         Adds a local material.
    Command:                     Add Material command in the material editor.
    Syntax:                      AddMaterial Array("NAME:<MaterialName>",
                                      <MatProperty>, <MatProperty>, ...)
    Return Value:                None
    Parameters:                  <MatProperty> (simple material)
                                      "<PropertyName>:=", <value>
                                 <PropertyName>
                                 Type: <string>
                                 Should be one of the following: "permittivity",
                                      "permeability", "conductivity"
                                      "dielectric_loss_tangent",
                                      "magnetic_loss_tangent", "saturation_mag",
                                      "lande_g_factor", "delta_H"
                                 property_type
                                 Type: <string>
                                 Should be "AnisoProperty".
                                 unit
                                 Type: <string>
                                 Possible values:
                                 delta_H: "Oe"
                                 saturation_mag: "Gauss", "uGauss", "Tesla",                                                   "uTesla"
                                 other properties: "" (empty string)
              ANSYS Electromagnetics Suite 16.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
Example:
                          Set oDefinitionManager = oProject.GetDefinitionManager()
                          oDefinitionManager.AddMaterial Array("NAME:Material2",_
                               "dielectric_loss_tangent:=", "44",
                               Array("NAME:saturation_mag",_
                                     "property_type:=", "AnisoProperty",_
                                     "unit:=", "Gauss",_
                                     "component1:=", "11", _
                                     "component2:=", "22", _
                                     "component3:=", "33"), _
                               "delta_H:=", "44Oe")
       ANSYS Electromagnetics Suite 16.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              CloneMaterial
    Use:                         Clones a local material.
    Command:                     None
    Syntax:                      CloneMaterial(<name>, <newName>)
    Return Value:                True if Material is cloned successfully. False if the existing material is not
                                 found or if there is a name conflict with the new material name.
    Parameters:                  name
                                 Type: <string>
                                 Existing material name.
                                 <newName>
                                 Type: <string>
                                 The new material name for newly cloned material.
    Example:
         Dim oAnsoftApp
         Dim oDesktop
         Dim oProject
         Dim oDesign
         Dim oEditor
         Dim oModule
         Set oAnsoftApp = CreateObject("Ansoft.ElectronicsDesktop")
         Set oDesktop = oAnsoftApp.GetAppDesktop()
         oDesktop.RestoreWindow
         Set oProject = oDesktop.SetActiveProject("Project1")
         Set oDefinitionManager = oProject.GetDefinitionManager()
         oDefinitionManager.CloneMaterial("copper1", "copper3")
              DoesMaterialExist
    Use:                         Checks for the presence of a material in the library by name
    Command:                     None
    Syntax:                      DoesMaterialExist(<MaterialName>)
    Return Value:                Boolean
    Parameters:                  <materialName>
                                 Type: <string>
                                 Name of the material to search for in the material database
    Example:
              ANSYS Electromagnetics Suite 16.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
       ANSYS Electromagnetics Suite 16.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              EditMaterial
    Use:                         Modifies an existing material.
    Command:                     View/Edit Materials command in the material editor.
    Syntax:                      EditMaterial <OriginalName>, Array("NAME:<NewName>",
                                      <MatProperty>, <MatProperty>, ...)
    Return Value:                None
    Parameters:                  <OriginalName>
                                 Type: <string>
                                 Name of the material before editing.
                                 <NewName>
                                 Type: <string>
                                 New name for the material.
              ExportMaterial
    Use:                         Exports a local material to a library.
    Command:                     Export to Library command in the material editor.
    Syntax:                      ExportMaterial <ExportData>, <Library location>
    Return Value:                None
    Parameters:                  <ExportData>
                                      Array("NAME:<LibraryName>",
                                            <MaterialName>, <MaterialName>, ...)
    Example:
                                 oProject.ExportMaterial Array("NAME:mo0907b",_
                                      "Material1", "Material2", "Material3"),_
                                      "UserLib"
              RemoveMaterial
    Use:                         Removes a material from a library.
    Command:                     Remove Material(s) command in the material editor.
    Syntax:                      RemoveMaterial <MaterialName>, <IsProjectMaterial>,
                                         <LibraryName>, <LibraryLocation>
    Return Value:                None
    Parameters:                  <MaterialName>
                                 Type: <string>
                                 Name of the material to be removed.
6-6 Material Script Commands
              ANSYS Electromagnetics Suite 16.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
                         <IsProjectMaterial>
                         Type: <bool>
                         If true, HFSS (or Q3D Extractor)assumes the material is a project material. In this
                         case, the last two parameters will be ignored.
                         <LibraryName>
                         Type: <string>
                         The name of the user or personal library where the material resides.
                         <LibraryLocation>
                         Type: <string>
                         Should be "UserLib" or "PersonalLib".
Example:
   oProject.RemoveMaterial "Material1", false, "mo0907", "UserLib"
   oProject.RemoveMaterial "Material1", true, "Local", "Project"
      ANSYS Electromagnetics Suite 16.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
7                                 Property Script Commands
    ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                        of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                <PropTab>
                                     "ProjectVariableTab"
                                <PropTab>
                                     "LocalVariableTab"
                                Passed Parameters
                                <PropServer>
                                     "Instance:<name of circuit instance>"
                                <PropTab>
                                     "PassedParameter Tab"
                                Definition Parameters
                                <PropServer>
                                     "DefinitionParameters"
                                <PropTab>
                                     "DefinitionParameters"
                          Modules and Editors
                                <PropServer>
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   <PropTab>
                   Boundary module: "HfssTab"
                   Mesh Operations module: "MeshSetupTab"
                   Analysis module: "HfssTab"
                   Optimetrics module: "OptimetricsTab"
                   Solutions module: Does not support properties.
                   Field Overlays module: "FieldsPostProcessorTab"
                   Radiation module: "RadFieldSetupTab"
                   Circuit module: “CCircuitTab”
                   System module: “SystemTab”
                   PlanarEM module: “PlanarEMTab”
                   Nexxim module: “NexximTab”
                   Layout elements: “BaseElementTab”
                   Schematic elements: “ComponentTab”
                   Optimetrics module: “OptimetricsTab”
                   <PropTab>
                        "Geometry3DAttributeTab"
             Operation on an object:
                   <PropServer>
                   Format is <ObjName>:<OperationName>:<int>
                   Concatenation of object name, operation name, and the index of the operation.
                   For example: "Box2:CreateBox:2" refers to the second
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                <PropTab>
                                     "Geometry3DCmdTab"
                          Reporter
                          Operations on Report properties:
                          Format is <ReportSetup>
                          For example, to set the Company Name in the plot header to “My Company”:
                                     Set oModule = oDesign.GetModule("ReportSetup")
                                     oModule.ChangeProperty Array("NAME:AllTabs",_
                                     Array("NAME:Header",_ Array("NAME:PropServers",_
                                     "XY Plot1:Header"), Array("NAME:ChangedProps",_
                                     Array("NAME:Company Name", "Value:=", "My Company"))))
    Note: For scripted property changes in the various modules and editors, refer to the chapters on
    the System, PlanarEM, and Nexxim tools, as well as the Layout and Schematic editors.
             Callback Scripting Using PropHost Object
    Callback scripts are scripts that can be set in the Property Dialog for individual properties by
    clicking the button in the Callback column and choosing a script that is saved with the project.
    Callback scripts can contain any legal script commands including general ANSYS script function
    calls ( e.g., GetApplicationName() ). In addition, Callback scripts can also call functions on a
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
special object named PropHost. The PropHost represents the PropServer (owner of properties)
that contains the Property that is calling the Callback script. Therefore, the Callback script can
use the PropHost's functions to query or set other properties in the same PropServer.
                          Definitions
                               <propName> = text string
                               <value> = double
                               <valueText> = text string
                               <fileName> = full path file name
                               <choices> = string containing menu choices separated by
                               commas
                               <initialChoice> = string containing initial choice for
                               menu; must be one of the <choices>
                               <scriptName> = string containing name of script stored
                               in project
                               <bool> is 1 for true or 0 for false
1 MenuProp Menu
2 CheckboxProp Checkbox
3 VariableProp Variable
4 VPointProp VPoint
5 V3DPointProp V3DPoint
6 NumberProp Number
7 ColorProp Color
8 PointProp Point
9 ValueProp Value
10 ButtonProp Button
11 SeparatorProp Separator
       ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
12 NetlistProp Netlist
13 FileNameProp FileName
4 ProjectVariableTab Projects
5 ConstantsTab Projects
8 PropertyTab
9 CircuitTab
10 SystemTab
11 PlanarEMTab
14 AltraSimTab
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
15 Report3DTab Report3d
16 FieldsPostProcessorTab Fieldspostprocessor
19 Geometry3DAttributeTab Geometry3D
20 Geometry3DCmdTab Geometry3D
21 Geometry3DPolylineTab Geometry3D
22 Geometry3DCSTab Geometry3D
23 Geometry3DPlaneTab Geometry3D
24 Geometry3DPointTab Geometry3D
25 Geometry3DListTab Geometry3D
26 StandardPropTab
27 PropDisplayPropTab
28 CustomPropTab
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    ChangeProperty
    Different forms of this command are documented for HFSS as well Schematic and Layout Editors.
    Use:                         Changes to properties are scripted using the ChangeProperty command.
                                 This command can be executed by the oEditor to change editor
                                 properites, by the oDesign to change design level properties, and by the
                                 oProject to change project level properties. The command can be used to
                                 create, edit, and/or remove properties. In HFSS, only Variable and
                                 Separator properties can be deleted.
                           Use the script recording feature and edit a property, and then view the resulting script
                           entry or use GetPropertyValue for the desired property to see the expected format.
    Command:                     None
    Syntax:                      ChangeProperty Array("Name:AllTabs", <PropTabArray>,
                                 <PropTabArray>, ...)
                           ChangeProperty(<modulename>:<setup name>:<sweep name>)
    Return Value:                None
    Parameters:                  <PropTabArray>
                                      Array("Name:<PropTab>",
                                            <PropServersArray>,
                                            <NewPropsArray>,
                                            <ChangedPropsArray>,
                                            <DeletedPropsArray>)
                                 <PropServersArray>
                                      Array("Name:PropServers", <PropServer>,
                                      <PropServer>, ...)
                                 <NewPropsArray>
                                      Array("Name:NewProps", <PropDataArray>,
                                      <PropDataArray>,...)
                                 <ChangedPropsArray>
                                      Array("Name:ChangedProps",<PropDataArray>,
                                      <PropDataArray>, ...)
                                 <DeletedPropsArray>
                                      Array("Name:DeletedProps", <PropName>,
                                      <PropName>, ...)
7-8 Property Script Commands
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   <PropDataArray>
                        Array("NAME:<PropName>",
                              "PropType:=", <PropType>,
                              "NewName:=", <string>,
                              "Description:=", <string>,
                              "NewRowPosition:=", <int>,
                              "ReadOnly:=", <bool>,
                              "Hidden:=", <bool>,
                              <PropTypeSpecificArgs>)
                   <PropType>
                   Type: string
                   Identifies the type of property when a new property is added. In HFSS, only separator
                   properties and variable properties can be added.
                        "SeparatorProp"
                        "VariableProp"
                        "TextProp"
                        "NumberProp"
                        "ValueProp"
                        "CheckboxProp"
                        "MenuProp"
                        "PointProp"
                        "VPointProp"
                        "V3DPointProp"
                        "ButtonProp"
                   NewName
                   Specify the new name of a property if the property’s name is being edited. In HFSS,
                   the name can only be changed for separators and variables.
                   Description
                   Specify a description of the property. In HFSS, the description can only be changed
                   for separators and variables.
NewRowPosition
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                Used to reorder rows in the Property dialog box. In HFSS, this only applies to the
                                Project>Project Variables panel and the Hfss>Design Properties panel. Spec-
                                ify the new zero-based row index of the variable or separator.
                                ReadOnly
                                Used to mark a property as "read only" so it can not be modified. In HFSS, this flag
                                can only be set for variables and separators.
                                Hidden
                                Used to hide a property so it can not be viewed outside of the Property dialog box.
                                In HFSS, this flag can only be set for variables and separators.
                                <PropTypeSpecificArgs>
                                     SeparatorProp: no arguments
                                     TextProp: "Value:=", <string>
                                     NumberProp: "Value:=", <double>
                                     ValueProp: "Value:=", <value>
                                     CheckboxProp: "Value:=", <bool>
                                     MenuProp: "Value:=", <string>
                                     PointProp"X:=", <double>, "Y:=", <double>
                                     VPointProp: "X:=", <value>, "Y:=", <value>
                                     V3DPointProp: "X:=",<value>, "Y:=",<value>,
                                           "Z:=",<value>
                                     Material Button: "Material:=", <string>
                                     Color Button: "R:=",<int>,"G:=",<int>,"B:=",<int>
                                     Transparency Button:"Value:=", <double>
                                Parameters:
                                           <OptimizationFlagsArray>
                                                Array("NAME:Optimization",
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                                        "Included:=", <bool>,
                                        "Min:=", <value>,
                                        "Max:=", <value>)
                              <Tuning flagsArray>
                                   Array("NAME:Tuning",
                                        "Included:=", <bool>,
                                        "Step:=", <value>,
                                        "Min:=", <value>,
                                        "Max:=", <value>)
                              <SensitivityFlagsArray>
                                   Array("NAME:Sensitivity",
                                        "Included:=", <bool>,
                                        "Min:=", <value>,
                                        "Max:=", <value>,
                                        "IDisp:=", <value> )
                              <StatisticsFlagsArray>
                                   Array("NAME:Statistical",
                                        "Included:=", <bool>,
                                        "Dist:=", <Distribution>,
                                        "StdD:=", <value>,
                                        "Min:=", <value>,
                                        "Max:=", <value>,
                                        "Tol:=", <string>)
                   <Distribution>
                   Type: string
                   Value should be "Gaussian" or "Uniform"
                   StdD
                   Standard deviation.
Min
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                Max
                                High cut-off for the distribution.
                                Tol
                                Tolerance for uniform distributions. Format is "<int>%".
                                Example: "20%".
    Example:                    Changing a property’s value. If the following command were executed, then
                                the value of the property "XSize" of the PropServer
                                "Box1:CreateBox:1" on the "Geometry3DCmdTab" tab would be
                                changed. (oEditor is the Geometry3D editor in HFSS.)
                                oEditor.ChangeProperty Array("NAME:AllTabs",_
                                     Array("NAME:Geometry3DCmdTab",_
                                                Array("NAME:PropServers","Box1:CreateBox:1"),_
                                                Array("NAME:ChangedProps",_
                                                     Array("NAME:XSize", "Value:=", "1.4mil"))))
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                               Introduction to Scripting in ANSYS Electronics Desktop
   Example:                     Changing the Company Name, Design Name, the background color, and the
                                Axis scaling in a Report.
      Set oProject = oDesktop.SetActiveProject("wgcombiner")
      Set oDesign = oProject.SetActiveDesign("HFSSDesign2")
      Set oModule = oDesign.GetModule("ReportSetup")
      oModule.ChangeProperty Array("NAME:AllTabs", Array("NAME:Header", _
      Array("NAME:PropServers", "XY Plot1:Header"), _
      Array("NAME:ChangedProps", Array("NAME:Company Name", _
      "Value:=", "My Company"))))
      oModule.ChangeProperty Array("NAME:AllTabs", Array("NAME:Header",_
      Array("NAME:PropServers", "XY Plot1:Header"), _
      Array("NAME:ChangedProps", Array("NAME:Design Name", _
      "Value:=", "WG Combiner"))))
      oModule.ChangeProperty Array("NAME:AllTabs", Array("NAME:General",_
      Array("NAME:PropServers", "XY Plot1:General"), _
      Array("NAME:ChangedProps", Array("NAME:Back Color", _
      "R:=", 128, "G:=", 255, "B:=", 255))))
      oModule.ChangeProperty Array("NAME:AllTabs", Array("NAME:Axis", _
      Array("NAME:PropServers", "XY Plot1:AxisX"), _
      Array("NAME:ChangedProps", Array("NAME:Axis Scaling", _
      "Value:=", "Log"))))
For Schematic Editor and Layout Editor, the ChangeProperty command details are as
follows:
   Use:                         Changes to properties are scripted using the ChangeProperty command. This
                                command can be executed by the oEditor to change editor properties, by the oDesign
                                to change design level properties, and by the oProject to change project level
                                properties. The command can be used to create, edit, and/or remove properties. In
                                Designer, only Variable and Separator properties can be deleted.
   Command:                     None
   Syntax:                      ChangeProperty Array(“Name:AllTabs”, <PropTabArray>,
                                <PropTabArray>, ...)
   Return Value:                None
   Parameters:                  <PropTabArray>
                                     Array(“Name:<PropTab>”,
                                     <PropServersArray>,
                                     <NewPropsArray>,
                                     <ChangedPropsArray>,
                                                                                                              Property Script Commands 7-13
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
<DeletedPropsArray>)
                                <PropServersArray>
                                     Array(“Name:PropServers”, <PropServer>,
                                <PropServer>, ...)
                                <NewPropsArray>
                                     Array(“Name:NewProps”, <PropDataArray>,
                                <PropDataArray>,...)
                                <ChangedPropsArray>
                                     Array(“Name:ChangedProps”,<PropDataArray>,
                                <PropDataArray>, ...)
                                     <DeletedPropsArray>
                                     Array(“Name:DeletedProps”, <PropName>,
                                <PropName>, ...)
                                OR (for PropDisplay deletions only)
                                     Array("Name:DeletedProps",<PropDataArray>,
                                <PropDataArray>, ...)
                                <PropDataArray>
                                Array("NAME:<PropName>",
                                           “PropType:=”, <PropType>,
                                           “NewName:=”, <string>,
                                           “Description:=”, <string>,
                                           “Callback:=”, <string>,
                                           “NewRowPosition:=”, <int>,
                                           “ReadOnly:=”, <bool>,
                                           “Hidden:=”, <bool>,
                                <PropTypeSpecificArgs>)OR (for PropDisplays only)
                                Array("Name:<PropName>",<PropDisplayData>)
<PropDisplayData>
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                          Introduction to Scripting in ANSYS Electronics Desktop
                           <PropDisplayAttributes>
                           Layer & Location only used for PropDisplays in layout
For adding PropDisplays, this will add a single PropDisplay with attributes as shown; if an attri-
bute is missing, a default value will be assigned. Adding PropDisplay to schematic with attri-
butes that are identical to one already existing there will fail without an error message.
For deleting PropDisplays, these attributes are used to identify an existing PropDisplay to
delete. If there doesn't exist a PropDisplay that matches the given attributes, then nothing will
be deleted. If multiple PropDisplays match the given attributes, then all of them will be
deleted. If an attribute is missing, then all PropDisplays match that missing attribute. For exam-
ple, if Layer is missing, then PropDisplays on all layers that match the remaining given attributes
will be deleted.
For changing PropDisplays, these attributes are used to identify an existing PropDisplay to
change. If no PropDisplay matching the attributes is found, no changes will be made. If multiple
PropDisplays match the attributes, all of them will be changed. If an attribute is missing, it
matches all PropDisplays. For example, to change the format of PropDisplays that are on the
bottom, but have any layer, style or format to show the name only, this command should have
Location set to "Bottom" and all other attributes omitted.
                           "Format:=", <PropDisplayType>,
                           "Location:=", <PropDisplayLocation>,
                           "Layer:=", <string>,
                           "Style:=", <string>
<PropDisplayNewAttributes>
        ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                            of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                "NewName:=", <string>,
                                "NewFormat:=", <PropDisplayType>,
                                "NewLocation:=", <PropDisplayLocation>,
                                "NewLayer:=", <string>,
                                "NewStyle:=", <string>
                                <PropDisplayType>
                                     Type: string
                                Identifies the format of PropDisplay.
                                "Name"
                                "Value"
                                "NameAndValue"
                                "EvaluatedValue"
                                "NameAndEvaluatedValue"
                                <PropDisplayLocation>
                                     Type: string
                                Identifies where PropDisplay is located with respect to object
                                "Left"
                                "Top"
                                "Right"
                                "Bottom"
                                "Custom"
                                <PropType>
                                Type: string
                                Identifies the type of property when a new property is added. In Designer, only sep-
                                arator properties and variable properties can be added.
                                "SeparatorProp"
                                "VariableProp"
                                "TextProp”
                                "NumberProp"
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   "ValueProp"
                   "CheckboxProp"
                   "MenuProp”
                   "PointProp"
                   "VPointProp"
                   "ButtonProp"
                   NewName
                   Specify the new name of a property if the property’s name is being edited. In
                   Designer, the name can only be changed for separators and variables.
                   Description
                   Specify a description of the property. In Designer, the description can only be
                   changed for separators and variables.
                   Callback
                   Specify the name of the script callback to be run when the property value is changed.
                   NewRowPosition
                   Used to reorder rows in the Property dialog box. In Designer, this only applies to the
                   Project>Project Variables panel and the Designer>Design Properties panel. Specify
                   the new zero-based row index of the variable or separator.
                   ReadOnly
                   Used to mark a property as “read only” so it can not be modified. In Designer, this
                   flag can only be set for variables and separators.
                   Hidden
                   Used to hide a property so it can not be viewed outside of the Property dialog box. In
                   Designer, this flag can only be set for variables and separators.
                   <PropTypeSpecificArgs>
                   SeparatorProp: no arguments
                   TextProp: “Value:=”, <string>
                   NumberProp: “Value:=”, <double>
                   ValueProp: “Value:=”, <value>
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                Parameters:
                                <OptimizationFlagsArray>
                                Array("NAME:Optimization",
                                     "Included:=", <bool>,
                                     "Min:=", <value>,
                                     "Max:=", <value>)
                                <TuningFlagsArray>
                                Array("NAME:Tuning",
                                     "Included:=", <bool>,
                                     "Step:=", <value>,
                                     "Min:=", <value>,
                                     "Max:=", <value>)
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
                              <SensitivityFlagsArray>
                         Array("NAME:Sensitivity",
                              "Included:=", <bool>,
                              "Min:=", <value>,
                              "Max:=", <value>,
                              "IDisp:=", <value> )
                         <StatisticsFlagsArray>
                         Array(“NAME:Statistical”,
                              “Included:=”, <bool>,
                              “Dist:=”, <Distribution>,
                              “StdD:=”, <value>,
                              “Min:=”, <value>,
                              “Max:=”, <value>,
                              “Tol:=”, <string>)
                         <Distribution>
                         Type: string
                         Value should be “Gaussian” or “Uniform”
                         StdD
                         Standard deviation.
                         Min
                         Low cut-off for the distribution.
                         Max
                         High cut-off for the distribution.
                         Tol
                         Tolerance for uniform distributions. Format is “<int>%”.
                         Example: “20%”.
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                oProject.ChangeProperty Array("NAME:AllTabs",_
                                Array("NAME:ProjectVariableTab",_
                                Array("NAME:PropServers", "ProjectVariables"),_
                                Array("NAME:NewProps",_
                                Array("NAME:$width",_
                                "PropType:=", "VariableProp",_
                                "Value:=", "3mm",_
                                “Description:=”, “my new variable”))))
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    PropHost Functions
    Following commands can be used to manipulate properties from a Property script.
              Abort
    Use:                         Aborts the specified design simulation.
    Command:                     None
    Syntax:                      Abort(<designName>)
    Return Value:                String
    Example:                     a = PropHost.Abort(<designName>);
              AddMenuProp
    Use:                         Creates a new Menu property in tabType with name specified; choices are
                                 set to the values in choices; initial selection is initialChoice.
    Command:                     None
    Syntax:                      AddMenuProp(<tabType>, <propName>, <choices>,
                                 <initialChoice>)
    Return Value:                None.
    Example:                     PropHost.AddProp(2, "ResChoices",
                                 "inline,upfront,parallel,series", "parallel"); creates a
                                 new MenuProp in the DefinitionParameters tab named
                                 ResChoices with choices inline, upfront, parallel, and
                                 series. The initial choice shown in the Menu is
                                 "parallel"
              AddMenuProp2
    Use:                         Creates a new Menu property in tabTypeName with name specified; choices
                                 are set to the values in choices; initial selection is initialChoice.
    Command:                     None
    Syntax:                      AddMenuProp2(<tabTypeName>, <propName>, <choices>,
                                 <initialChoice>)
    Return Value:                None.
    Example:                     PropHost.AddMenuProp2("DefinitionParameterTab",
                                 "ResChoices", "inline,upfront,parallel,series",
                                 "parallel"); creates a new MenuProp in the
                                 DefinitionParameters tab named ResChoices with choices
                                 inline, upfront, parallel, and series. The initial choice
                                 shown in the Menu is "parallel".
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          AddProp
Use:                         Creates a new propType property in tabType with name and value specified.
Command:                     None
Syntax:                      AddProp(<tabType>, <propType>, <propName>, <valueText>)
Return Value:                None.
Example:                     PropHost.AddProp(2, 3, "W1", "10mm"); creates a new
                             VariableProp in the DefinitionParameters tab named W1
                             with value 10mm.
       Note      AddProp adds a new property using the <propName> preceded by a separator “--”. For
                 instance, a new property added with the <propName> “xxx” will be added with the name "--
                 xxx". Consequently, all subsequent script functions that wish to access the added property
                 must now use the name "--xxx".
                 For example:
                 PropHost.AddProp 1, 11, "Time_Domain_Options",""
                 Prophost.SetHidden "--Time_Domain_Options",1
          AddProp2
Use:                         Creates a new propTypeName property in tabTypeName with name and
                             value specified.
Command:                     None
Syntax:                      AddProp2(<tabTypeName>, <propTypeName>, <propName>,
                             <valueText>)
Return Value:                None.
Example:                     PropHost.AddProp2(("DefinitionParameterTab",
                             "VariableProp", "W1", "10mm"); creates a new VariableProp
                             in the DefinitionParameters tab named W1 with value 10mm.
          ExecuteScript
Use:                         Finds the named script in the Definitions/Scripts folder and runs that script;
                             the script being run can also use the PropHost object.
Command:                     None
Syntax:                      ExecuteScript(<scriptName>)
Return Value:                None.
                                                                                                           Property Script Commands 7-23
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              GetApplication
    Use:                         Returns the application object currently running the script.
    Command:                     None
    Syntax:                      GetApplication()
    Return Value:                Application object.
    Example:                     Set a = PropHost.GetApplication(); returns currently
                                 running application.
              GetCallback
    Use:                         Finds named property and returns name of Callback script.
    Command:                     None
    Syntax:                      GetCallback(<propName>)
    Return Value:                String
    Example:                     a = PropHost.GetCallback( "W1"); returns
                                 "SynchronizeResistors"
              GetChangedProperty
    Use:                         If the script was called by a Callback associated with a property, this
                                 function returns the name of that property.
    Command:                     None
    Syntax:                      GetChangedProperty()
    Return Value:                String
    Example:                     pn = PropHost.GetChangedProperty(); returns "C" if the
                                 script was a Callback associated with the property named
                                 "C" and the script was called in response to the property
                                 "C" changing value.
              GetDescription
    Use:                         Finds named property and returns description string.
    Command:                     None
    Syntax:                      GetDescription(<propName>)
    Return Value:                String
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          GetDesign
Use:                         Returns the interface to the specified design simulation.
Command:                     None
Syntax:                      GetDesign <DesignName>
Return Value:                Interface to the specified design simulation.
Parameters:                  <DesignName>
                             Type: <string>
Example:                     Set oDesign = oPropHost.GetDesign (“DesignerModel1”)
          GetEditor
Use:                         Returns an interface to the editor requested IF the PropServer behind the
                             PropHost is contained within that type of editor.
Command:                     None
Syntax:                      GetEditor(<editorName>)
Return Value:                String
Example:                     Set oLayout2 = PropHost.GetEditor("Layout"); returns the
                             interface to the layout containing a selected component.
                             This interface can be used to call Layout Scripting
                             functions.
          GetEvaluatedText
Use:                         Finds the propName and returns its value. If the value is an expression,
                             GetEvaluatedText evaluates and returns the value of the expression.
Command:                     None
Syntax:                      GetEvaluatedText(<propName>)
Return Value:                String
Example:                     a = PropHost. GetEvaluatedText ("bitPattern");
                             If bitPattern= "10100101" then a = "10100101".
                             If bitPattern= "bitPatterns[1]", where bitPatterns is an
                             array variable (bitPatterns = ["10111"."0000"], then a =
                             "0000".
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              GetFileName
    Use:                         Finds the full path name to propName.
    Example:                     None
    Syntax:                      GetFileName(<propName>)
    Return Value:                String.
    Example:                     a = PropHost.GetFileName("SubstrateFile");
                                 Returns the full pathname associated with the ButtonProp “SubstrateFile”.
                                 If SubstrateFile=$projectdir/info.txt, then a = "c:/data/info.txt" (if the project direc-
                                 tory is set to c:/data).
                                 NOTE: Directory variables can be used in the property's value (e.g. $projectdir,
                                 $userlib, $syslib, $personallib) and these will be expanded to the correct path. Get-
                                 FileName always returns a path string; if propName actually contains a variable
                                 expression, that expression is evaluated to a constant string before returning.
              GetHidden
    Use:                         Finds named property and returns its Hidden flag.
    Command:                     None
    Syntax:                      GetHidden(<propName>)
    Return Value:                Returns 1 if property is hidden and 0 if it is not.
    Example:                     a = PropHost.GetHidden( "W1"); returns 1
              GetProgress
    Use:                         Returns the completion percentage (from 0 to 100) of the specified design
                                 simulation.
    Command:                     None
    Syntax:                      GetProgress(<designName>)
    Return Value:                String
    Example:                     a = PropHost.GetProgress(<designName>);
              GetPropHost
    Use:                         Returns the PropServer (owner of properties) of the propTypeName that
                                 contains the Property that is calling the Callback script.
    Command:                     None
7-26 Property Script Commands
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Syntax:                      GetPropHost(<propTypeName>)
Return Value:                Returns string.
Example:                     objects = PropHost.GetPropHost("VariableProp");
          GetPropServers
Use:                         Returns array of objects that have properties showing on tabTypeName.
Command:                     None
Syntax:                      GetPropServers(<tabTypeName>)
Return Value:                Returns string.
Example:                     objects = PropHost.GetPropServers("PassedParameterTab");
                             returns array containing PropServers that have properties
                             shown on PassedParameterTab; this would include only
                             components and designs; individual properties can be
                             accessed using standard notation, e.g. objects(0) might
                             contain "CompInst@CAP_;1".
          GetPropTabType
Use:                         Finds named property and returns the id of the tab it is in.
Command:                     None
Syntax:                      GetPropTabType(<propName>)
Return Value:                Returns string.
Example:                     a = PropHost.GetPropTabType( "W1"); returns 2 for
                             property W1 since it is on the DefinitionParams tab
          GetReadOnly
Use:                         Finds named property and returns its ReadOnly flag.
Command:                     None
Syntax:                      GetReadOnly(<propName>)
Return Value:                Returns 1 if property is read-only and 0 if it is not.
Example:                     a = PropHost.GetReadOnly( "W1"); returns 1
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              GetRunStatus
    Use:                         Returns the status number of the specified design simulation.
    Command:                     None
    Syntax:                      GetRunStatus(<statusNumber>)
    Return Value:                Returns string.
    Example:                     a = PropHost.GetRunStatus(<statusNumber>);
              GetProgress
    Use:                         Returns the percentage (from 0 to 100) of the simulation completed.
    Command:                     None
    Syntax:                      GetProgress(<simProgress>)
    Return Value:                String
    Example:                     a = PropHost.GetDesign(<simProgress> );
              GetTabTypeName
    Use:                         Finds named property and returns the name of the tab it is on.
    Command:                     None
    Syntax:                      GetTabTypeName(<propName>)
    Return Value:                Returns string.
    Example:                     a = PropHost.GetTabTypeName( "W1"); returns
                                 "DefinitionParameterTab" for property W1 since it is on
                                 the DefinitionParams tab.
              GetText
    Use:                         Finds property in any tab and returns its value as a text string.
    Command:                     None
    Syntax:                      GetText(<propName>)
    Return Value:                Returns string.
    Example:                     a = PropHost.GetText("C"); a contains "13pF"
              GetValue
    Use:                         Finds property in any tab and returns its value as a double.
7-28 Property Script Commands
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Command:                     None
Syntax:                      GetValue(<propName>)
Return Value:                Returns double.
Example:                     a = PropHost.GetValue("C") ;
            Note       Values are returned in SI units. Compound SI units are, in general, not supported.
                       Temperature values are returned in Celcius
          IsValueConstant
Use:                         Returns True if propName is evaluated to be a constant; returns False if
                             propName is evaluated to be an expression.
Command:                     None
Syntax:                      IsValueConstant(<propName>)
Return Value:                Boolean.
Example:                     a = PropHost.IsValueConstant("C");
                             If C=x+1 then a = 0.
                             If C=2pF then a=1.
          PropertyExists
Use:                         Finds named property and returns its property type.
Command:                     None
Syntax:                      PropertyExists(<propName>)
Return Value:                Returns 1 if property exists in any tab, 0 if it does not.
Example:                     a = PropHost.PropertyExists( "W1"); returns 1 since this
                             property is present on DefinitionParams tab
          RemoveProp
Use:                         Removes the named property from whichever tab it is found.
Command:                     None
Syntax:                      RemoveProp(<propName>)
Return Value:                None.
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              SetCallback
    Use:                         Finds named property and sets its Callback script.
    Command:                     None
    Syntax:                      SetCallback(<propName>, <scriptName>)
    Return Value:                None.
    Example:                     PropHost.SetCallback( "W1", "SynchronizeResistors"); sets
                                 the Callback script for property W1 to
                                 SynchronizeResistors
              SetDescription
    Use:                         Finds named property and sets its description text.
    Command:                     None
    Syntax:                      SetDescription(<propName>, <valueText>)
    Return Value:                None.
    Example:                     PropHost.SetDescription( "W1", "this is the width of the
                                 gate"); sets the description for property W1 to "this is
                                 the width of the gate"
              SetHidden
    Use:                         Finds named property and sets its Hidden flag.
    Command:                     None
    Syntax:                      SetHidden(<propName>, <bool>)
    Return Value:                None.
    Example:                     PropHost.SetHidden( "W1", 1); makes property W1 invisible
                                 in Property Window
              SetReadOnly
    Use:                         Finds named property and sets its ReadOnly flag.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Command:                     None
Syntax:                      SetReadOnly(<propName>, <bool>)
Return Value:                None.
Example:                     PropHost.SetReadOnly( "W1", 1); makes property W1 read-
                             only
          SetText
Use:                         Finds property in any tab and sets its value to a text string.
Command:                     None
Syntax:                      SetText(<propName>, <valueText>)
Return Value:                None.
Example:                     PropHost.SetText("C", "22nF"); sets C to 22nF
          SetValue
Use:                         Finds property in any tab and sets its value to a double.
Command:                     None
Syntax:                      SetValue(<propName>, <value>)
Return Value:                None.
Example:                     PropHost.SetValue("C", 2e-9); sets C to 2e-9
          GetProperties
Use:                         Gets a list of all the properties belonging to a specific PropServer and
                             PropTab. This can be executed by the oProject, oDesign, or oEditor
                             variables.
Command:                     None
Syntax:                      GetProperties( <PropTab>, <PropServer> )
                       GetProperties(<modulename>:<setup name>:<sweep name>)
Return Value:                Variant array of strings – the names of the properties belonging to the prop
                             server.
Example:
                                                                                                           Property Script Commands 7-31
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 Dim all_props
                                 all_props = oDesign.GetProperties("HfssTab",_
                                      "BoundarySetup:WavePort1")
              GetPropertyValue
    Use:                         Gets the value of a single property. This can be executed by the oProject,
                                 oDesign, or oEditor variables.
                           Use the script recording feature and edit a property, and then view the resulting script to
                           see the format for that property.
    Command:                     None
    Syntax:                      GetPropertyValue(<PropTab>, <PropServer>, <PropName>)
                           GetPropertyValue(<modulename>:<setup name>:<sweep name>)
    Return Value:                String representing the property value.
    Example:
                                 value_string = _
                                 oEditor.GetPropertyValue("Geometry3DCmdTab",_
                                      "Box1:CreateBox:1", "XSize")
    Example:                     value_string = _
                                 oEditor.GetPropertyValue(“BaseElementTab”,_
                                 “rect_1”, “Name”)
              GetArrayVariables
    Use:                         Returns a list of array variables. To get a list of indexed Project variables,
                                 execute this command using oProject. To get a list of indexed local
                                 variables, use oDesign.
    Syntax:                      GetArrayVariables()
    Return Value:                Variant array of strings – the names of the array variables.
7-32 Property Script Commands
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Example:
                             Dim var_array
                             project_var_array = oProject.GetArrayVariables()
                             local_var_array = oDesign.GetArrayVariables()
          GetVariables
Use:                         Returns a list of all variables. To get a list of non-indexed Project variables,
                             execute this command using oProject. To get a list of non-indexed local
                             variables, use oDesign.
Syntax:                      GetVariables()
Return Value:                Variant array of strings – the names of the variables.
Example:
                             Dim var_array
                             project_var_array = oProject.GetVariables()
                             local_var_array = oDesign.GetVariables()
          GetVariableValue
Use:                         Gets the value of a single variable. To get the value of Project variables,
                             execute this command using oProject. To get the value of local variables,
                             use oDesign.
Command:                     None
Syntax:                      GetVariableValue(<VarName>)
Return Value:                A string representing the value of the variable.
Parameters:                  <VarName>
                             Type: string
                             Name of the variable to access.
Example:
   project_var_value_string = oProject.GetVariableValue("var_name")
Example:
   local_var_value_string = oDesign.GetVariableValue("var_name")
          SetPropertyValue
Use:                         Sets the value of one property. This is not supported for properties of the
                             following types: ButtonProp, PointProp, V3DPointProp, and
                             VPointProp. Only the ChangeProperty command can be used to modify
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Example:                     oEditor.SetPropertyValue _
                                 “BaseElementTab”,“rect_1”,_
                                 “LineWidth”, “3mm”
              SetVariableValue
    Use:                         Sets the value of a variable. To set the value of a Project variable, execute
                                 this command using oProject. To set the value of a local variable, use
                                 oDesign.
    Syntax:                      SetVariableValue <VarName>, <VarValue>
    Return Value:                None
    Parameters:                  <VarValue>
                                 Type: <value>
                                 New value for the variable.
    Example:
                                 oProject.SetVariableValue "$Var1", "3mm"
    Example:
                                 var_value = "2Ohm"
                                 oDesign.SetVariableValue "Var2", var_value
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
Example:
                          Dim all_props
                          Dim prop
                          all_props = oEditor.GetProperties("Geometry3DCmdTab",_
                               "Box1:CreateBox:1")
                          For Each prop In all_props
                               val = oEditor.GetPropertyValue("Geometry3DCmdTab",_
                                     "Box1:CreateBox:1", prop)
                               new_val = InputBox("New Value of " + prop + ":",_
                                     "Current Value of '" + prop + "' is " + val, val)
                               If new_val <> val Then
                                          oEditor.SetPropertyValue "Geometry3DCmdTab",_
                                               "Box1:CreateBox:1", prop, new_val
                                          val = _
                                               oEditor.SetPropertyValue("Geometry3DCmdTab",_
                                               "Box1:CreateBox:1", prop)
                                          MsgBox("Now the value of '" + prop + "' is " + val)
                               End If
                          Next
The following is a sample script that creates a PlanarEM design, draws a rectangle in the layout
editor and uses the GetPropertyValue, SetPropertyValue and GetProperties func-
tions. The script gets all properties of the rectangle. It then loops through the properties and
for each one, shows the user the current value and asks if the value should be changed. Note
that the last call to GetPropertyValue in the script will fail if you change the name of the
rectangle from the script.
             ---------------------------------------------------------------
             ' Script Recorded by Designer/Nexxim
       ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             '
                             all_props = oEditor.GetProperties("BaseElement-
                             Tab","rect_1")
                             '
                             ' LOOP OVER ALL PROPERTIES
                             '
                             For Each prop in all_props
                               val = oEditor.GetPropertyValue("BaseElement-
                             Tab","rect_1",prop)
                             '
                             ' DISPLAY VALUE TO THE USER
                             '
                                  new_val = InputBox("New Value of "+prop+":",_
                                                                          "Current Value of "+prop+" is
                             "+val,val)
                             '
                             ' CHANGE THE VALUE IF DESIRED
                             '
                                  If new_val <> val Then
                             oEditor.SetPropertyValue _
                                    "BaseElementTab","rect_1",prop,new_val
                                      val = _
                                    oEditor.GetPropertyValue("BaseElement-
                             Tab","rect_1",prop)
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
8                                 Dataset Script Commands
                       AddDataSet
                       DeleteDataSet
                       EditDataSet
                       ImportDataSet
    ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                        of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              AddDataset
    Use:                         Adds a dataset.
    Command:                     Project>Datasets>Add
    Syntax:                      AddDataset <DatasetDataArray>
    Return Value:                None
    Parameters:                  <DatasetDataArray>
                                      Array("NAME:<DatasetName>",
                                            Array("NAME:Coordinates", <CoordinateArray>,
                                            <CoordinateArray>, ...)
                                 <DatasetName>
                                 Type: <string>
                                 Name of the dataset.
                                 <CoordinateArray>
                                      Array("NAME:Coordinate",
                                            "X:=", <double>, "Y:=", <double>)
    Example:
                                 oProject.AddDataset Array("NAME:ds1",_
                                      Array("NAME:Coordinates",_
                                            Array("NAME:Coordinate", "X:=", 1, "Y:=", 2,_
                                            Array("NAME:Coordinate", "X:=", 3, "Y:=", 4),_
                                            Array("NAME:Coordinate", "X:=", 5, "Y:=", 7),_
                                            Array("NAME:Coordinate", "X:=", 6, "Y:=", 20)))
              DeleteDataset
    Use:                         Deletes the specified dataset.
    Command:                     Project>Datasets>Remove
    Syntax:                      DeleteDataset <DatasetName>
    Return Value:                None
              EditDataset
    Use:                         Modifies a dataset. When a dataset is modified, its name as well as its data
                                 can be changed.
    Command:                     Project>Datasets>Edit
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                1       18.5
                2       18.5
                3       18.5
                4       18.5
                5       18.5
                6       18.5
            ...
In the case of Q3D Extractor, the ImportDataset command details are as follows.
Use:                         Imports a dataset.
Command:                     Project>Datasets>Import
Syntax:                      ImportDataset <DatasetFileFullPath>
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
9                   Design Object Script
                 Commands
                       ApplyMeshOps
                       Analyze
                       AnalyzeDistributed
                       AssignDCThickness
                       ConstructVariationString
                                                                                               Design Object Script Commands 9-1
    ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                        of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                DeleteVariation
                                DeleteFieldVariation
                                DeleteFullVariation
                                DeleteLinkedDataVariation
                                ExportConvergence
                                ExportMatrixData
                                ExportMatrixData(2D Extractor)
                                ExportMeshStats
                                ExportProfile
                                ExportNetworkData
                                ExportNMFData
                                GetEdit SourcesCount
                                GetExcitations
                                GetModule
                                GetName
                                GetNominalVariation
                                GetSelections
                                GetSolutionType
                                GetSolveInsideThreshold
                                GetSourceContexts
                                GetVariationVariableValue
                                Redo
                                RenameDesignInstance
                                ResetToTimeZero
                                SARSetup
                                SetActiveEditor
                                SetBackgroundMaterial
                                SetDesignSettings
                                SetLengthSettings
                                SetSolutionType
                                SetSolveInsideThreshold
                                SetSourceContexts
                                Solve
                                RunToolkit
                                Undo
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ApplyMeshOps
    Use:                         If there are any mesh operations that were defined and not yet performed
                                 in the current variation for the specified solution setups, they will be
                                 applied to the current mesh. If necessary, an initial mesh will be computed
                                 first. No further analysis will be performed.
    Command:                     HFSS>Analysis Setup>Apply Mesh Operations
    Syntax:                      ApplyMeshOps <SetupNameArray>
    Return Value:                <SetupNameArray>
                                 Type: <int>
                                 -1: completed with error
                                 0: completed successfully
    Example:
                                 status = oDesign.ApplyMeshOps Array("Setup1","Setup2")
              Analyze
    Use:                         Solves a single solution setup and all of its frequency sweeps.
    Command:                     Right-click a solution setup in the project tree, and then click Analyze on
                                 the shortcut menu.
    Syntax:                      Analyze(<SetupName>)
    Parameters:                  <setupName>
    Return Value:                None
    Example:
                                 ' ----------------------------------------------
                                 ' Script Recorded by Ansoft HFSS Version 12.0.0
                                 ' 2:54 PM               Dec 15, 2008
                                 ' ----------------------------------------------
                                 Dim oAnsoftApp
                                 Dim oDesktop
                                 Dim oProject
                                 Dim oDesign
                                 Dim oEditor
                                 Dim oModule
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          AnalyzeDistributed
Use:                         Perform a distributed analysis.
Command:                     None
Syntax:                      AnalyzeDistributed <SetupName>
Return Value:                <AnalysisStatus>
                             Type: <int>
                             -1: completed with error
                              0: completed successfully
Parameters:                  <SetupName>
Example:                     For frequency sweeps:
                             oDesign.AnalyzeDistributed "Setup1"
          AssignDCThickness
Use:                         Assign DC Thickness to more accurately compute DC resistance of a thin
                             conducting object for which Solve Inside is not selected.
Command:                     HFSS>Assign DC Thickness
Syntax:                      AssignDCThickness Array(<ObjectName>) Array
                             (<ThicknessValue>) <string>
Return Value:                None
Parameters:                  <ObjectName>
                             Type: <string>
                             Array of object names. Any objects not specified in the arguments are unchanged
                             after the command is processed.
                       <ThicknessValue>
                             Type: <real> or <string>, either “Infinite” or “Effective”.
                             Array of DC thickness values (including units) corresponding to each object name.
                             You can also specify an infinite thickness or have it calculated automatically.
                       <string>
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 Type: <string>
                                 "EnableAuto" is equivalent to checking the checkbox in the second tab of the DC
                                 thickness dialog. "DisableAuto" is equivalent to clearing that checkbox. Omitting the
                                 string means leaves the checkbox unchanged.
    Example:
                                 Set oModule = oDesign.GetModule("BoundarySetup")
                                      oModule.AssignDCThickness Array("Box2"), Array("1mm")
The following example includes the use of “Automatic” and “Infinite” settings.
         Dim oAnsoftApp
         Dim oDesktop
         Dim oProject
         Dim oDesign
         Dim oEditor
         Dim oModule
         Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInterface")
         Set oDesktop = oAnsoftApp.GetAppDesktop()
         oDesktop.RestoreWindow
         Set oProject = oDesktop.SetActiveProject("hfss_uhf_probe")
         Set oDesign = oProject.SetActiveDesign("HFSSDesign1")
         Set oModule = oDesign.GetModule("BoundarySetup")
         oModule.AssignDCThickness Array("Arm_1", "Arm_2"), _
         Array("" & Chr(34) & "<Effective>" & Chr(34) & "", _
            "" & Chr(34) & "<Infinite>" & Chr(34) & "")
              ConstructVariationString
    Use:                         Lists and orders the variables and values associated with a design variation.
    Command:                     None
    Syntax:                      ConstructVariationString(<ArrayOfVariableNames>,
                                 <ArrayOfVariableValuesIncludingUnits>)
    Return Value:                Returns variation string with the variables ordered to correspond to the
                                 order of variables in design variations. The values for the variables are
                                 inserted into the variation string.
    Parameters:                  <ArrayOfVariableNames>
                                 Type: string
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                                  <ArrayOfVariableValuesIncludingUnits>
                             Type: string
Example:
                             varstring = oDesign.ConstructVariation-
                             String(Array("x_size", "y_size"), Array("2mm", "1mm"))
          DeleteFieldVariation
Use:                         Delete Field variations, field and mesh, or just field.
Command:                     [Solver]>Results>Clean Up Solutions
Syntax:                      DeleteFieldVariation [All | Array(<parameters>)],
                             boolean, boolean, [boolean]
Return Value:                None
Parameters:                  All
                                    Deletes all Field and mesh variations
                             Array(<parameters>)
                                    Deletes specified variation
                             boolean
Example:
   ' ----------------------------------------------
   ' Script Recorded by ANSYS Electronics Desktop Version 2015.0.0
   ' 9:42:08               Oct 22, 2014
   ' ----------------------------------------------
   Dim oAnsoftApp
   Dim oDesktop
   Dim oProject
   Dim oDesign
   Dim oEditor
   Dim oModule
   Set oAnsoftApp = CreateObject("Ansoft.ElectronicsDesktop")
   Set oDesktop = oAnsoftApp.GetAppDesktop()
   oDesktop.RestoreWindow
   Set oProject = oDesktop.SetActiveProject("OptimTee")
   Set oDesign = oProject.SetActiveDesign("TeeModel")
   oDesign.DeleteFieldVariation "All", true, false
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
Example:
         ' ----------------------------------------------
         ' Script Recorded by ANSYS Electronics Desktop Version 2015.0.0
         ' 9:51:41             Oct 22, 2014
         ' ----------------------------------------------
         Dim oAnsoftApp
         Dim oDesktop
         Dim oProject
         Dim oDesign
         Dim oEditor
         Dim oModule
         Set oAnsoftApp = CreateObject("Ansoft.ElectronicsDesktop")
         Set oDesktop = oAnsoftApp.GetAppDesktop()
         oDesktop.RestoreWindow
         Set oProject = oDesktop.SetActiveProject("OptimTee")
         Set oDesign = oProject.SetActiveDesign("TeeModel")
         oDesign.DeleteFieldVariation Array("offset=" & Chr(39) &
         "0.0947046688081817in" & Chr(39) & ""), _
            true, false
              DeleteFullVariation
    Use:                         Use to selectively make deletions or delete all solution data.
    Command:                     HFSS>Results>Clean Up Solutions...
    Syntax:                      DeleteFullVariation Array(<parameters>), boolean
    Parameters:                  All | <DataSpecifierArray>
                                 If, All, all data of existing variations is deleted.
                                      Array(<DesignVariationKey>, )
                                 <DesignVariationKey>
                                 Type: <string>
                                 Design variation string.
                                 <Boolean>
                                 Type: boolean
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Example:
   Dim oModule
   Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInterface")
   Set oDesktop = oAnsoftApp.GetAppDesktop()
   oDesktop.RestoreWindow
   Set oProject = oDesktop.SetActiveProject("ogive")
   Set oDesign = oProject.SetActiveDesign("IEDesign1")
   oDesign.DeleteFullVariation Array(""), true
Example:
   Dim oModule
   Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInterface")
   Set oDesktop = oAnsoftApp.GetAppDesktop()
   oDesktop.RestoreWindow
   Set oProject = oDesktop.SetActiveProject("Tee")
   Set oDesign = oProject.SetActiveDesign("TeeModel")
   oDesign.DeleteFullVariation Array("offset=" &Chr(39) & "0.2in" _
   & Chr(39) & "", "offset=" & Chr(39) & "0in" & Chr(39) & ""), false
          DeleteLinkedDataVariation
Use:                         Deletes cached linked data, either all, or specified variations.
Command:                     HFSS>Results>Clean Up Solutions
Syntax:                      DeleteLinkedDataVariation [All | <DesignVariationKey>,
                             <DesignVariationKey>, …]
Return Value:                None
Parameters:                  All
                             Deletes All Linked data.
                             <DesignVariationKey>
                             Type: <string>
                             Design variation string.
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Example:
         ' ----------------------------------------------
         ' Script Recorded by ANSYS Electronics Desktop Version 2015.0.0
         ' 13:37:16             Oct 22, 2014
         ' ----------------------------------------------
         Dim oAnsoftApp
         Dim oDesktop
         Dim oProject
         Dim oDesign
         Dim oEditor
         Dim oModule
         Set oAnsoftApp = CreateObject("Ansoft.ElectronicsDesktop")
         Set oDesktop = oAnsoftApp.GetAppDesktop()
         oDesktop.RestoreWindow
         Set oProject = oDesktop.SetActiveProject("OptimTee")
         Set oDesign = oProject.SetActiveDesign("TeeModel")
         oDesign.DeleteLinkedDataVariation "All"
    Example:
         ' ----------------------------------------------
         ' Script Recorded by ANSYS Electronics Desktop Version 2015.0.0
         ' 13:56:43             Oct 22, 2014
         ' ----------------------------------------------
         Dim oAnsoftApp
         Dim oDesktop
         Dim oProject
         Dim oDesign
         Dim oEditor
         Dim oModule
         Set oAnsoftApp = CreateObject("Ansoft.ElectronicsDesktop")
         Set oDesktop = oAnsoftApp.GetAppDesktop()
         oDesktop.RestoreWindow
         Set oProject = oDesktop.SetActiveProject("OptimTee")
         Set oDesign = oProject.SetActiveDesign("TeeModel")
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          DeleteVariation
Use:                         Obsolete. Use DeleteFullVariation, DeleteFieldVariation,
                             DeleteLinkedDataVariation.
          ExportConvergence
Use:                         Exports convergence data (max mag delta S, E, freq) to file for the given
                             variation.
Command:                     None
Syntax:                      ExportConvergence <SetupName>, <VariationString>,
                             <FilePath> <overwriteIfExists>
Return Value:                None
Parameters:                  <SetupName>
                             Type: <string>
                                  Example: "Setup1"
                             <VariationString>
                             Type: <string>
                                  Example: "radius = 3mm"
                             The empty variation string ("") is interpreted to mean the current nominal variation.
                             <FilePath>
                             Type: <string>
                             Example: "c:\convergence.conv"
                             overwriteIfExists <Boolean>
                             If "overwriteIfExists" is TRUE, then the playback of the script overwrites an existing
                             file. If FALSE, it does not. The default is "TRUE".
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 Type: <string>
                                 Example: overwriteIfExists=TRUE
    Example:
                                 oDesign.ExportConvergence "Setup1", "x_size = 2mm",
                                 "c:\convergence.conv"
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ExportMatrixData
Use:                         Exports matrix in Matlab or spreadsheet format.
Command:                     In the Matrix tab of the Solution dialog box, click Export>RLGC.
Syntax:                      ExportMatrixData <FileName>, <SolnType>,
                             <DesignVariationKey>, <Solution>, <Matrix>, <ResUnit>,
                             <IndUnit>, <CapUnit>, <CondUnit>, <Frequency>,
                             <MatrixType>, <PassNumber>, <ACPlusDCResistance>
Return Value:                none
Parameters:                  <FileName>
                                  Type: <string>
                                  The path and name of the file where the data will be
                                  exported. The file extension determines the file for-
                                  mat.
                             <SolnType>
                                  Type: <string>
                                  One of the following "C", "AC RL" and "DC RL"
                             <DesignVariationKey>
                                  Type: <string>
                                  Design variation string
                                  Example: "radius = 3mm"
                                  The empty variation string ("") is interpreted to mean
                                  the current nominal variation.
                             <Solution>
                                  <SolveSetup>:<Soln>
                                  Parameters:
                                  <SolveSetup>
                                        Type: <string>
                                        Name of the solve setup
                                  <Soln>
                                        Type: <string>
                                        Name of the solution at a certain adaptive pass.
                             <Matrix>
                                  Type: <string>
                                  Either "Original" or one of the reduce matrix setup
                                  names
                             <ResUnit>
                                  Type: <string>
                                                                                                   Design Object Script Commands 9-13
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
       ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 <CapUnit>
                                      Type: <string>
                                      Unit used for capacitance value
                                 <CondUnit>
                                      Type: <String>
                                      Unit used for conductance value.
                                 <Frequency>
                                      Type: <double> (always in Hz)
                                      Frequency used for exporting matrix.
                                 <LengthSetting>
                                      Type:<String>
                                      Values: "Distributed", "Lumped"
                                 <LumpedLength>
                                      Type:<String>
                                      Length with units, length of the design at which it is
                                      exported.
                                 <MatrixType>
                                      Type: <String>
                                      Values: "Maxwell", "Spice", "Couple" , or any combina-
                                      tion of these like "Maxwell, Spice, Couple".
                                 <PassNumber>
                                      Type: <Integer>
                                      Pass number.
    Example:                     oDesign.ExportMatrixData "C:/temp/export1/export1.lvl",
                                 "CG, RL", "", _ "Setup6:Sweep2", "Original", "ohm",
                                 "nH", "pF", "mSie", 1000000000, "Lumped", _ "7meter",
                                 "Maxwell,Spice,Couple", 0
              ExportNetworkData
    Use:                         Exports sparameters.
    Command:                     In the matrix tab of the Solution dialog box, click Export>S-Parameter.
    Syntax:                      ExportNetworkData <DesignVariation> <SolutionName>
                                 <FileName> <ReduceMatrix> <Reference Impedance>
                                 <FrequencyArray> <Format> <Length> <PassNumber>
    Return Value:                None
    Parameters:                  <DesignVariation>
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
                              Type: <String>
                              Design variation at which the solution is exported.
                         <SolutionName>
                                    Type: <String>
                                    Format: <SetupName>:<SolutionName>
                                    Solution that is exported.
                         <FileName>
                                    Type: <String>
                                    The name of the file. The file extension will deter-
                                    mine the file format.
                         <ReduceMatrix>
                                    Type: <String>
                                    Either "Original" or one of the reduce matrix setup
                                    name
                         <Reference Impedance>
                                    Type: <Double>
                                    Reference impedance
                         <FrequencyArray>
                                    Type: <Array of doubles>
                                    Value: Array(<double>,<double>….)
                                    Frequency points in the sweep that is exported.
                         <Format>
                                    Type: <String>
                                    Values: "MagPhase", "RealImag", "DbPhase".
                                    The format in which the sparameters will be exported.
                         <Length>
                                    Type:<String>
                                    Length for exporting s-parameters.
                         <PassNumber>
                                    Type:<integer>
                                    Pass number.
Example:                 oDesign.ExportNetworkData "", "Setup7 : LastAdaptive",
                         "C:/temp/tc.s2p", _ "Original", 50, Array(10000000,
                         20000000, 30000000, 40000000, 50000000, _ 60000000,
                         70000000, 80000000, 90000000, 100000000),
                         "MagPhase",0,"7meter"
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
                                     name
                          <Reference Impedance>
                                     Type: <Double>
                                     Reference impedance
                          <FrequencyArray>
                                     Type: <Array of doubles>
                                     Value: Array(<double>,<double>….)
                                     Frequency points in the sweep that is exported.
                          <DesignVariation>
                               Type: <String>
                               Design variation at which the solution is exported.
                          <Format>
                                     Type: <String>
                                     Values: "MagPhase", "RealImag", "DbPhase".
                                     The format in which the sparameters will be exported.
                          <Length>
                                     Type:<String>
                                     Length for exporting sparameters.
                          <PassNumber>
                                     Type:<integer>
                                     Pass number.
Example:
   oDesign.ExportNMFData "Setup7 : LastAdaptive", "C:/temp/neu.nmf",
   "Original", _ 50, Array(10000000, 20000000, 30000000, 40000000,
   50000000, 60000000, 70000000, _ 80000000, 90000000, 100000000), "",
   "MagPhase","7meter"
       ExportMeshStats
Use:                      Exports the mesh statistics to a file.
Command:                  None.
Parameters:               <SetupName>
                          Type: <string>
                               Example: "Setup1"
                          <VariationString>
                          Type: <string>
                               Example: "radius = 3mm"
                          The empty variation string ("") is interpreted to mean the current nominal variation.
                                                                                                Design Object Script Commands 9-19
       ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 <FilePath>
                                 Type: <string>
                                      Example: "c:\convergence.conv"
                                 overwriteIfExists <Boolean>
                                 If "overwriteIfExists" is TRUE, then the playback of the script overwrites an existing
                                 file. If FALSE, it does not. The default is "TRUE".
                                 Type: <string>
                                 Example: overwriteIfExists=TRUE
    Example:
                                 oDesign.ExportMeshStats "Setup1", "offset=" & Chr(39) &
                                 "0.09in" & Chr(39) & "","C:\mydir\meshstats.ms" "tat"
              ExportProfile
    Use:                         Exports a solution profile to file.
    Syntax:                      ExportProfile <SetupName>, <VariationString>, <FilePath>,
                                 <overwriteIfExists>
    Return Value:                None
    Parameters:                  <SetupName>
                                 Type: <string>
                                 Example: "Setup1"
                                 <VariationString>
                                 Type: <string>
                                 Example: "radius = 3mm"
                                 The empty variation string ("") is interpreted to mean the current nominal variation.
                                 <FilePath>
                                 Type: <string>
                                 Example: "c:\profile.prof"
                                 overwriteIfExists <Boolean>
                                 If "overwriteIfExists" is TRUE, then the playback of the script overwrites an existing
                                 file. If FALSE, it does not. The default is "TRUE".
                                 Type: <string>
                                 Example: overwriteIfExists=TRUE
    Example:
                                 oDesign.ExportProfile "Setup1", "", "c:\profile.prof"
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          GetEdit SourcesCount
Use:                         Returns the number of sources that are listed in the Edit Sources panel.
Command:                     None
Syntax:                      GetEditSources
Return Value:                <int>
Parameters:                  None
Example:
   ' ----------------------------------------------
   ' Script Recorded by Ansoft HFSS Version 15.0.0
   ' 7:37:36 AM                  Jul 27, 2012
   ' ----------------------------------------------
   Dim oAnsoftApp
   Dim oDesktop
   Dim oProject
   Dim oDesign
   Dim oEditor
   Dim oModule
   Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInterface")
   Set oDesktop = oAnsoftApp.GetAppDesktop()
   oDesktop.RestoreWindow
   Set oProject = oDesktop.GetActiveProject
   Set oDesign = oProject.GetActiveDesign
   Set oModule = oDesign.GetModule("Solutions")
   Dim count
   count = oModule.GetEditSourcesCount
   MsgBox(count)
          GetExcitationsModule
Use:                         Query source scalings (mag, phase etc.) from the Edit Source panel.
Command:                     None
Syntax:                      GetExcitationScaling( <port name>, <port index>)
Return Value:                Scaling for excitation.
Parameters:                  <port name>
                                    Port ID
                             <port index>
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
         ' ----------------------------------------------
         ' sample code to display results
         ' ----------------------------------------------
         buffer = ""
         for i = 0 to uBound(data)
             buffer = buffer & data(i)
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          GetModule
Use:                         Returns the IDispatch for the specified module.
Command:                     none
Syntax:                      GetModule <ModuleName>
Return Value:                Module object.
Parameters:                  Type: <string>
                             Name of the module. One of the following:
                                  -Boundary module:                        "BoundarySetup"
                                  -Mesh Operations module: "MeshSetup"
                                  -Analysis module:                        "AnalysisSetup"
                                  -Optimetrics module:                            "Optimetrics"
                                  -Solutions module:                         "Solutions"
                                  -Field Overlays module: "FieldsReporter"
                                  -Radiation module:                         "RadField"
Example:
                   Set oModule = oDesign.GetModule "BoundarySetup"
For Q3D Extractor the GetModule command details are as follows.
Use:                         Returns the IDispatch for the specified module.
Command:                     none
Syntax:                      GetModule <ModuleName>
Return Value:                Module object.
Parameters:                  Type: <string>
                             Name of the module. One of the following:
                                  -Boundary module:                        "BoundarySetup"
                                  -Mesh Operations module: "MeshSetup"
                                  -Reduce Matrix module: "ReduceMatrix"
                                  -Analysis module:                        "AnalysisSetup"
                                  -Optimetrics module:                            "Optimetrics"
                                  -Solutions module:                         "Solutions"
                                  -Field Overlays module: "FieldsReporter"
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              GetName
    Use:                         Returns the name of the Design.
    Command:                     none
    Syntax:                      GetName
    Return Value:                The name of the Design.
                                 Type: <string>
    Example:
                                 name_string = oDesign.GetName
              GetNominalVariation
    Use:                         Gets the nominal variation string
    Command:                     None
    Syntax:                      GetNominalVariation()
    Return Value:                Returns a string representing the nominal variation
    Parameters:                  None
    Example:
                                 var = oDesign.GetNominalVariation()
              GetSelections
    Use:                         Informational.
    Command:                     None
    Syntax:                      GetSelections
    Return Value:                array of IDs
    Parameters:                  None
    Example:                     Set oProject = oDesktop.SetActiveProject("Project6")
                                 Set oDesign = oProject.SetActiveDesign("Q3DDesign1")
                                 Set oEditor = oDesign.SetActiveEditor("Modeler")
                                 Dim A
                                 A = Array()
                                 A = oEditor.GetSelections
                                 Dim B
                                 B = Join(A,",")
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          GetSolutionType
Use:                         Returns the solution type for the design. This command command does not
                             apply to HFSS-IE.
Command:                     none
Syntax:                      GetSolutionType
Return Value:                <SolutionType>
                             Type: <string>
                             Possible values are: "DrivenModal", "DrivenTerminal", "Eigenmode",
                             “Transient” or “Transient Network”.
Example:
                             oDesign.GetSolutionType
          GetSolveInsideThreshold
Use:                         Returns the solve inside threshold. This command command does not apply
                             to HFSS-IE.
Command:                     none
Syntax:                      GetSolveInsideThreshold
Return Value:                Double representing the solve inside threshold.
Example:
                             oDesign.GetSolveInsideThreshold
          GetSourceContexts
Use:                         Obtain sources currently enabled as context in the Edit Sources dialog
                             Source Context tab.
Command:                     None
Syntax:                      GetSource Contexts
Return Value:                Array of enabled source names
Parameters:                  None
Example:
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 SetoModule = oDesign.GetModule(“Solutions”)
                                 oModule.GetSourceContexts
              GetVariationVariableValue
    Use:                         Finds the value of a variable for a specific variation string.
    Command:                     None
    Syntax:                      GetVariationVariableValue(<VariationString>,
                                 <VariableName>)
    Return Value:                Returns a double precision value in SI units, interpreted to mean the value
                                 of the variable contained in the variation string.
    Parameters:                  <VariationString>
                                 Type: string
                                      <VariableName>
                                 Type: string
    Example:
                                 Example: varval = _
                                 oDesign.GetVariationVariableValue("x_size = 2mm y_size =
                                 1mm",_ "y_size")
              Redo [Design]
    Use:                         Reapplies the last design-level command.
    Command:                     Edit>Redo
    Syntax:                      Redo
    Return Value:                None
    Example:
                                 oDesign.Redo
              RenameDesignInstance
    Use:                         Renames a design instance.
    Command:                     Right click a design instance in the project tree, and then click Rename on
                                 the shortcut menu.
    Syntax:                      RenameDesignInstance <OldName>, <NewName>
    Return Value:                None
    Parameters:                  <OldName>
                                      Type: <string>
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ResetToTimeZero
Use:                         To reset a simulation to time zero.
Command:                     CleanStop
Syntax:                      ResetToTimeZero( "<name of setup>" )
Return Value:                None
Parameters:                  <Name of Setup>
Example:
   # ----------------------------------------------
   # Script Recorded by ANSYS Electronics Desktop Version 2015.0.0
   # 16:11:48                Nov 14, 2014
   # ----------------------------------------------
   import ScriptEnv
   ScriptEnv.Initialize("Ansoft.ElectronicsDesktop")
   oDesktop.RestoreWindow()
   oProject = oDesktop.SetActiveProject("TermPorts")
   oDesign = oProject.SetActiveDesign("TermPorts2Active")
   oDesign.AnalyzeAll()
   oModule = oDesign.GetModule("AnalysisSetup")
   oModule.ResetToTimeZero("Setup1")
          SARSetup
Use:                         Sets up for the specific absorption rate (SAR) computation.This command
                             command does not apply to HFSS-IE.
Command:                     HFSS>Fields>SAR Setting
Syntax:                      SARSetup <TissueMass>, <MaterialDensity>, <Tissue object
                             List ID>, <voxel size>, <Average SAR method>
Return Value:                None
Parameters:                  <TissueMass>
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 Type: <double>
                                 Double between 1 and 10 in grams.
                           <MaterialDensity>
                                 Type: <double>
                                 Positive double in gram/cm3.
                           <voxel size>
                                 Type: <double>
                                 The size of a voxel in millimeters.
              SetActiveEditor
    Use:                         Sets the active editor.
    Command:                     None
    Syntax:                      SetActiveEditor(<EditorName>)
    Return Value:                Editor object
    Parameters:                  <EditorName>
                                      Type: <string>
                                      The only choice is "3D Modeler"
    Example:
                                 Set oEditor = oDesign.SetActiveEditor("3D Modeler")
              SetBackgroundMaterial
    Use:                         Sets the background material of the design.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Command:                     Right click on the design in the project tree and choose "Set Background
                             Material".
Syntax:                      SetBackgroundMaterial <MatName>
Return Value:                None
Parameters:                  <MatName>
                                  Type: <string>
                                  The name of the background material
Example:                     oDesign.SetBackgroundMaterial "vacuum"
Note   For a 2D project, you can run this command only if the following conditions are met:
               •      there is no surface ground in the design, and
               •      problem type is "open".
          SetDesignSettings
Use:                         To set the design settings for materials override.
Command:                     HFSS>Design Settings
Syntax:                      SetDesignSettings <MaterialsOverrideArray>
Return Value:                None
Parameters:                  <MaterialsOverrideArray>
                       Array("NAME:Design Settings Data",
                       "Allow Material Override:=", <Boolean>,
                       "Calculate Lossy Dielectrics:=", <Boolean>)
Example:
   Dim oAnsoftApp
   Dim oDesktop
   Dim oProject
   Dim oDesign
   Dim oEditor
   Dim oModule
   Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInterface")
   Set oDesktop = oAnsoftApp.GetAppDesktop()
   oDesktop.RestoreWindow
   Set oProject = oDesktop.SetActiveProject("Project53")
   Set oDesign = oProject.SetActiveDesign("HFSSDesign1")
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Parameters:                  <DistributedUnits>
                                  Type:<String>
                                  Value: Length units
                                  Length Units used for post processing in the design.
                             <LumpedLength>
                                  Type:<String>
                                  Value: Length (double) with units.
                                  Length of design used in post processing.
                             <RiseTime>
                                  Type: <String>
                                  Value: Time with units.
                                  Rise time used in post processing steps.
   oDesign.SetLengthSettings "mm", "7meter",                                                    "1s"
          SetSolutionType
Use:                         Sets the solution type for the design. This command command does not
                             apply to HFSS-IE.
Command:                     HFSS>Solution Type
Syntax:                      SetSolutionType <SolutionType>
Return Value:                None
Parameters:                  <SolutionType>
                             Type: <string>
                             Possible values are: "DrivenModal", "DrivenTerminal", “Transient”, “Tran-
                             sient Network”, or "Eigenmode"
Example:
                             oDesign.SetSolutionType "DrivenTerminal"
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              SetSolveInsideThreshold
    Use:                         Set the solve inside threshold to the supplied double. This command
                                 command does not apply to HFSS-IE.
    Command:                     None
    Syntax:                      SetSolveInsideThreshold(<threshold>)
    Return Value:                None
    Parameters:                  <threshold>
                                 Type: <double>
                                 Siemens/m
    Example:
                                 oDesign.SetSolveInsideThreshold(100000)
              SetSourceContexts
    Use:                         For Near or Far Field projects for Driven Modal or Driven Terminal Network
                                 Analysis Solutions, specify the port name and all modes/terminals of that
                                 port to be enabled as Source Context.
    Command:                     Fields>Edit Sources
    Syntax:                      SetSourceContexts Array(“<sourceID>”,...)
    Return Value:                None.
    Parameters:                  <sourceID>
                                 Type: <string>
    Example:
                                 SetoModule = oDesign.GetModule(“Solutions”)
                                 oModule.SetSourceContexts Array(“Box1_T1”, “Box1_T2”,
                                 “Box1_T3”, “Current1”, “IncPWave1”)
              Solve
    Use:                         Performs a blocking simulation. The next script command will not be
                                 executed until the simulation is complete.
    Command:                     HFSS>Analyze
    Syntax:                      Solve <SetupNameArray>
    Return Value:                Type: <int>
                                 -1: simulation error
                                  0: normal completion
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Use:                         Performs a blocking simulation. The next script command will not be
                             executed until the simulation is complete.
Command:                     Q3D Extractor or 2D Extractor>Analyze. Or right-click the Analysis option
                             in the project tree and choose "Analyze".
Syntax:                      Solve <SetupNameArray>
Return Value:                Type: <int>
                                  -1: command execution error
                                     1: simulation error
                                     0: normal completion
Parameters:                  <SetupNameArray>: Array(<SetupName>, <SetupName>, ...)
                             <SetupName>
                                  Type: <string>
                                  Name of the solution setup to solve.
Example:                     return_status = oDesign.Solve Array("Setup1", "Setup2")
          RunToolkit
Use:                         Run a Python toolkit script, applying it to the Active Project. The script
                             itself may have prerequisites, such as sweeps defined, or specific model
                             characteristics, such as port definitions.
Command:                     HFSS>Toolkit><IronPythonScript>
Syntax:                      RunToolkit "<LibName>", "<IronPythonScriptName>", Array()
Return Value:                User Defined Solutions and user Defined Outputs.
Parameters:                  <LibName>
                             Type: <string>
                             Name of the library in which the script is located.
                       <IronPythonScriptName>
                             Type: <string>
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Full scripting for cable modeling is not supported and no arguments are allowed in the script.
The RunToolkit command will not automatically create a cable bundle, but will simply open the
Cable Modeling dialog box. You will have to manually input your parameters.
Currently, the script to launch the cable modeling dialog boxes is:
                             oDesign.RunToolkit "SysLib", "CableModeling/AutomotiveCa-
                             bleBundle", Array()
                             oDesign.RunToolkit "SysLib", "CableModeling/Oil-GasCable-
                             Bundle", Array()
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 oDesktop.RestoreWindow
                                 Set oProject = oDesktop.SetActiveProject("Project1")
                                 oProject.InsertDesign "Q3D Extractor", "Q3DDesign1", "",
                                 ""
                                 oProject.SaveAs "E:\project_directories\q3d\v13\user_sto-
                                 ries_R15\US53001_cable_modeling\auto_script.q3dx", true
                                 Set oDesign = oProject.SetActiveDesign("Q3DDesign1")
              Undo [Design]
    Use:                         Cancels the last design-level command.
    Command:                     Edit>Undo
    Syntax:                      Undo
    Return Value:                None
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
Example:
                         oDesign.Undo
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
10               Model Setup Script
              Commands
 ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                     of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Assign Array
    Use:                         Create an array based on a unit cell model.
    Command:                     HFSS>Model>Create Array
    Syntax:                      AssignArray <arrayParameters>
    Return Value:                None
    Parameters:                  Aray(NAME:<string>",
                           "Type:=", "Regular",
                           "Name:=", "<string>",
                           "UseAirObjects:=", <boolean>,
                           "RowMasterBnd:=", "Master<n>",
                           "ColumnMasterBnd:=", "Master<n>",
                           "RowDimension:=", <value>,
                           "ColumnDimension:=", <value>,
                           "PostProcessRow:=", <value>,
                           "PostProcessCol:=", <value>,
                           "Active:=", "All" | [<arraycoords>] |"None" )
    Example:
         ' ----------------------------------------------
         ' Script Recorded by Ansoft HFSS
         ' ----------------------------------------------
         Dim oAnsoftApp
         Dim oDesktop
         Dim oProject
         Dim oDesign
         Dim oEditor
         Dim oModule
         Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInterface")
         Set oDesktop = oAnsoftApp.GetAppDesktop()
         oDesktop.RestoreWindow
         Set oProject = oDesktop.SetActiveProject("terminalArray")
         Set oDesign = oProject.SetActiveDesign("HFSSDesign")
         Set oModule = oDesign.GetModule("ModelSetup")
         oModule.AssignArray Array("NAME:A",
         "Type:=", "Regular",
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
   "Name:=", "A",
   "UseAirObjects:=", true,
   "RowMasterBnd:=", "Master1",
   "ColumnMasterBnd:=", "Master2",
   "RowDimension:=", 2,
   "ColumnDimension:=", 2,
   "PostProcessRow:=", 1,
   "PostProcessCol:=", 1,
   "Active:=", "All")
          DeleteArray
Use:                         Delete an existing array based on a unit cell model.
Command:                     Delete
Syntax:                      DeleteArray
Return Value:                None
Parameters:                  None
Example:
   ' ----------------------------------------------
   ' Script Recorded by Ansoft HFSS
   ' ----------------------------------------------
   Dim oAnsoftApp
   Dim oDesktop
   Dim oProject
   Dim oDesign
   Dim oEditor
   Dim oModule
   Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInterface")
   Set oDesktop = oAnsoftApp.GetAppDesktop()
   oDesktop.RestoreWindow
   Set oProject = oDesktop.SetActiveProject("forcreatearraycube")
   Set oDesign = oProject.SetActiveDesign("HFSSDesign1")
   Set oModule = oDesign.GetModule("ModelSetup")
   oModule.DeleteArray
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              EditArray
    Use:                         To edit properties of an existing array.
    Command:                     Properties
    Syntax:                      EditArray <arrayParameters>
    Return Value:                None
    Parameters:                  Aray(NAME:<string>",
                           "Type:=", "Regular",
                           "Name:=", "<string>",
                           "UseAirObjects:=", <boolean>,
                           "RowMasterBnd:=", "Master<n>",
                           "ColumnMasterBnd:=", "Master<n>",
                           "RowDimension:=", <value>,
                           "ColumnDimension:=", <value>,
                           "PostProcessRow:=", <value>,
                           "PostProcessCol:=", <value>,
                           "Active:=", "All" | [<arraycoords>] |"None" )
    Example:
         ' ----------------------------------------------
         ' Script Recorded by Ansoft HFSS
         ' ----------------------------------------------
         Dim oAnsoftApp
         Dim oDesktop
         Dim oProject
         Dim oDesign
         Dim oEditor
         Dim oModule
         Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInterface")
         Set oDesktop = oAnsoftApp.GetAppDesktop()
         oDesktop.RestoreWindow
         Set oProject = oDesktop.SetActiveProject("terminalArray")
         Set oDesign = oProject.SetActiveDesign("HFSSDesign")
         Set oModule = oDesign.GetModule("ModelSetup")
         oModule.EditArray Array("NAME:A",
         "Type:=", "Regular",
         "Name:=", "A",
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                    Introduction to Scripting in ANSYS Electronics Desktop
"UseAirObjects:=", true,
"RowMasterBnd:=", "Master1",
"ColumnMasterBnd:=", "Master2",
"RowDimension:=", 2,
"ColumnDimension:=", 3,
"PostProcessRow:=", 1,
"PostProcessCol:=", 3,
"Active:=", "[0,0], [0,1], [0,2]")
  ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                      of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
11               3D Modeler Editor Script
              Commands
                    <Attributes Array>
                         Array("NAME:Attributes",
                               "Name:=", <string>,
                               "Flags:=", <string>,
                               "Color:=", <string>,
                               "Transparency:=", <value>,
                               "PartCoordinateSystem:=", <string>,
                               "MaterialName:=", <string>,
                               "Solveinside:=", <bool>)
                    Flags
                    Format is a string containing any of the following flags separated by the # character:
              •     NonModel
              •     Wireframe
                    Example: "Flags:=", "NonModel#Wireframe"
 ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                     of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                Color
                                Format is a string containing an R,G,B triple formatted as "(R G B)".
                                Example: "Color:=",                      "(255          255       255)"
                                Transparency
                                Specify a number between 0 and 1.
                                PartCoordinateSystem
                                Orientation of the primitive. The name of one of the defined coordinate systems
                                should be specified.
                                <SelectionsArray>
                                     Array("NAME:Selections",
                                           "Selections:=", <string>)
                                Selections
                                Comma-separated list of parts on which to perform the operation.
                    Example: "Selections:=", "Rect1, Rect2"
    Draw Menu Commands
    Edit Menu Commands
    Modeler Menu Commands
    Other oEditor Commands
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
CreatePolyline
CreateRectangle
CreateRectangle (2D Extractor)
CreateRegion
CreateRegularPolyhedron
CreateRegularPolyhedron (2D Extractor)
CreateRegularPolygon
CreateSphere
CreateSpiral
CreateTorus
CreateUserDefinedPart
Edit3DComponent
EditPolyline
Get3DComponentParameters
Get3DComponentDefinitionNames
Get3DComponentInstanceNames
Get3DComponentMaterialNames
Get3DComponentMaterialProperties
Insert3DComponent
InsertPolylineSegment
SweepAlongPath
SweepAlongVector
SweepAroundAxis
SweepFacesAlongNormal
SweepFacesAlongNormalWithAttributes
UpdateComponentDefinition
          Create3D Component
Use:                         Create a 3D component
Command:                     None
Syntax:                      Create3DComponent <Geometry Data>, <Design Data>, <File
                             Name>, <Image File>
Return Value:                None
Parameters:                  < Geometry Data>
                                 Geometry data
                             < Design Data>
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                     Design data
                                 < File Name>
                                     File name of 3D component
                                 < Image File>
                                     File name of 3D component image
    Example:
    oEditor.Create3DComponent Array("NAME:GeometryData",
    "ComponentName:=", "Connector",
    "Owner:=", "", "Email:=", "", "Company:=", "",
    "Version:=", "1.0", "Date:=", "11:41:01 AM Aug 28, 2014",
    "Notes:=", "", "HasLabel:=", false,
    "IncludedParts:=", Array( "Box1", "Cylinder1", "Cone1"),
    "IncludedCS:=", Array("RelativeCS1"),
    "ReferenceCS:=", "Global",
    "IncludedParameters:=", Array("htcone", "lr", "htcyl", "zs",
    "radcyl", "xs", "$rp", "$con"),
    "ParameterDescription:=", Array()),
    Array("NAME:DesignData", "Boundaries:=",
    Array( "PerfE1", "FiniteCond1"),
    "Excitations:=", Array("1"),
    "MeshOperations:=", Array()),
    "C:/tmp/Connector.a3dcomp",
    Array("NAME:ImageFile", "ImageFile:=", "")
              CreateBondwire
    Use:                         Creates a bondwire primitive.
    Command:                     Draw>Bondwire
    Syntax:                      CreateBondwire <ParametersArray>, <AttributesArray>
    Return Value:                The name of the newly created object.
    Parameters:                  <ParametersArray>
                                      Array("NAME:BondwireParameters",
                                            "WireType:=", <string>,
                                            "WireDiameter:=", <value>,
                                            "NumSides:=", <value>,
                                            "XPadPos:=", <value>,
                                            "YPadPos:=", <value>,
                                            "ZPadPos:=", <value>,
                                            "XDir:=", <value>,
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                                        "YDir:=", <value>,
                                        "ZDir:=", <value>,
                                        "Distance:=", <value>,
                                        "h1:=", <value>,
                                        "h2:=", <value>,
                                        "alpha:=", <value>,
                                        "beta:=", <value>,
                                        "WhichAxis:=", <string>)
                             WireType
                             Should be one of: "JEDEC_4Points", "JEDEC_5Points"
                             Example: "WireType:=", "JEDEC_4Points"
                             WhichAxis
                             Axis normal to the plane where the wire is drawn. Possible values are: "X", "Y",
                             "Z"
                             Example: "WhichAxis:=", "Z" means the bond wire will be drawn on the XY
                             plane.
          CreateBox
Use:                         Creates a box primitive.
Command:                     Draw>Box
Syntax:                      CreateBox <BoxParametersArray>, <AttributesArray>
Return Value:                The name of the newly created object.
Parameters:                  <BoxParametersArray>
                                  Array("NAME:BoxParameters",
                                        "XPosition:=", <value>,
                                        "YPosition:=", <value>,
                                        "ZPosition:=", <value>,
                                        "XSize:=",<value>,
                                        "YSize:=",<value>,
                                        "ZSize:=",<value>)
Example:
   Set oEditor = oDesign.SetActiveEditor("3D Modeler")
   oEditor.CreateBox Array("NAME:BoxParameters", _
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              CreateCircle
    Use:                         Creates a circle primitive.
    Command:                     Draw>Circle
    Syntax:                      CreateCircle <CircleParametersArray>, <AttributesArray>
    Return Value:                The name of the newly created object.
    Parameters:                  <CircleParametersArray>
                                      Array("NAME:CircleParameters",
                                            "XCenter:=", <value>,
                                            "YCenter:=", <value>,
                                            "ZCenter:=", <value>,
                                            "Radius:=", <value>,
                                            "WhichAxis:=", <string>
                                            "NumSegments:=", "<integer>")
                                 WhichAxis
                                 Axis of normal vector to the circle. Possible values are: "X", "Y", "Z"
                                 Example: "WhichAxis:=", "Z" means the circle will be drawn in the
                                 XY plane.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          CreateCone
Use:                         Creates a cone primitive.
Command:                     Draw>Cone
Syntax:                      CreateCone <ConeParametersArray>, <AttributesArray>
Return Value:                The name of the newly created object.
Parameters:                  <ConeParametersArray>
                                  Array("NAME:ConeParameters",
                                        "XCenter:=", <value>,
                                        "YCenter:=", <value>,
                                        "ZCenter:=", <value>,
                                        "WhichAxis:=", <string>,
                                        "Height:=", <value>,
                                        "BottomRadius:=", <value>,
                                        "TopRadius:=", <value>)
                             WhichAxis
                             Axis of the cone. Possible values are: "X", "Y", "Z"
                             Example: "WhichAxis:=", "Z"
          CreateCutplane
Use:                         Creates a cutplane. Only the name and color attributes from
                             <AttributesArray> are supported.
Command:                     Draw>Plane
Syntax:                      CreateCutplane <CutplaneParametersArray>,
                                  <AttributesArray>
Return Value:                The name of the newly created object.
Parameters:                  <CutplaneParametersArray>
                                  Array("NAME:PlaneParameters",
                                        "PlaneBaseX:=", <value>,
                                        "PlaneBaseY:=", <value>,
                                        "PlaneBaseZ:=", <value>,
                                        "PlaneNormalX:=", <value>,
                                        "PlaneNormalY:=", <value>),
                                        "PlaneNormalZ:=", <value>)
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              CreateCylinder
    Use:                         Creates a cylinder primitive.
    Command:                     Draw>Cylinder
    Syntax:                      CreateCylinder <CylinderParametersArray>,
                                      <AttributesArray>
    Return Value:                The name of the newly created object.
    Parameters:                  <CylinderParametersArray>
                                      Array("NAME:CylinderParameters",
                                            "XCenter:=", <value>,
                                            "YCenter:=", <value>,
                                            "ZCenter:=", <value>,
                                            "Radius:=", <value>,
                                            "Height:=", <value>,
                                            "WhichAxis:=", <string>
                                            "NumSides:=", "<integer>")
                                 WhichAxis
                                 Axis of the cylinder. Possible values are: "X", "Y", "Z"
                                 Example: "WhichAxis:=", "Z"
              CreateEllipse
    Use:                         Creates an ellipse primitive.
    Command:                     Draw>Ellipse
    Syntax:                      CreateEllipse <EllipseParametersArray>, <AttributesArray>
    Return Value:                The name of the newly created object.
    Parameters:                  <EllipseParametersArray>
                                      Array("NAME:EllipseParameters",
                                            "XCenter:=", <value>,
                                            "YCenter:=", <value>,
                                            "ZCenter:=", <value>,
                                            "MajRadius:=", <value>,
                                            "Ratio:=", <value>,
                                            "WhichAxis:=", <string>
                                            "NumSegments:=", "<integer>")
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             WhichAxis
                             Axis of normal vector to the ellipse. Possible values are: "X", "Y", "Z"
                             Example: "WhichAxis:=", "Z" means the ellipse will be drawn in the XY
                             plane.
          CreateEquationCurve
Use:                         Create an equation-based curve.
Command:                     Draw>Equation Based Curve
Syntax:                      CreateEquationCurve Array <Parameters> Array<Attributes>
Return Value:                None
Parameters:
   Array("NAME:EquationBasedCurveParameters",
                                  "XtFunction:=", "<value>",
                                  "YtFunction:=", "<value>",
                                  "ZtFunction:=", "<value>",
                                  "tStart:=", "<value>",
                                  "tEnd:=", "<value>",
                                  "NumOfPointsOnCurve:=", "<value>",
                                  "Version:=", <ID>),
   Array("NAME:Attributes",
                                  "Name:=", "<textn>",
                                  "Flags:=", "",
                                  "Color:=", "(<int> <int> <int>)",
                                  "Transparency:=", <value>,
                                  "PartCoordinateSystem:=", "<id>",
                                  "UDMId:=", "",
                                  "MaterialValue:=", "" & Chr(34)
                                  & "vacuum"
                                  & Chr(34) & "",
                                  "SolveInside:=", <boolean>)
Example:
          CreateEquationSurface
Use:                         Create an equation based surface.
Command:                     Draw>Create Equation Based Surface
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              CreateHelix
    Use:                         Creates a helix by sweeping the specified 2D objects.
    Command:                     Draw>Helix
    Syntax:                      CreateHelix <SelectionsArray>, <HelixParametersArray>
    Return Value:                The name of the newly created object.
    Parameters:                  <SelectionsArray>
                                      Array("NAME:Selections",
                                            "Selections:=", <string>)
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             Selections
                             Comma-separated list of parts to sweep.
                             Example: "Selections:=", "Rect1, Rect2"
                             <HelixParametersArray>
                                  Array("NAME:HelixParameters",
                                        "XCenter:=", <value>,
                                        "YCenter:=", <value>,
                                        "ZCenter:=", <value>,
                                        "XStartDir:=", <value>,
                                        "YStartDir:=", <value>,
                                        "ZStartDir:=", <value>,
                                        "Thread:=", <value>,
                                        "NumThread:=", <value>,
                                        "RightHand:=", <bool>)
          CreatePoint
Use:                         Creates a point. Only the name and color attributes from
                             <AttributesArray> are supported.
Command:                     Draw>Point
Syntax:                      CreatePoint <PointParametersArray>, <AttributesArray>
Return Value:                The name of the newly created object.
Parameters:                  <PointParametersArray>
                                  Array("NAME:PointParameters",
                                        "PointX:=", <value>,
                                        "PointY:=", <value>,
                                        "PointZ:=", <value>)
          CreateUserDefinedPart
The documented command is applicable to Q3D Extractor.
Use:                         Creates a user-defined part.
Command:                     Draw>User Defined Primitive
Syntax:                      CreateUserDefinedPart <UserDefinedParametersArray>,
                             <AttributesArray>
Return Value:                The name of the newly created object.
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Parameters:                  <UserDefinedParametersArray>
                                             Array("NAME:UserDefinedPrimitiveParameters",
                                                 "CoordinateSystemID:=", <value>,
                                                 "DllName:=", <string>,
                                                 "Library:=", <string>,
                                            Array("NAME:ParamVector", Array("NAME:Pair",
                                            "Name:=",
                                                 <string>, "Value:=", <value>)…)
    Example:                     oEditor.CreateUserDefinedPart
                                 Array("NAME:UserDefinedPrimitiveParameters",
                                 "CoordinateSystemID:=", _ -1, "DllName:=", "Examples/
                                 RectangularSpiral", "NoOfParameters:=", 6, "Library:=",
                                 _ "syslib", Array("NAME:ParamVector", Array("NAME:Pair",
                                 "Name:=", "Xpos", "Value:=", "0mm"), Array("NAME:Pair",
                                 "Name:=", _ "Ypos", "Value:=", "0mm"),
                                 Array("NAME:Pair", "Name:=", "TurnSep", "Value:=",
                                 "5mm"), Array("NAME:Pair", "Name:=", _ "Turns",
                                 "Value:=", "2"), Array("NAME:Pair", "Name:=", "Width",
                                 "Value:=", "2mm"), Array("NAME:Pair", "Name:=", _
                                 "Height", "Value:=", "2mm"))), Array("NAME:Attributes",
                                 "Name:=", _ "RectangularSpiral1", "Flags:=", "",
                                 "Color:=", "(132 132 193)", "Transparency:=", _ 0,
                                 "PartCoordinateSystem:=", "Global", "MaterialName:=",
                                 "copper", "SolveInside:=", _ false)
              CreatePolyline
    Use:                         Creates a polyline primitive.
    Command:                     Draw>Polyline
    Syntax:                      CreatePolyline <PolylineParametersArray>,
                                      <AttributesArray>
    Return Value:                The name of the newly created object.
    Parameters:                  <PolylineParametersArray>
                                      Array("NAME:PolylineParameters",
                                            "IsPolylineCovered:=", <bool>,
                                            "IsPolylineClosed:=", <bool>,
                                            <PolylinePointsArray>,
                                            <PolylineSegmentsArray>)
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
                         <PolylinePointsArray>
                              Array("NAME:PolylinePoints", <OnePointArray>,
                              <OnePointArray>, ...)
                         <OnePointArray>
                              Array("NAME:PLPoint",
                                    "X:=", <value>,
                                    "Y:=", <value>,
                                    "Z:=", <value>))
                         <PolylineSegmentsArray>
                                    Array("NAME:PolylineSegments",
                                         <OneSegmentArray>, <OneSegmentArray>, ...)
                         <OneSegmentArray>
                                    Array("NAME:PLSegment",
                                         "SegmentType:=", <string>,
                                         "StartIndex:=", <value>,
                                         "NoOfPoints:=", <value>)
                         SegmentType
                         Can be "Line", "Arc", "Spline", or "AngularArc"
Example:
   ' ----------------------------------------------
   ' Script Recorded by Ansoft HFSS Version 14.0.0
   ' 9:49:26 AM              Mar 09, 2011
   ' ----------------------------------------------
   Dim oAnsoftApp
   Dim oDesktop
   Dim oProject
   Dim oDesign
   Dim oEditor
   Dim oModule
   Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInterface")
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
         oEditor.CreatePolyline Array("NAME:PolylineParameters",
         "IsPolylineCovered:=", true,
         "IsPolylineClosed:=", false,
         Array("NAME:PolylinePoints",
         Array("NAME:PLPoint", "X:=", "1.4mm",
         "Y:=", "-2mm",
         "Z:=", "0mm"),
         Array("NAME:PLPoint", "X:=", "0mm", "Y:=", "-2mm", "Z:=", "0mm"),
         Array("NAME:PLPoint", "X:=", "-0.8mm", "Y:=", "-1.6mm",
         "Z:=", "0mm"),
         Array("NAME:PLPoint", "X:=", "-1.4mm", "Y:=", "-0.6mm",
         "Z:=", "0mm")),
         Array("NAME:PolylineSegments", Array("NAME:PLSegment",
         "SegmentType:=", "Line",
         "StartIndex:=", 0, "NoOfPoints:=", 2),
         Array("NAME:PLSegment", "SegmentType:=", "Line",
         "StartIndex:=", 1, "NoOfPoints:=", 2),
         Array("NAME:PLSegment", "SegmentType:=", "Line", "StartIndex:=", 2,
         "NoOfPoints:=", 2)),
         Array("NAME:PolylineXSection", "XSectionType:=", "None",
         "XSectionOrient:=", "Auto", "XSectionWidth:=", "0mm",
         "XSectionTopWidth:=", "0mm", "XSectionHeight:=", "0mm",
         "XSectionNumSegments:=", "0", "XSectionBendType:=", "Corner")),
         Array("NAME:Attributes", "Name:=", "Polyline2", "Flags:=", "",
         "Color:=", "(132 132 193)",
         "Transparency:=", 0,
         "PartCoordinateSystem:=", "Global",
         "UDMId:=", "", "MaterialValue:=", ""
         & Chr(34) & "vacuum" & Chr(34) & "", "SolveInside:=", true)
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          CreateRectangle
Use:                         Creates a rectangle primitive.
Command:                     Draw>Rectangle
Syntax:                      CreateRectangle <RectangleParametersArray>,
                                  <AttributesArray>
Return Value:                The name of the newly created object.
Parameters:                  <RectangleParametersArray>
                                  Array("NAME:RectangleParameters",
                                        "XStart:=", <value>,
                                        "YStart:=", <value>,
                                        "ZStart:=", <value>,
                                        "Width:=", <value>,
                                        "Height:=", <value>,
                                        "WhichAxis:=", <string>)
                             WhichAxis
                             Axis of normal vector to the rectangle. Possible values are: "X", "Y", "Z"
                             Example: "WhichAxis:=", "Z" means the rectangle will be drawn in
                             the XY plane.
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
         Axis of the normal vector to the rectangle. Possible values are: "X",
         "Y".
              CreateRegion
    Use:                         Defines a region containing the design.
    Command:                     Draw>Create Region
    Syntax:                      CreateRegion <RegionParameters> <RegionAttributes>
    Return Value:                The name of the newly created object.
    Parameters:                  <RegionParameters>
                                      Array("NAME:RegionParameters", _
                                            "+XPaddingType:=", <Offset_Type>,
                                            "+XPadding:=", "<X_value>", _
                                            "-XPaddingType:=", <Offset_Type>,
                                            "-XPadding:=", "<-X_value>", _
                                            "+YPaddingType:=", <Offset_Type>,
                                            "+YPadding:=", "<Y_value>",
                                            "-YPaddingType:=", <Offset_Type>,
                                            "-YPadding:=", "<-Y_value>", _
                                            "+ZPaddingType:=", <Offset_Type>,
                                            "+ZPadding:=", "<Z_value>", _
                                            "-ZPaddingType:=", <Offset_Type>,
                                            "-ZPadding:=", "<-Z_value>")
                                 <Offset_Type>
                                      Type: String
                                      Can be one of:
                                      "Percentage Offset",
                                      "Absolute Offset",
                                      "Absolute Position",
                                 <RegionAttributes>
                                      Array("NAME:Attributes",
                                      "Name:=", "Region", _
                                      "Flags:=", "Wireframe<# or >", _
                                      "Color:=", "(<red_int> <green_int> <blue_int>)", _
                                      "Transparency:=", <real>, _
                                      "PartCoordinateSystem:=", "<ID>", _
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                                  "MaterialName:=", "<MaterialName>", _
                                  "SolveInside:=", <Boolean>)
Example:
   Set oEditor = oDesign.SetActiveEditor("3D Modeler")
   oEditor.CreateRegion Array("NAME:RegionParameters",
   "+XPaddingType:=", "Absolute Offset", _
   "+XPadding:=", "1um", _
   "-XPaddingType:=", "Absolute Offset", _
   "-XPadding:=", "1um", _
   "+YPaddingType:=", "Absolute Offset", _
   "+YPadding:=", "1um",
   "-YPaddingType:=", "Absolute Offset", _
   "-YPadding:=", "1um", _
   "+ZPaddingType:=", "Absolute Offset", _
   "+ZPadding:=", "1um", _
   "-ZPaddingType:=", "Absolute Offset", _
   "-ZPadding:=", "1um"),
   Array("NAME:Attributes", "Name:=",                                            _
   "Region", "Flags:=", "Wireframe#", _
   "Color:=", "(255 0 0)", _
   "Transparency:=", 0, _
   "PartCoordinateSystem:=", "Global", _
   "MaterialValue:=", "" & Chr(34) & "vacuum" & Chr(34) & "", _
   "SolveInside:=", true)
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                            "-XPadding:=", "<-X_value>", _
                                            "+YPadding:=", "<Y_value>",
                                            "-YPadding:=", "<-Y_value>", _
                                            "+ZPadding:=", "<Z_value>", _
                                            "-ZPadding:=", "<-Z_value>")
                                 <RegionAttributes>
                                      Array("NAME:Attributes",
                                      "Name:=", "Region", _
                                      "Flags:=", "Wireframe<# or >", _
                                      "Color:=", "(<red_int> <green_int> <blue_int>)", _
                                      "Transparency:=", <real>, _
                                      "PartCoordinateSystem:=", "<ID>", _
                                      "MaterialName:=", "<MaterialName>", _
                                      "SolveInside:=", <Boolean>)
         Set oEditor = oDesign.SetActiveEditor("3D Modeler") oEditor.CreateRe-
         gion Array("NAME:RegionParameters", _ "CoordinateSystemID:=", -1, _
         "+XPadding:=", "0", "-XPadding:=", "0", _ "+YPadding:=", "0", "-YPad-
         ding:=", "0", _ "+ZPadding:=", "0", "-ZPadding:=", "0"), _
         Array("NAME:Attributes", "Name:=", "Region", _ "Flags:=", "Wire-
         frame#", _ "Color:=", "(255 0 0)", _ "Transparency:=",
         0.400000005960464, _ "PartCoordinateSystem:=", "Global", _ "Material-
         Name:=", "vacuum", _ "SolveInside:=", true)
              CreateRegularPolyhedron
    Use:                         Creates a regular polyhedron primitive.
    Command:                     Draw>Regular Polyhedron
    Syntax:                      CreateRegularPolyhedron <PolyhedronParametersArray>,
                                      <AttributesArray>
    Return Value:                The name of the newly created object.
    Parameters:                  <PolyhedronParametersArray>
                                      Array("NAME:PolyhedronParameters",
                                            "XCenter:=", <value>,
                                            "YCenter:=", <value>,
                                            "ZCenter:=", <value>,
                                            "XStart:=",                <value>,
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                                        "YStart:=",                <value>,
                                        "ZStart:=",                <value>,
                                        "Height:=",                <value>,
                                        "NumSides:=", <value>,
                                        "WhichAxis:=", <string>)
                               NumSides:
                             Specify a number greater than 2.
                             WhichAxis
                             Axis of the polyhedron. Possible values are: "X", "Y", "Z"
                             Example: "WhichAxis:=", "Z"
          CreateRegularPolygon
Use:                         Creates a regular polygon primitive.
Command:                     Draw>RegularPolygon
Syntax:                      CreateRegularPolygon <PolygonParametersArray>,
                                  <AttributesArray>
Return Value:                The name of the newly created object.
Parameters:                  <PolygonParametersArray>
                                  Array("NAME:RegularPolygonParameters",
                                        "XCenter:=",<value>,
                                        "YCenter:=",<value>,
                                        "ZCenter:=",<value>,
                                        "XStart:=", <value>,
                                        "YStart:=", <value>,
                                        "ZStart:=", <value>,
                                        "NumSides:=", "12",
                                        "WhichAxis:=", <string>)
                               NumSides
                             Specify a number greater than 2.
                             WhichAxis
                             Axis of normal vector to the polygon. Possible values are: "X", "Y", "Z"
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              CreateSphere
    Use:                         Creates a sphere primitive.
    Command:                     Draw>Sphere
    Syntax:                      CreateSphere <SphereParametersArray>, <AttributesArray>
    Return Value:                The name of the newly created object.
    Parameters:                  <SphereParametersArray>
                                      Array("NAME:SphereParameters",
                                            "XCenter:=", <value>,
                                            "YCenter:=", <value>,
                                            "ZCenter:=", <value>,
                                            "Radius:=", <value>)
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          CreateSpiral
Use:                         Creates a spiral by sweeping the specified 2D objects.
Command:                     Draw>Spiral
Syntax:                      CreateSpiral <SelectionsArray>, <SpiralParametersArray>
Return Value:                The name of the newly created object.
Parameters:                  <SelectionsArray>
                                  Array("NAME:Selections",
                                        "Selections:=", <string>)
                             Selections
                             Comma separated list of parts to sweep.
                             Example: "Selections:=", "Rect1, Rect2"
                             <SpiralParametersArray>
                                  Array("NAME:SpiralParameters",
                                        "XCenter:=", <value>,
                                        "YCenter:=", <value>,
                                        "ZCenter:=", <value>,
                                        "XStartDir:=", <value>,
                                        "YStartDir:=", <value>,
                                        "ZStartDir:=", <value>,
                                        "NumThread:=", <value>,
                                        "RightHand:=", <bool>,
                                        "RadiusIncrement:=", <value>)
          CreateTorus
Use:                         Creates a torus primitive.
Command:                     Draw>Torus
Syntax:                      CreateTorus <TorusParametersArray>, <AttributesArray>
Return Value:                The name of the newly created object.
Parameters:                  <TorusParametersArray>
                                  Array("NAME:TorusParameters",
                                        "XCenter:=", <value>,
                                        "YCenter:=", <value>,
                                        "ZCenter:=", <value>,
                                        "MajorRadius:=", <value>,
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                            "MinorRadius:=", <value>,
                                            "WhichAxis:=", <string>)
                                 WhichAxis
                                 Axis of the torus. Possible values are: "X", "Y", "Z"
                                 Example: "WhichAxis:=", "Z"
              CreateUserDefinedPart
    Use:                         Create User defined part.
    Command:                     Draw>UserDefinedPrimitive
    Syntax:                      CreateUserDefinedPart <UserDefinedParametersArray>,
                                 <AttributesArray>
    Return Value:                None
    Parameters:                  <UserDefinedParametersArray>
                                        Array("NAME:UserDefinedPrimitiveParameters",
                                          "CoordinateSystemID:=", <value>,
                                          "DllName:=", <string>,
                                          "Library:=", <string>,
                                            Array("NAME:ParamVector",
                                            Array("NAME:Pair", "Name:=", <string>, "Value:=",
                                            <value>)…)
    Example:
         oEditor.CreateUserDefinedPart
         Array("NAME:UserDefinedPrimitiveParameters",
         "CoordinateSystemID:=", -1,
         "DllName:=", "Examples/RectangularSpiral",
         "NoOfParameters:=", 6, "Library:=", "syslib",
         Array("NAME:ParamVector",
         Array("NAME:Pair", "Name:=", "Xpos", "Value:=", "0mm"),
         Array("NAME:Pair", "Name:=", "Ypos", "Value:=", "0mm"),
         Array("NAME:Pair", "Name:=", "TurnSep", "Value:=", "5mm"),
         Array("NAME:Pair", "Name:=", "Turns", "Value:=", "2"),
         Array("NAME:Pair", "Name:=", "Width", "Value:=", "2mm"),
         Array("NAME:Pair", "Name:=", "Height", "Value:=", "2mm"))),
         Array("NAME:Attributes", "Name:=", "RectangularSpiral1",
         "Flags:=", "",
         "Color:=", "(132 132 193)",
         "Transparency:=", 0,
         "PartCoordinateSystem:=", "Global",
11-22 3D Modeler Editor Script Commands
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
   "MaterialName:=", "copper",
   "SolveInside:=", _
                                  false)
          Edit3DComponent
Use:                         Edit 3D Component
Command:                     None
Syntax:                      Edit3DComponent <Component Name>
Return Value:                None
Parameters:                  <Component Name>
                                 Name of the 3D component
                             <Data>
                                 Data of the 3D component
Example:
                             oEditor.Edit3DComponent "Connector1",
                             Array("NAME:EditComponentParametersData",
                             "NewComponentName:=",   " Connector2",
                             "GeometryParameters:=", "",
                             "MaterialParameters:=", "",
                             "DesignParameters:=", "",
                             Array("NAME:Component Meshing", "MeshAssembly:=", false),
                             Array("NAME:Excitations", "Suppressed:=", Array()))
          EditPolyline
Use:                         Modifies a polyline primitive. Specify the name of the polyline to modify and
                             the new set of data for the polyline.
Command:                     Draw>Line Segment>Insert Segment Before>Straight
                       Draw>Line Segment>Insert Segment Before>Spline
                       Draw>Line Segment>Insert Segment Before>3 Point Arc
                       Draw>Line Segment>Insert Segment Before>Center Point Arc
                       Draw>Line Segment>Insert Segment After>Straight
                       Draw>Line Segment>Insert Segment After>Spline
                       Draw>Line Segment>Insert Segment After>3 Point Arc
                       Draw>Line Segment>Insert Segment After>Center Point Arc
                       Edit>Delete Start Point
                       Edit>Delete End Point.
Syntax:                      EditPolyline <SelectionsArray>,
                                  <PolylineParametersArray>,
Return Value:                The name of the newly created object
                                                                                            3D Modeler Editor Script Commands 11-23
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Parameters:                  <SelectionsArray>
                                      Array("NAME:Selections",
                                            "Selections:=", "string")
                                 Selections
                                 Name of the polyline to modify. The name should be formatted as
                                 "<PolylineName>:CreatePolyline:1".
                                 Example: "Selections:=", "Polyline1:CreatePolyline:1"
              Get3DComponentParameters
    Use:                         Get parameters of 3D components
    Command:                     none
    Syntax:                      Get3DComponentParameters <Component Name>
    Return Value:                An array of component parameters.
    Parameters:                  <Component Name>
                                     Name of the 3D component
    Example:
         Dim paras
         paras = oEditor.Get3DComponentParameters("Connector")
              Get3DComponentDefinitionNames
    Use:                         Get names of 3D component definitions
    Command:                     None
    Syntax:                      Get3DComponentDefinitionNames
    Return Value:                An array of component definition names.
    Parameters:
    Example:
         Dim defNames
         defNames = oEditor.Get3DComponentDefinitionNames()
              Get3DComponentInstanceNames
    Use:                         Get instance names of 3D component definitions.
    Command:                     None
    Syntax:                      An array of 3D component instance names.
    Return Value:                An array of 3D component instance names.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          Get3DComponentMaterialProperties
Use:                         Get material properties of 3D component material.
Command:                     None
Syntax:                      Get3DComponentMaterialProperties <Complete Material Name>
Return Value:                An array of material properties.
Parameters:                  <Complete Material Name>
                                 Name of the material with a complete format
Example:
   Dim materialProperties
   materialProperties = oEditor.Get3DComponentMaterialProperties("Con-
   nector1:Material01")
          Insert3DComponent
Use:                         Insert a 3D Component
Command:                     none
Syntax:                      Insert3DComponent <Data>
Return Value:                None
Parameters:                  <Data>
                                       Data of the 3D component
                                                                                            3D Modeler Editor Script Commands 11-25
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Example:
                                 oEditor.Insert3DComponent Array("NAME:InsertComponent-
                                 Data",
                                 "Parameters:=", "",
                                 "TargetCS:=",   "Global",
                                 "ComponentFile:=", "C:\tmp\Connector.a3dcomp")
              InsertPolylineSegment
    Use:                         Inserts a polyline segment either before or after an existing segment of a
                                 polyline primitive.
    Command:                     Draw>Line Segment>Insert Segment Before>Straight
                           Draw>Line Segment>Insert Segment Before>Spline
                           Draw>Line Segment>Insert Segment Before>3 Point Arc
                           Draw>Line Segment>Insert Segment Before>Center Point Arc
                           Draw>Line Segment>Insert Segment After>Straight
                           Draw>Line Segment>Insert Segment After>Spline
                           Draw>Line Segment>Insert Segment After>3 Point Arc
                           Draw>Line Segment>Insert Segment After>Center Point Arc
    Syntax:                      InsertPolylineSegment <InsertPolylineSegmentArray>
    Return Value:                None
    Parameters:                  <InsertPolylineSegmentArray>
                                      Array("Name:Insert Polyline Segment",
                                            "Selections:=", <string>,
                                            "Segment Index:=", <value>,
                                            "At Start:=", <bool>,
                                            "SegmentType:=", <string>
                                            <PolylinePointsArray>)
                                 <PolylinePointsArray>
                                      Array("Name:Polyline Points", <OnePointArray>,
                                            <OnePointArray>, ...)
                                 <OnePointArray>
                                      Array("Name:PLPoint",
                                            "X:=", <value>,
                                            "Y:=", <value>,
                                            "Z:=", <value>)
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             Selections
                             Name of the polyline to modify. The name should be formatted as
                                  "<PolylineName>:CreatePolyline:1".
                                  Example: "Selections:=", "Polyline1:CreatePolyline:1"
                             SegmentType
                                  Can be "Line", "Arc", "Spline", or "AngularArc"
          SweepAlongPath
Use:                         Sweeps the specified 1D or 2D parts along a path. The last 1D object
                             specified is the path for the sweep.
Command:                     Draw>Sweep>Along Path
Syntax:                      SweepAlongPath <SelectionsArray>,
                                  <PathSweepParametersArray>
Return Value:                None
Parameters:                  <PathSweepParametersArray>
                                  Array("NAME:PathSweepParameters",
                                        "DraftAngle:=", <value>,
                                        "DraftType:=", <string>,
                                        "TwistAngle:=", <value>)
                             DraftType
                         Possible values are "Extended", "Round", "Natural"
Example:                     oEditor.SweepAlongPath _
                                  Array("NAME:Selections", "Selections:=",
                                        "Polygon1,Polyline1"),_
                                  Array("NAME:PathSweepParameters", _
                                        "DraftAngle:=", "0deg",_
                                        "DraftType:=", "Round",_
                                        "TwistAngle:=", "30deg")
          SweepAlongVector
Use:                         Sweeps the specified 1D or 2D parts along a vector.
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 DraftType
                                 Possible values are "Extended", "Round", "Natural"
              SweepAroundAxis
    Use:                         Sweeps the specified 1D or 2D parts around an axis.
    Command:                     Draw>Sweep>Around Axis
    Syntax:                      SweepAroundAxis <SelectionsArray>,
                                      <AxisSweepParametersArray>
    Return Value:                None
    Parameters:                  <AxisSweepParametersArray>
                                      Array("NAME:AxisSweepParameters",
                                            "DraftAngle:=",                     <value>,
                                            "DraftType:=", <string>,
                                            "SweepAxis:=", <string>,
                                            "SweepAngle:=", <value>)
                                 DraftType
                                 Possible values are "Extended", "Round", "Natural"
                                 SweepAxis
                                 Possible values are "X", "Y", "Z"
              SweepFacesAlongNormal
    Use:                         Sweep selected faces along normal to create new object.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          SweepFacesAlongNormalWithAttributes
Use:                         Sweep selected faces along normal to create new object, user can specify
                             the attributes of the new object
Command:                     Recorded during PML creation
Syntax:                      SweepFacesAlongNormalWidthAttributes <SelectionsArray>,
                             <ParametersArray>, <AttributeArray>
Return Value:                None
Parameters:                  <ParametersArray>
                                        Array("NAME:SweepFaceAlongNormalToParameters",
                                        "FacesToDetach:=", Array(12),
                                        "LengthOfSweep:=", "0.1mm"))
Example:
oEditor.SweepFacesAlongNormalWithAttributes Array("NAME:Selections",
"Selections:=","Box1",
"NewPartsModelFlag:=", "Model"),
Array("NAME:Parameters",
Array("NAME:SweepFaceAlongNormalToParameters", "FacesToDetach:=", Array(7),
"LengthOfSweep:=", "0.424865556413828mm")),
Array("NAME:Attributes", "Name:=", "PML_Box1_1", "Flags:=", "",
"Color:=", "(132 132 193)",
"Transparency:=", 0.899999976158142,
"PartCoordinateSystem:=", "FaceCS1",
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    "UDMId:=", "",
    "MaterialValue:=", "" & Chr(34) & "vacuum" & Chr(34) & "",
    "SolveInside:=", true)
              UpdateComponentDefinition
    Use:                         Update component definition
    Command:                     None
    Syntax:                      UpdateComponentDefinition <Data>
    Return Value:                none
    Parameters:                  <Data> Component data
    Example:
                                            oEditor.UpdateComponentDefinition
                                            Array("NAME:UpdateDefinitionData",
                                            "DefinitionNames:=", " Connector, Magic_Tee",
                                            "Passwords:=", Array("", ""))
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          DeletePolylinePoint
Use:                         Deletes either a start or end point from an existing polyline segment.
Command:                     Edit>Delete Start Point
                             Edit>Delete End Point
Syntax:                      DeletePolylinePoint <DeletePointArray>
Return Value:                None
Parameters:                  <DeletePointArray>
                                  Array("Name:Delete Point",
                                        "Selections:=", <string>,
                                        "Segment Index:=", <value>,
                                        "At Start:=", <bool>)
                             Selections
                             Name of the polyline to modify. The name should be formatted as
                                  "<PolylineName>:CreatePolyline:1".
                                  Example: "Selections:=", "Polyline1:CreatePolyline:1"
          DuplicateAlongLine
Use:                         Duplicates specified parts along line.
Command:                     Edit>Duplicate>Along Line
Syntax:                      DuplicateAlongLine <SelectionsArray>,
                                  <DupLineParametersArray> <DupBoundariesArray>
Return Value:                None
Parameters:                  <DupLineParametersArray>
                                  Array("NAME:DuplicateToAlongLineParameters",
                                        "XComponent:=", <value>,
                                        "YComponent:=", <value>,
                                        "ZComponent:=", <value>,
                                        "NumClones:=", <value>)
                             NumClones
                             Specify a number greater than 1.
                             <DupBoundariesArray>
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              DuplicateAroundAxis
    Use:                         Duplicates specified parts around an axis.
    Command:                     Edit>Duplicate>Around Axis
    Syntax:                      DuplicateAroundAxis <SelectionsArray>,
                                      <DupAxisParametersArray> <DupBoundariesArray>
    Return Value:                None
    Parameters:                  <DupAxisParametersArray>
                                      Array("NAME:DuplicateAroundAxisParameters",
                                            "WhichAxis:=", <string>,
                                            "AngleStr:=", <value>,
                                            "NumClones:=",<value>)
                                 WhichAxis
                                 Axis to duplicate around. Possible values are: "X", "Y", "Z"
                                 Example: "WhichAxis:=", "Z"
                                 NumClones:
                                 Specify a number greater than 1.
                                 <DupBoundariesArray>
                                 Array("NAME:Options", "DuplicateBoundaries:=", <bool>)
Example:
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
   oEditor.DuplicateAroundAxis Array("NAME:Selections", _
   "Selections:=", "Box1", _
   "NewPartsModelFlag:=", "Model"), _
   Array("NAME:DuplicateAroundAxisParameters", _
   "CreateNewObjects:=", false, _
   "WhichAxis:=", "Z", _
   "AngleStr:=", "90deg", _
   "NumClones:=", "2"), _
   Array("NAME:Options", "DuplicateBoundaries:=", false)
          DuplicateMirror
Use:                         Duplicate specified parts according to a mirror plane.
Command:                     Edit>Duplicate>Mirror
Syntax:                      DuplicateMirror <SelectionsArray>,
                                  <DupMirrorParametersArray>
Return Value:                None
Parameters:                  <DupMirrorParametersArray>
                                  Array("NAME:DuplicateToMirrorParameters",
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                            "DuplicateMirrorBaseX:=", <value>,
                                            "DuplicateMirrorBaseY:=", <value>,
                                            "DuplicateMirrorBaseZ:=", <value>,
                                            "DuplicateMirrorNormalX:=", <value>,
                                            "DuplicateMirrorNormalY:=", <value>,
                                            "DuplicateMirrorNormalZ:=", <value>)
                                 <DupBoundariesArray>
                                 Array("NAME:Options", "DuplicateBoundaries:=", <bool>)
    Example:
         oEditor.DuplicateMirror Array("NAME:Selections", _
         "Selections:=", "Box1", _
         "NewPartsModelFlag:=", "Model"), _
         Array("NAME:DuplicateToMirrorParameters", _
         "DuplicateMirrorBaseX:=", "0mm", _
         "DuplicateMirrorBaseY:=", "0mm", _
         "DuplicateMirrorBaseZ:=", "0mm", _
         "DuplicateMirrorNormalX:=", "0mm", _
         "DuplicateMirrorNormalY:=", "-1mm", _
         "DuplicateMirrorNormalZ:=", "0mm"), _
         Array("NAME:Options", "DuplicateBoundaries:=", false)
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
"DuplicateMirrorNormalY:=", <value>,
          Mirror
Use:                         Mirrors specified parts.
Command:                     Edit>Arrange>Mirror
Syntax:                      Mirror <SelectionsArray>, <MirrorParametersArray>
Return Value:                None
Parameters:                  <MirrorParametersArray>
                                  Array("NAME:MirrorParameters",
                                        "MirrorBaseX:=", <value>,
                                        "MirrorBaseY:=", <value>,
                                        "MirrorBaseZ:=", <value>,
                                        "MirrorNormalX:=", <value>,
                                        "MirrorNormalY:=", <value>,
                                        "MirrorNormalZ:=", <value>)
Example:
   Set oEditor = oDesign.SetActiveEditor("3D Modeler")
   oEditor.Mirror Array("NAME:Selections", "Selections:=", "Box1", _
   "NewPartsModelFlag:=", "Model"), _
   Array("NAME:MirrorParameters", _
   "MirrorBaseX:=", "-0.8mm", _
   "MirrorBaseY:=", "-1mm", _
   "MirrorBaseZ:=", "0mm", _
   "MirrorNormalX:=", "0.948683298050514mm", _
   "MirrorNormalY:=", "-0.316227766016838mm", _
   "MirrorNormalZ:=", "0mm")
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                            "MirrorBaseY:=", <value>,
                                            "MirrorNormalX:=", <value>,
    "MirrorNormalY:=", <value>,
              Move
    Use:                         Moves specified parts.
    Command:                     Edit>Arrange>Move
    Syntax:                      Move <SelectionsArray>, <MoveParametersArray>
    Return Value:                None
    Parameters:                  <MoveParametersArray>
                                      Array("NAME:TranslateParameters",
                                            "TranslateVectorX:=", <value>,
                                            "TranslateVectorY:=", <value>,
                                            "TranslateVectorZ:=", <value>)
              OffsetFaces
    Use:                         Offsets faces of specified parts.
    Command:                     Edit>Arrange>Offset
    Syntax:                      OffsetFaces <SelectionsArray>, <OffsetParametersArray>
    Return Value:                None
    Parameters:                  <OffsetParametersArray>
                                      Array("NAME:OffsetParameters",
                                            "OffsetDistance:=", <value>)
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          Rotate
Use:                         Rotates specified parts.
Command:                     Edit>Arrange>Rotate
Syntax:                      Rotate <SelectionsArray>, <RotateParametersArray>
Return Value:                None
Parameters:                  <RotateParametersArray>
                                  Array("NAME:RotateParameters",
                                        "RotateAxis:=", <string>
                                        "RotateAngle:=", <value>)
                             RotateAxis
                             Possible values are: "X", "Y", "Z"
          Scale
Use:                         Scales specified parts.
Command:                     Edit>Scale
Syntax:                      Scale <SelectionsArray>, <ScaleParametersArray>
Return Value:                None
Parameters:                  <ScaleParametersArray>
                                  Array("NAME:ScaleParameters",
                                        "ScaleX:=", <value>,
                                        "ScaleY:=", <value>,
                                        "ScaleZ:=", <value>)
                                                                                            3D Modeler Editor Script Commands 11-37
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
GetCoordinateSystems
Import
ImportDXF
ImportGDSII [Modeler]
Intersect
MoveCStoEnd
MoveFaces
MoveFaces (2D Extractor)
ProjectSheet
PurgeHistory
Section
Section (2D Extractor)
SeparateBody
SetModelUnits
SetWCS
ShowWindow
Split
Subtract
SweepFacesAlongNormal
ThickenSheet
UncoverFaces
Unite
Wrap Sheet
          AssignMaterial
Use:                         Assigns a material to the specified objects. Only the MaterialName and
                             SolveInside parameters of <AttributesArray> are supported.
Command:                     Modeler>Assign Material
Syntax:                      AssignMaterial <SelectionsArray>, <AttributesArray>
Return Value:                None
Example:
                             oEditor.AssignMaterial _
                                  Array("NAME:Selections", "Selections:=", "Polygon1"),
                                  Array("NAME:Attributes", _
                                        "MaterialName:=", "tungsten",_
                                        "SolveInside:=", false)
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              Chamfer
    Use:                         Creates a chamfer.
    Command:                     Modeler>Chamfer
    Syntax:                      Chamfer (<ObjectName> <ChamferParameters>)
    Return Value:                None
    Parameters:                  <ObjectName>
                                      Array("NAME:Selections", _
                                            "Selections:=", <string>),
                                                 <ChamferParameters>
                                            Array("NAME:Parameters", _
                                                 Array("NAME:ChamferParameters", _
                                                      "CoordinateSystemID:=", <value>,
                                                      "Edges:=", <ArrayOfEdgeIDs>,
                                                      "LeftRange:=", <value>))
    Example:
                                 oEditor.Chamfer Array("Name:Selections", _
                                 "Selections:=", "Box1"), Array("NAME:Parameters", _
                                 Array("NAME:ChamferParameters", _
                                 "CoordinateSystemID:=", -1, _
                                 "Edges:=", Array(13), "LeftRange:=", "1mm"))
              Connect
    Use:                         Connects specified 1D parts to form a sheet.
    Command:                     Modeler>Surface>Connect
    Syntax:                      Connect <SelectionsArray>
    Return Value:                None
              CoverLines
    Use:                         Covers the specified 1D objects to form a sheet.
    Command:                     Modeler>Surface>Cover Lines
    Syntax:                      CoverLines <SelectionsArray>
    Return Value:                None
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          CoverSurfaces
Use:                         Covers the specified objects to form a solid object.
Command:                     Modeler>Surface>Cover Faces
Syntax:                      CoverSurfaces <SelectionsArray>
Return Value:                None
          CreateEntityList
Use:                         Creates a list of entities. The list can contain objects or faces, but not
                             both. Only the Name attribute from <AttributesArray> is supported.
Command:                     Modeler>List>Create>Object List
                       Modeler>List>Create>Face List
Syntax:                      CreateEntityList <EntityListParametersArray>,
                                  <AttributesArray>
Return Value:                None
Parameters:                  <EntityListParametersArray>
                                  Array("NAME:GeometryEntityListParameters",
                                        "EntityType:=", <string>,
                                        "EntityList:=", <array>
                             EntityType
                             Possible values are "Object", "Face"
                             EntityList
                             Array of integers – the IDs of the objects or faces to put in the list. To get the IDs, use
                             GetObjectIDByName
          CreateFaceCS
Use:                         Creates a face coordinate system. Only the Name attribute of the
                             <AttributesArray> parameter is supported.
Command:                     Modeler>Coordinate System>Create>Face CS
Syntax:                      CreateFaceCS <FaceCSParametersArray>, <AttributesArray>
Return Value:                None
Parameters:                  <FaceCSParametersArray>
                                  Array("NAME:FaceCSParameters",
                                        "FaceID:=", <int>,
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                           "PartID:=", <int>,
                                           Array("NAME:OriginPosn",
                                                "IsAttachedToEntity:=", <bool>,
                                                "EntityID:=", <value>,
                                                "PositionType:=", <string>,
                                                "UParam:=", <value>,
                                                "VParam:=", <value>,
                                                "XPosition:=", <value>,
                                                "YPosition:=", <value>,
                                                "ZPosition:=", <value>)
                                           Array("NAME:AxisPosn",
                                                "IsAttachedToEntity:=", <bool>
                                                "EntityID:=",                   <value>
                                                "PositionType:=", <string>,
                                                "UParam:=", <value>,
                                                "VParam:=", <value>,
                                                "XPosition:=", <value>,
                                                "YPosition:=", <value>,
                                                "ZPosition:=", <value>)
                                                "WhichAxis:=", <string>)
                                FaceID
                                ID of the face on which to create the coordinate system.
                                PartID
                                ID of the object on which the face ID lies.
                                IsAttachedToEntity
                                Specifies whether the point is anchored (to a vertex, edge, or face).
                                If IsAttachedToEntity is true, provide the UParam and VParam
                                parameters. Otherwise, provide the XPosition, YPosition, and
                                ZPosition parameters.
                                EntityID
                                ID of the vertex, edge, or face to which the point is anchored.
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             PositionType
                             Place where the point is anchored.
                             Possible values are: "FaceCenter", "EdgeCenter", "OnVertex",
                             "OnEdge", "OnFace"
                             UParam, VParam
                             Numbers between 0 and 1 representing the relative position of the point on the edge
                             or face.
                             Example: UParam = .5, VParam = .5 would be the center of a face.
                             WhichAxis
                             Possible values are "X", "Y", "Z"
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                                "EntityID:=",                   <value>
                                                "PositionType:=", <string>,
                                                "UParam:=", <value>,
                                                "VParam:=", <value>,
                                                "XPosition:=", <value>,
                                                "YPosition:=", <value>)
                                                "WhichAxis:=", <string>)
                                FaceID
                                     ID of the face on which to create the coordinate sys-
                                     tem.
                                PartID
                                     ID of the object on which the face ID lies.
                                IsAttachedToEntity
                                     Specifies whether the point is anchored (to a vertex,
                                     edge, or face).
                                     If IsAttachedToEntity is true, provide the UParam and
                                     VParam parameters. Otherwise, provide the XPosition and
                                     YPosition parameters.
                                EntityID
                                     ID of the vertex, edge, or face to which the point is
                                     anchored.
                                PositionType
                                     Place where the point is anchored.
                                     Possible values are: "FaceCenter", "EdgeCenter",
                                     "OnVertex", "OnEdge", "OnFace"
                                UParam, VParam
                                     Numbers between 0 and 1 representing the relative posi-
                                     tion of the point on the edge or face.
                                     Example: UParam = .5, VParam = .5                                          would be the center
                                     of a face.
                                XPosition, YPosition
                                     Fixed position of the point.
                                WhichAxis
                                Possible values are "X", "Y".
             CreateObjectCS
    Use:                        Creates an Object coordinate system.
    Command:                    Modeler>Coordinate System>Create>Object><Offset | Rotated | Both>
11-44 3D Modeler Editor Script Commands
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                "Name:=", "<ObjectCSName>")
    Example:
         Dim oAnsoftApp
         Dim oDesktop
         Dim oProject
         Dim oDesign
         Dim oEditor
         Dim oModule
         Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInterface")
         Set oDesktop = oAnsoftApp.GetAppDesktop()
         oDesktop.RestoreWindow
         Set oProject = oDesktop.SetActiveProject("coax_bend")
         Set oDesign = oProject.SetActiveDesign("HFSSDesign1")
         Set oEditor = oDesign.SetActiveEditor("3D Modeler")
         oEditor.CreateObjectCS Array("NAME:ObjectCSParameters",
         "PartID:=", 24,
         "ReverseXAxis:=", false,
         "ReverseYAxis:=", false,
         Array("NAME:Origin",
         "IsAttachedToEntity:=",
         true, "EntityID:=", 30,
         "PositionType:=", "OnVertex",
         "UParam:=", 0,
         "VParam:=", 0,
         "XPosition:=", "0",
         "YPosition:=", "0",
         "ZPosition:=", "0"),
         Array("NAME:xAxis",
         "DirectionType:=", "AbsoluteDirection",
         "EdgeID:=", -1,
         "FaceID:=", -1,
         "xDirection:=", "1",
         "yDirection:=", "0",
         "zDirection:=", "0",
         "UParam:=", 0,
         "VParam:=", 0),
         Array("NAME:yAxis",
         "DirectionType:=", "AbsoluteDirection",
         "EdgeID:=", -1,
         "FaceID:=", -1,
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
   "xDirection:=", "0",
   "yDirection:=", "1",
   "zDirection:=", "0",
   "UParam:=", 0, "VParam:=", 0)),
   Array("NAME:Attributes",
   "Name:=", "ObjectCS1")
          CreateObjectFromEdges
Use:                         Creates a polyline from the specified object edge.
Command:                     Modeler>Create Object From Edge
Syntax:                      CreateObjectFromEdges <SelectionsArray>,
                                  <ObjFromEdgeParametersArray>
Return Value:                None
Parameters:                  <SelectionsArray>
                                  Array("NAME:Selections",
                                        "Selections:=" <ObjName>)
                             <ObjFromEdgeParametersArray>
                                  Array("NAME:Parameters",
                                        <EdgeParametersArray>)
                             <EdgeParametersArray>
                                  Array("Name:BodyFromEdgeToParameters",
                                        "CoordinateSystemID:=", <int>,
                                        "Edges:=", <EdgeIDarray>)
Example:
                             oEditor.CreateEdgeFromEdges _
                                  Array("NAME:Selections", "Selections:=", "Box1"),_
                                  Array("NAME:Parameters", _
                                        Array("NAME:BodyFromEdgeToParameters", _
                                             "CoordinateSystemID:=", -1, _
                                             "Edges:=", Array(13)))
          CreateObjectFromFaces
Use:                         Creates 2D objects from the specified faces.
Command:                     Modeler>Surface>Create Object From Face
                                                                                            3D Modeler Editor Script Commands 11-47
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 <FacesOfOneObjToDetach>
                                      Array("Name:BodyFromFaceToParameters",
                                              "FacesToDetach:=", <array>)
                                 FacesToDetach
                                 Array of integers – the IDs of the faces to use to create objects.
    Example:
                                 oEditor.CreateObjectFromFaces _
                                      Array("NAME:Selections", "Selections:=", "Box1"),_
                                      Array("NAME:Parameters", _
                                            Array("NAME:BodyFromFaceToParameters", _
                                                 "FacesToDetach:=", Array(185)))
              CreateRelativeCS
    Use:                         Creates a relative coordinate system. Only the Name attribute of the
                                 <AttributesArray> parameter is supported.
    Command:                     Modeler>Coordinate System>Create>Relative CS->Offset
                           Modeler>Coordinate System>Create>Relative CS->Rotated
                           Modeler>Coordinate System>Create>Relative CS->Both
    Syntax:                      CreateRelativeCS <RelativeCSParametersArray>,
                                      <AttributesArray>
    Return Value:                None
    Parameters:                  <RelativeCSParametersArray>
                                      Array("NAME:RelativeCSParameters",
                                            "OriginX:=", <value>,
                                            "OriginY:=", <value>,
                                            "OriginZ:=", <value>,
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                                        "XAxisXvec:=", <value>,
                                        "XAxisYvec:=", <value>,
                                        "XAxisZvec:=", <value>,
                                        "YAxisXvec:=", <value>,
                                        "YAxisYvec:=", <value>,
                                        "YAxisZvec:=", <value>)
          CreateRelativeCS (2D Extractor)
Use:                         Creates a relative coordinate system. Only the Name attribute of the
                             <AttributesArray> parameter is supported.
Command:                     Modeler>Coordinate System>Create>Relative CS>Offset
                       Modeler>Coordinate System>Create>Relative CS>Rotated
                       Modeler>Coordinate System>Create>Relative CS>Both
Syntax:                      CreateRelativeCS <RelativeCSParametersArray>,
                                  <AttributesArray>
Return Value:                None
Parameters:                  <RelativeCSParametersArray>
                                  Array("NAME:RelativeCSParameters",
                                        "OriginX:=", <value>,
                                        "OriginY:=", <value>,
                                        "XAxisXvec:=", <value>,
                                        "XAxisYvec:=", <value>,
                                        "YAxisXvec:=", <value>,
                                             "YAxisYvec:=", <value>)
          DeleteLastOperation
Use:                         Deletes the last operation for specified objects.
Command:                     Modeler>Delete Last Operation
Syntax:                      DeleteLastOperation <SelectionsArray>
Return Value:                None
          DetachFaces
Use:                         Detaches the specified faces.
Command:                     Modeler>Surface>Detach Faces
Syntax:                      DetachFaces <SelectionsArray>,
                                  <DetachFacesParametersArray>
                                                                                            3D Modeler Editor Script Commands 11-49
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 <FacesOfOneObjToDetach>
                                      Array("Name:DetachFacesToParameters",
                                            "FacesToDetach:=", <array>)
                                 FacesToDetach
                                 An array of integers – the face IDs of the faces to detach.
    Example:
                                 oEditor.DetachFaces _
                                      Array("NAME:Selections", "Selections:=",_
                                            "Box5,Box4"),_
                                      Array("NAME:Parameters", _
                                            Array("NAME:DetachFacesToParameters", _
                                                 "FacesToDetach:=", Array(123, 122)),
                                      Array("NAME:DetachFacesToParameters", _
                                            "FacesToDetach:=", Array(94)))
              EditEntityList
    Use:                         Modifies an entity list.
    Command:                     Modeler>List>Reassign
    Syntax:                      EditEntityList <SelectionsArray>,
                                      <EntityListParametersArray>
    Return Value:                None
              EditFaceCS
    Use:                         Recreates an existing face coordinate system. The name of the coordinate
                                 system to modify should be specified in the <AttributesArray>
                                 parameter.
    Command:                     Modeler->Coordinate System->Edit
    Syntax:                      EditFaceCS <FaceCSParametersArray>, <AttributesArray>
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          EditObjectCS
Use:                         Edit an existing Object CS.
Command:                     Modeler>Coordinate System>Edit
Syntax:                      EditObjectCS <Array>
Return Value:                None
Parameters:                  Array("NAME:ObjectCSParameters",
                             "PartID:=", <ID>,
                             "ReverseXAxis:=", <Boolean>,
                             "ReverseYAxis:=", <Boolean>,
                       Array("NAME:Origin",
                             "IsAttachedToEntity:=", <Boolean>,
                             "EntityID:=", <ID>,
                             "PositionType:=", "<OnPositionID>,
                                    String, one of OnVertex, FaceCenter, OnEdge, AbsolutePosition
                             "UParam:=", <integer>,
                             "VParam:=", <Integer>,
                             "XPosition:=", "<Integer>",
                             "YPosition:=", "<Integer>",
                             "ZPosition:=", "<Integer>"),
                       Array("NAME:xAxis",
                             "DirectionType:=", "AbsoluteDirection",
                             "EdgeID:=", <Int>,
                             "FaceID:=", <Int>,
                             "xDirection:=", "<int>",
                             "yDirection:=", "<Int>",
                             "zDirection:=", "<Int>",
                             "UParam:=", <int>,
                             "VParam:=", <Int>),
                       Array("NAME:yAxis",
                             "DirectionType:=", "AbsoluteDirection",
                             "EdgeID:=", <Int>,
                             "FaceID:=", <int>,
                             "xDirection:=", "<int>",
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                "yDirection:=", "<int>",
                                "zDirection:=", "<int>",
                                "UParam:=", <int>,
                                "VParam:=", <int>)),
                          Array("NAME:Attributes",
                                "Name:=", "<ObjectCSName>")
    Example:
         Dim oAnsoftApp
         Dim oDesktop
         Dim oProject
         Dim oDesign
         Dim oEditor
         Dim oModule
         Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInterface")
         Set oDesktop = oAnsoftApp.GetAppDesktop()
         oDesktop.RestoreWindow
         Set oProject = oDesktop.SetActiveProject("Project53")
         Set oDesign = oProject.SetActiveDesign("HFSSDesign1")
         Set oEditor = oDesign.SetActiveEditor("3D Modeler")
         oEditor.SetWCS Array("NAME:SetWCS Parameter",
         "Working Coordinate System:=", "ObjectCS1")
         oEditor.EditObjectCS Array("NAME:ObjectCSParameters",
         "PartID:=", 6,
         "ReverseXAxis:=", false,
         "ReverseYAxis:=", false,
         Array("NAME:Origin", "IsAttachedToEntity:=", false,
         "EntityID:=", -1,
         "PositionType:=", "AbsolutePosition",
         "UParam:=", 0, "VParam:=", 0,
         "XPosition:=", "0mm", "YPosition:=", "0mm",
         "ZPosition:=", "0mm"),
         Array("NAME:xAxisPos", "IsAttachedToEntity:=", true,
         "EntityID:=", 13,
         "PositionType:=", "OnEdge",
         "UParam:=", 0.75, "VParam:=", 0,
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          EditRelativeCS
Use:                         Modifies a relative coordinate system. Use <AttributesArray> to
                             indicate the name of the coordinate system to modify.
Command:                     Modeler>Coordinate System>Edit
Syntax:                      EditRelativeCS <RelativeCSParametersArray>,
                                  <AttributesArray>
Return Value:                None
Parameters:                  <ParametersArray>
                                  Array("NAME:RelativeCSParameters",
                                        "OriginX:=", <value>,
                                        "OriginY:=", <value>,
                                        "OriginZ:=", <value>,
                                        "XAxisXvec:=", <value>,
                                        "XAxisYvec:=", <value>,
                                        "XAxisZvec:=", <value>,
                                        "YAxisXvec:=", <value>,
                                        "YAxisYvec:=", <value>,
                                        "YAxisZvec:=", <value>)
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                      Array("NAME:RelativeCSParameters",
                                            "OriginX:=", <value>,
                                            "OriginY:=", <value>,
                                            "XAxisXvec:=", <value>,
                                            "XAxisYvec:=", <value>,
                                            "YAxisXvec:=", <value>,
                                            "YAxisYvec:=", <value>)
              Export
    Use:                         Exports the model to a file.
    Command:                     Modeler>Export
    Syntax:                      Export <ExportParametersArray>
    Return Value:                None
    Parameters:                  <ExportParametersArray>
                                      Array("NAME:ExportParameters",
                                            "File Name:=", <string>,
                                            "Major Version:=", <int>,
                                            "Minor Version:=", <int>)
                                 Major Version
                                 Can be –1 or any ACIS major version supported by HFSS software.
                                 Minor Version
                                 Can be –1 or any ACIS minor version supported by HFSS software.
              ExportModelImageToFile
    Use:                         Export an image of the model to a file.
    Command:                     Modeler>Export...
    Syntax:                      ExportModelImageToFile "<path>/
                                 <imageName>.<formatsuffix>" 0,0, Array(<SaveImageParams>)
    Return Value:                None
    Parameters:                  <path>
                                      <imagename>
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
Extension Contents
                              0,0,
                              Array("NAME:SaveImageParams",
                              "ShowAxis:=","<string>",
                              "ShowGrid:=", "<string>",
                              "ShowRuler:=", "<string>")
Example:
   ' ----------------------------------------------
   ' Script Recorded by Ansoft HFSS Version 15.0.0
   ' 2:28:32 PM              Jul 30, 2012
   ' ----------------------------------------------
   Dim oAnsoftApp
   Dim oDesktop
   Dim oProject
   Dim oDesign
   Dim oEditor
   Dim oModule
   Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInterface")
   Set oDesktop = oAnsoftApp.GetAppDesktop()
   oDesktop.RestoreWindow
   Set oProject = oDesktop.SetActiveProject("dra_diel")
   Set oDesign = oProject.SetActiveDesign("HFSSDesign1")
   Set oEditor = oDesign.SetActiveEditor("3D Modeler")
   oEditor.ExportModelImageToFile                                   _
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
           "C:/MyPath/Downloads/dra_example.jpg", 0, 0,
         Array("NAME:SaveImageParams", "ShowAxis:=", _
            "Default", "ShowGrid:=", "Default", "ShowRuler:=", "Default")
              Fillet
    Use:                         Creates a fillet.
    Command:                     Modeler>Fillet
    Syntax:                      Fillet(<ObjectName> <FilletParameters>)
    Return Value:                None
    Parameters:                  <ObjectName>
                                      Array("NAME:Selections", _
                                            "Selections:=", <string>),
                                 <FilletParameters>
                                      Array("NAME:Parameters", _
                                      Array("NAME:FilletParameters", _
                                            "CoordinateSystemID:=", <value>,
                                            "Edges:=", <ArrayOfEdgeIDs>,
                                            "Radius:=", <value>,
                                            "Setback:=", <value>))
    Example:
         oEditor.Fillet Array("Name:Selections", "Selections:=", _
         "Box1"), Array("NAME:Parameters", Array("NAME:FilletParameters", _
         "CoordinateSystemID:=", -1, "Edges:=", Array(13), "Radius:=", _
         "1mm", "Setback:=", "0mm"))
              GenerateHistory
    Use:                         Generates the history for specified 1D objects.
    Command:                     Modeler>Generate History
    Syntax:                      GenerateHistory <SelectionsArray>
    Return Value:                None
              HealObject
    Use:                         To heal an imported object.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Example:
         oEditor.HealObject Array("NAME:Selections",
         "Selections:=", "Box1",
         "NewPartsModelFlag:=", "Model"),
         Array("NAME:ObjectHealingParameters",
         "Version:=", 1,
         "AutoHeal:=", false,
         "TolerantStitch:=", true,
         "SimplifyGeom:=", true,
         "TightenGaps:=", true,
         "StopAfterFirstStitchError:=", false,
         "MaxStitchTol:=", 0.001,
         "ExplodeAndStitch:=", true,
         "GeomSimplificationTol:=", -1,
         "MaximumGeneratedRadiusForSimplification:=", -1,
         "SimplifyType:=", 2,
         "TightenGapsWidth:=", 1E-006,
         "RemoveSliverFaces:=", true,
         "RemoveSmallEdges:=", true,
         "RemoveSmallFaces:=", true,
         "SliverFaceTol:=", 0,
         "SmallEdgeTol:=", 0.1,
         "SmallFaceAreaTol:=", 0.1,
         "BoundingBoxScaleFactor:=", 1250,
         "RemoveHoles:=", true,
         "RemoveChamfers:=", true,
         "RemoveBlends:=", true,
         "HoleRadiusTol:=", 0.1,
         "ChamferWidthTol:=", 0.1,
         "BlendRadiusTol:=", 0.1,
         "AllowableSurfaceAreaChange:=", 5,
         "AllowableVolumeChange:=", 5)
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          GetActiveCoordinateSystem
Use:                         Get active coordinate system.
Command:                     None.
Syntax:                      GetActiveCoordinateSystem
Return Value:                Active coordinate name.
Parameters:                  None.
Example:
   Dim csName
   csName = oEditor.GetActiveCoordinateSystem
          GetCoordinateSystems
Use:                         Get coordinate system names.
Command:                     None
Syntax:                      GetCoordinateSystems
Return Value:                An array of coordinate system names
Parameters:                  None
Example:
   Dim csNames
   csNames = oEditor.GetCoordinateSystems ()
          Import
Use:                         Imports a 3D model file.
Command:                     Modeler>Import
Syntax:                      Import <ImportParametersArray>
Return Value:                None
Parameters:                  <ImportParametersArray>
                                  Array("NAME:NativeBodyParameters",
                                  "CoordinateSystemID:=", <ID>,
                                  "HealOption:=", <integer>,
                                  "CheckModel:=", <boolean>,
                                  "Options:=", "",
                                  "FileType:=", "UnRecognized",
                                  "MaxStitchTol:=", <value>,
                                  "SourceFile:=", "string")
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ImportDXF
    Use:                         Imports an AutoCAD model file and a tech file. The tech file is an ASCII file
                                 that lists the units, the layer name followed by tab delimited color,
                                 elevations and thickness.
    Command:                     Modeler>Import
    Syntax:                      ImportDXF <ImportParametersArray>
    Return Value:                None
    Parameters:                  <ImportParametersArray>
                                      Array("NAME:options",
                                            "FileName:=", <path>,
                                            "Scale:=", <real>,
                                            "UnionOverlapping:=", <boolean>,
                                            "AutoDetectClosed:=", <boolean>,
                                            "SelfStitch:=", <boolean>,
                                            "DefeatureGeometry:=", <boolean>,
                                            "DefeatureDistance:=", <real>,
                                            "RoundCoordinates:=", <boolean>,
                                            "RoundNumDigits:=", <integer>,
                                            "WritePolyWithWidthAsFilledPoly:=", <boolean>,
                                            "ImportMethod:=", <integer>,
                                            "2DSheetBodies:=", <boolean>,
                                      Array("NAME:LayerInfo",
                                            Array("NAME:<layerName>",
                                            "source:=", "<integer>",
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
                                    "display_source:=", "<integer>",
                                    "import:=", <boolean>,
                                    "dest:=", "<integer>",
                                    "dest_selected:=", <boolean>,
                                    "layer_type:=", "<string>",
                                    "paint:=", <boolean>),
                              Array("NAME:TechFileLayers", "layer:=",
                                    Array("name:=", "ground",
                                    "color:=", "purple",
                                    "elev:=", 0,
                                    "thick:=", 0.0001),
                                    )))
                              oEditor.Import Array("NAME:NativeBodyParameters",
                                    "CoordinateSystemID:=", -1,
                                    "HealOption:=", <integer>,
                                    "CheckModel:=", <boolean>,
                                    "Options:=", "",
                                    "FileType:=", "UnRecognized",
                                    "MaxStitchTol:=", <real>,
                                    "SourceFile:=", "<path>" & ".sm3")
Example:
   Set oDesign = oProject.SetActiveDesign("HFSSDesign1")
   Set oEditor = oDesign.SetActiveEditor("3D Modeler")
   oEditor.ImportDXF Array("NAME:options", "FileName:=",                                                              _
     "C:/mymodel.dxf", ...
   Array("NAME:TechFileLayers", ...
   "layer:=", Array("name:=", "BOTTOMLAYER",
   "color:=", "purple",
   "elev:=", 0,
   "thick:=", 200),
   )))
   oEditor.Import Array("NAME:NativeBodyParameters",
   "CoordinateSystemID:=", -1,
   "HealOption:=", 0,
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
         "CheckModel:=", true,
         "Options:=", "",
         "FileType:=", "UnRecognized",
         "MaxStitchTol:=", 0.001,
         "SourceFile:=", "C:design." & ".sm3")
                                      "OrderMap:=", Array("entry:=",
                                      Array("order:=", <integer>,
                                      "layer:=", "<string>"),
                                      "entry:=", Array("order:=",
                                      <integer>, "layer:=", "Signal25"),
                                      "entry:=", Array("order:=", <integer+1>,
                                      "layer:=", "Signal30"),
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                                  ...),
                             Array("NAME:Structs",
                             Array("NAME:GDSIIStruct", "ImportStruct:=", <boolean>,
                                  "CreateNewCell:=", <boolean>,
                                  "StructName:=", "string>",
                                  Array("NAME:Elements")),
                                  Array("NAME:GDSIIStruct", "ImportStruct:=",<boolean>,
                                  "CreateNewCell:=", <boolean>,
                                  "StructName:=", "<string>",
                                  Array("NAME:Elements"))))
                             oEditor.Import Array("NAME:NativeBodyParameters",
                                  "CoordinateSystemID:=", <ID>,
                                  "HealOption:=", <integer>,
                                  "CheckModel:=", <boolean>,
                                  "Options:=", "",
                                  "FileType:=", "UnRecognized",
                                  "MaxStitchTol:=", <value>,
                                  "SourceFile:=", "string")
Example:
   Set oDesign = oProject.SetActiveDesign("HFSSDesign1")
   Set oEditor = oDesign.SetActiveEditor("3D Modeler")
   oEditor.ImportGDSII Array("NAME:options", ...
          Intersect
Use:                         Intersects specified objects.
Command:                     Modeler>Boolean>Instersect
Syntax:                      Intersect <SelectionsArray>, <IntersectParametersArray>
Return Value:                None
Parameters:                  <IntersectParametersArray>
                                  Array("NAME:IntersectParameters",
                                        "KeepOriginals:=",                        <bool>)
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              MoveCStoEnd
    Use:                         Moves the named ObjectCS to the end of the History tree.
    Command:                     Modeler>Coordinate System>Move CS to End
    Syntax:                      MoveCSToEnd Array("NAME:Selections",
                                 "Selections:=", "<ObjectCSName>")
    Return Value:                None
    Parameters:                  <ObjectCSName>
    Example:
         Dim oAnsoftApp
         Dim oDesktop
         Dim oProject
         Dim oDesign
         Dim oEditor
         Dim oModule
         Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInterface")
         Set oDesktop = oAnsoftApp.GetAppDesktop()
         oDesktop.RestoreWindow
         Set oProject = oDesktop.SetActiveProject("coax_bend")
         Set oDesign = oProject.SetActiveDesign("HFSSDesign1")
         Set oEditor = oDesign.SetActiveEditor("3D Modeler")
         oEditor.MoveCSToEnd Array("NAME:Selections",
         "Selections:=", "ObjectCS1")
              MoveFaces
    Use:                         Moves the specified faces along normal or along a vector.
    Command:                     Modeler>Surface>Move Faces>Along Normal
                           Modeler>Surface>Move Faces>Along Vector
    Syntax:                      MoveFaces <SelectionsArray>, <MoveFacesParametersArray>
    Return Value:                None
    Parameters:                  <MoveFacesParametersArray>
                                      Array("NAME:Parameters",
                                              <FacesOfOneObjToMove>, <FacesOfOneObjToMove>, ...)
                                 <FacesOfOneObjToMove>
                                      Array("Name:MoveFacesParameters",
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
                                     "MoveAlongNormalFlag:=",                               <bool>,
                                     "OffsetDistance:=", <value>,
                                     "MoveVectorX:=", <value>,
                                     "MoveVectorY:=", <value>,
                                     "MoveVectorZ:=", <value>,
                                     "FacesToMove:=", <array>)
                          MoveAlongNormalFlag
                          Specifies whether to move along the face normal or along a vector.
                          If false, provide the MoveVectorX, MoveVectorY, and MoveVectorZ parame-
                          ters.
                          FacesToMove
                          Array of integers – the IDs of the faces to move
Example:
                          oEditor.MoveFaces _
                               Array("NAME:Selections", "Selections:=", _
                                     "Box2,Box1"), _
                               Array("NAME:Parameters", _
                                     Array("NAME:MoveFacesParameters", _
                                          "MoveAlongNormalFlag:=", true, _
                                          "OffsetDistance:=", "1mm", _
                                          "FacesToMove:=", Array(218)),
                                     Array("NAME:MoveFacesParameters", _
                                          "MoveAlongNormalFlag:=", false,_
                                          "OffsetDistance:=", "1mm", _
                                          "MoveVectorX:=", "1mm", _
                                          "MoveVectorY:=", "0mm", _
                                          "MoveVectorZ:=", "0mm", _
                                          "FacesToMove:=", Array(185)))
       ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Syntax:                      ProjectSheet
                             (Array("NAME:Selections",Selections:="...,...,""),
                             Array("NAME:ProjectSheetParameters")
Return Value:                None
Parameters:                  None
Example:
   Set oDesign = oProject.SetActiveDesign("HFSSDesign1")
   Set oEditor = oDesign.SetActiveEditor("3D Modeler")
   oEditor.ProjectSheet Array("NAME:Selections", "Selections:=",
   "Box1,Box2,Polyline1"),
   array("NAME:ProjectSheetParameters")
          PurgeHistory
Use:                         Purges the construction history of the selected object. For complex objects
                             this simplifies the object and can improve modeler speed.
Command:                     Modeler>Purge History
Syntax:                      PurgeHistory <PurgeHistoryArray>
Return Value:                None
Parameters:                  <PurgeHistoryArray>
                                  Array(“Name:Selections”,
                                  “Selections:=”, <string>,
                                  “NewPartsModelFlag:=”, ["Model" | "NonModel"])
                             Selections
                             Name of the object to purge.
                             NewPartsModelFlag
                             Flag to indicate model properties, Model or NonModel.
Example:
   oEditor.PurgeHistory Array("NAME:Selections", _
   "Selections:=", "Polygon1", "NewPartsModelFlag:=", "Model")
          Section
Use:                         Creates a 2D cross-section of the selection in the specified plane.
Command:                     Modeler>Surface>Section
Syntax:                      Section <SelectionsArray>, <SectionParametersArray>
Return Value:                None
Parameters:                  <SectionParametersArray>
                                                                                            3D Modeler Editor Script Commands 11-67
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                      Array("NAME:SectionToParameters",
                                            "SectionPlane:=", <string>)
                                   Section Plane
                                 Possible values are "XY", "YZ", "ZX"
              SeparateBody
    Use:                         Separates bodies of specified multi-lump objects.
    Command:                     Modeler>Boolean>Separate Bodies
    Syntax:                      SeparateBody <SelectionsArray>
    Return Value:                None
    Parameters:                  <SelectionsArray>
                                      Selections:=",<objectNames>"
                                      "NewPartsModelFlag:=", ["Model" | "NonModel"]
                                        Indicates the type of model properties in the geometry - Model or Non Model.
    Example:
         Set oDesign = oProject.SetActiveDesign("HFSSDesign1")
         Set oEditor = oDesign.SetActiveEditor("3D Modeler")
         oEditor.SeparateBody Array("NAME:Selections",
         "Selections:=", "Rectangle1,Circle1",
         "NewPartsModelFlag:=", "Model")
              SetModelUnits
    Use:                         Sets the model units.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Command:                     Modeler>Units
Syntax:                      SetModelUnits <ModelUnitsParametersArray>
Return Value:                None
Parameters:                  <ModelUnitsParametersArray>
                                  Array("NAME:Units Parameter",
                                        "Units:=", <string>,
                                        "Rescale:=", <bool>)
                             Units
                             Possible values are: "cm", "ft", "in", "meter", "mil", "mm", "nm",
                             "uin", "um"
          SetWCS
Use:                         Sets the working coordinate system.
Command:                     Modeler>Coordinate System>Set Working CS
Syntax:                      SetWCS <WCSParametersArray>
Return Value:                None
Parameters:                  <WCSParametersArray>
                                  Array("NAME:SetWCS Parameter",
                                        "Working Coordinate System:=", <string>)
          Split
Use:                         Splits specified objects along a plane.
                                                                                            3D Modeler Editor Script Commands 11-69
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Command:                     Modeler->Boolean->Split
    Syntax:                      Split <SelectionsArray>, <SplitParametersArray>
    Return Value:                None
    Parameters:                  <SplitParametersArray>
                                      Array("NAME:SplitToParameters",
                                            "SplitPlane:=", <string>,
                                            "WhichSide:=", <string>)
                                 SplitPlane
                                 Possible values are "XY", "YZ", "ZX"
                                 WhichSide
                                 Side to keep. Possible values are "Both", "PositiveOnly", "NegativeO-
                                 nly"
              Split (2D Extractor)
    Use:                         Splits specified objects along a plane.
    Command:                     Modeler>Boolean>Split
    Syntax:                      Split <SelectionsArray>, <SplitParametersArray>
    Return Value:                None
    Parameters:                  <SplitParametersArray>
                                      Array("NAME:SplitToParameters",
                                            "SplitPlane:=", <string>,
                                            "WhichSide:=", <string>)
                                 SplitPlane
                                 Possible values are "XY"
                                 WhichSide
                                 Side to keep. Possible values are "Both", "PositiveOnly", "NegativeO-
                                 nly"
              Subtract
    Use:                         Subtracts specified objects.
    Command:                     Modeler->Boolean->Subtract
    Syntax:                      Subtract <SubtractSelectionsArray>,
                                      <SubtractParametersArray>
    Return Value:                None
    Parameters:                  <SubtractSelectionsArray>
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                                  Array("NAME:Selections",
                                        "Blank Parts:=", <string>,
                                        "Tool Parts:=", <string>)
                             Blank Parts
                             Comma-separated list of parts to use as the blank in the subtract operation.
                             Example: "Blank Parts:=", "Box1, Box2"
                             Tool Parts
                             Comma-separated list of parts to use as the tool in the subtract operation.
                             Example: "Blank Parts:=", "Box3, Box4"
                             <SubtractParametersArray>
                                  Array("NAME:SubtractParameters",
                                        "KeepOriginals:=",                        <bool>)
Example:
                             oEditor.Subtract _
                                  Array("NAME:Selections", _
                                        "Blank Parts:=", "Polygon1",_
                                        "Tool Parts:=",                     "Box1"),_
                                  Array("NAME:SubtractParameters", _
                                        "KeepOriginals:=", false)
          SweepFacesAlongNormal
Use:                         Sweep a face along normal.
Command:                     Modeler>Sweep Faces Along Normal
Syntax:                      SweepFacesAlongNormal <selection> <parameters>
Return Value:                None
Parameters:                  Array("NAME:Selections",
                                  "Selections:=", "<faceID>",
                                  "NewPartsModelFlag:=", ["Model" | "NonModel"]),
                                  Array("NAME:Parameters",
                                  Array("NAME:SweepFaceAlongNormalToParameters",
                                  "FacesToDetach:=", Array( <faceID>),
                                  "LengthOfSweep:=", "<value><units>")
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                      )
    Example:
         oEditor.SweepFacesAlongNormal
                                      Array("NAME:Selections",
                                      "Selections:=", "Rectangle1",
                                      "NewPartsModelFlag:=", "Model"),
                                      Array("NAME:Parameters",
                                      Array("NAME:SweepFaceAlongNormalToParameters",
                                      "FacesToDetach:=",
                                      Array( 57),
                                      "LengthOfSweep:=", "0.5mm")
                                      )
              ThickenSheet
    Use:                         Thicken a sheet object to convert it to a 3D object.
    Command:                     Modeler>Surface>Thicken Sheet
    Syntax:                      Thicken Sheet <SelectionParameters>
                                 <SheetThickenParameters>
    Return Value:                None
    Parameters:                  Array("NAME:Selections",
                                      "Selections:=", "<objectID>",
                                      "NewPartsModelFlag:=", ["Model" | "NonModel"]),
                                      Array("NAME:SheetThickenParameters",
                                      "Thickness:=", "<value><units>",
                                      "BothSides:=", <boolean>)
    Example:
         oEditor.ThickenSheet Array("NAME:Selections",
         "Selections:=", "Rectangle1",
         "NewPartsModelFlag:=", "Model"),
         Array("NAME:SheetThickenParameters",
         "Thickness:=", "1.01mm",
         "BothSides:=", false)
              UncoverFaces
    Use:                         Uncovers specified faces.
    Command:                     Modeler>Surface>Uncover Faces
    Syntax:                      UncoverFaces <SelectionsArray>, <UncoverParametersArray>
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             <FacesOfOneObjToUncover>
                                  Array("Name:UncoverFacesParameters",
                                        "FacesToUncover:=", <array>)
                             FacesToUncover
                             An array of integers – the face IDs of the faces to uncover.
Example:
                             oEditor.UncoverFaces _
                                  Array("NAME:Selections", "Selections:=", _
                                        "Box3,Box2"),_
                                  Array("NAME:Parameters", _
                                        Array("NAME:UncoverFacesParameters", _
                                             "FacesToUncover:=", Array(69)),
                                        Array("NAME:UncoverFacesParameters", _
                                             "FacesToUncover:=", Array(36)))
          Unite
Use:                         Unites the specified objects.
Command:                     Modeler>Boolean>Unite
Syntax:                      Unite <SelectionsArray>, <UniteParametersArray>
Return Value:                None
Parameters:                  <UniteParametersArray>
                                  Array("NAME:UniteParameters",
                                             "KeepOriginals:=", <bool>)
          WrapSheet
Use:                         Wraps a sheet object to another object.
Command:                     Wrap Sheet
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
GetEdgeByPosition
GetEdgeByID (Q3D Extractor)
GetEdgeByPosition(2DExtractor)
GetEdgeIDsFromObject
GetEdgeIDsFromFace
GetFaceArea
GetFaceByPosition
GetFaceByPosition(2DExtractor)
GetFaceCenter
GetFaceIDs
GetModelBoundingBox
GetObjectIDByName
GetObjectName
GetObjectNameByFaceID
GetObjectsByMaterial
GetObjectsInGroup
GetMatchedObjectName
GetModelUnits
GetNumObjects
GetSelections
GetVertexIDsFromEdge
GetVertexIDsFromFace
GetVertexIDsFromObject
GetVertexPosition
GetUserPosition
PageSetup
RenamePart
          ChangeProperty
Use:                         Change the properties used to create an object in the history tree
Command:                     Select a command in the History Tree and select Properties.
Syntax:                      ChangeProperty <array>
Return Value:                None
Parameters:                  Varies, depending on the properties associated with the
                             select object command.
Example:
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
         ' ----------------------------------------------
         ' Script Recorded by Ansoft HFSS Version 14.0.0
         ' 9:49:26 AM                Mar 09, 2011
         ' ----------------------------------------------
         Dim oAnsoftApp
         Dim oDesktop
         Dim oProject
         Dim oDesign
         Dim oEditor
         Dim oModule
         Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInterface")
         Set oDesktop = oAnsoftApp.GetAppDesktop()
         oDesktop.RestoreWindow
         Set oProject = oDesktop.SetActiveProject("Project58")
         Set oDesign = oProject.SetActiveDesign("HFSSDesign1")
         Set oEditor = oDesign.SetActiveEditor("3D Modeler")
         oEditor.ChangeProperty Array("NAME:AllTabs", Array("NAME:Geometry3DC-
         mdTab",
         Array("NAME:PropServers", "Polyline2:CreatePolyline:1"),
         Array("NAME:ChangedProps",
         Array("NAME:Type", "Value:=", "Isosceles Trapezoid"),
         Array("NAME:Width/Diameter", "Value:=", "0.1mm"),
         Array("NAME:Top Width", "Value:=", "0.05mm"),
         Array("NAME:Height", "Value:=", "0.02mm"))))
         oEditor.ChangeProperty Array("NAME:AllTabs", Array("NAME:Geometry3DC-
         mdTab", Array("NAME:PropServers", "Polyline2:CreatePolyline:1"),
         Array("NAME:ChangedProps",
         Array("NAME:Bend Type", "Value:=", "Corner"))))
              Delete
    Use:                         Deletes specified objects, coordinate systems, points, planes, etc.
    Command:                     None
    Syntax:                      Delete <SelectionsArray>
    Return Value:                None
              GetBodyNamesByPosition
    Use:                         Gets the IDs of objects that contact the given point.
11-76 3D Modeler Editor Script Commands
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Command:                     None.
Syntax:                      GetBodyNamesByPosition(<positionParameters>).
Return Value:                Retuurns a list of IDs.
Parameters:                  <PositionParameters>
                                  Array("NAME:Parameters", _
                                        "Xposition:=", <value>,
                                        "YPosition:=", <value>,
                                        "ZPosition:=", <value>)
Example:
   bodyNames = oEditor.GetBodyNamesByPosition(Array("NAME:Parameters", _
                                  "XPosition:=", "a", _
                                  "YPosition:=", "0mm", _
                                  "ZPosition:=", "0mm"))
          GetEdgeByPosition
Use:                         Gets the edge IDcorresponding to position input.
Syntax:                      GetEdgeByPosition(<PositionParameters>)
Return Value:                Returns an integer edge ID.
Parameters:                  <PositionParameters>
                                  Array("NAME:EdgeParameters", _
                                        "BodyName:=", <string>,
                                        "Xposition:=", <value>,
                                        "YPosition:=", <value>,
                                        "ZPosition:=", <value>)
Example:
   edgeid = oEditor.GetEdgeByPosition(Array("NAME:EdgeParameters", _
   "BodyName:=", "Box1", "XPosition:=", "3.4mm", _
   "YPosition:=", "2.8mm", "ZPosition:=", "0.4mm"))
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                            "BodyName:=", <string>,
                                            "Xposition:=", <value>, "YPosition:=", <value>)
    edgeid = oEditor.GetEdgeByPosition(Array("NAME:EdgeParameters", _ "Body-
    Name:=", "Box1", "XPosition:=", "3.4mm", _ "YPosition:=", "2.8mm")
              GetEdgeIDsFromFace
    Use:                         Get the edge IDs of given a face ID.
    Command:                     None
    Syntax:                      GetEdgeIDsFromFace <Face ID>
    Return Value:                An array of edge IDs
    Parameters:                  <FaceID>
                                 ID of the face
    Example:
         Dim oEdgeIDs
         oEdgeIDs = Array()
         oEdgeIDs = oEditor.GetEdgeIDsFromFace(10)
              GetEdgeIDsFromObject
    Use:                         Get the edge IDs of given an object name
    Command:                     None
    Syntax:                      GetEdgeIDsFromObject <Object Name>
    Return Value:                An array of edge IDs
    Parameters:                  <ObjectName>
                                 Name of the object
    Example:                     Example:
         Dim oEdgeIDs
11-78 3D Modeler Editor Script Commands
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
   oEdgeIDs = Array()
   oEdgeIDs = oEditor.GetEdgeIDsFromObject(“Box1”)
          GetFaceArea
Use:                         Get area of given face ID.
Command:                     None.
Syntax:                      GetFaceArea <face ID>
Return Value:                Double value for face area.
Parameters:                  <FaceID>
                             Face ID
Example:
   Dim oArea
   oArea = oEditor.GetFaceArea(10)
          GetFaceCenter
Use:                         Given a face ID, return the center position
Command:                     none
Syntax:                      GetFaceCenter <FaceID>
Return Value:                An array containing face center position
Parameters:                  <FaceID>
Example:
   Dim oFaceCenter
   oFaceCenter = oEditor.GetFaceCenter(oFaceID)
          GetFaceByPosition
Use:                         Gets the face id corresponding to position input.
Syntax:                      GetFaceByPosition(<FaceByPositionParametersArray>)
Return Value:                Returns an integer face id
Parameters:                  (<FaceByPositionParametersArray>)
                             Array("NAME:FaceParameters",
                                    "BodyName:=", <string>,
                                    "XPosition:=", <value>,
                                    "YPosition:=", <value>,
                                    "ZPosition:=", <value>)
                             BodyName
                                    Name of the body on which the point lies.
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 The point should be on exactly one face, not at a vertex or edge where two or more
                                 faces join. And the coordinates must be on the face.
    Example:
         Dim faceid
         faceid = oEditor.GetFaceByPosition(Array("NAME:FaceParameters", _
         "BodyName:=" "Box1", "XPosition:=", "3.4mm", "YPosition:=, _
         "2.8mm", "ZPosition:=", "0.4mm"))
              GetFaceIDs
    Use:                         Get the face IDs of given an object name
    Command:                     None.
    Syntax:                      GetFaceIDs <Object Name>
    Return Value:                An array of face IDs
    Parameters:                  <ObjectName>
                                 Name of the object
    Example:
         Dim oFaceIDs
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
   oFaceIDs = Array()
   oFaceIDs = oEditor.GetFaceIDs(“Box1”)
          GetModelBoundingBox
Use:                         Gets the bounding box of the current model.
Syntax:                      GetModelBoundingBox()
Return Value:                Returns the Xmin, Ymin, Zmin, Xmax, Ymax, Zmax values that define the
                             bounding box.
Parameters:                  None
Example:
                             Dim oBoundingBox
                             oBoundingBox = oEditor.GetModelBoundingBox()
          GetObjectIDByName
Use:                         Get Object IDs to provide for CreateEntityList.
Syntax:                      GetObjectIDByName("<objectName>")
Return Value:                <Object ID>
Parameters:                  <objectName>
                             Type: <string>
Example:
   oObjectID = oEditor.GetObjectIDByName("Box2")
          GetObjectName
Use:                         Gets an object name corresponding to the 0 base index of the creation
                             order.
Syntax:                      GetObjectName(<Index>)
Return Value:                Returns the object name of the corresponding object.
Parameters:                  <Index>
                             Type: <string>
                             The 0 base index of the creation order
Example:
                             objectname = oEditor.GetObjectName(3)
          GetObjectNameByFaceID
Use:                         Gets an object name corresponding to the input face id.
                                                                                            3D Modeler Editor Script Commands 11-81
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Syntax:                      GetObjectName(<FaceID>)
    Return Value:                Returns the name of the corresponding object.
    Parameters:                  <FaceID>
                                 Type: <string>
    Example:
                                 objectname = oEditor.GetObjectNameByFaceID(Face10)
              GetObjectsByMaterial
    Use:                         Get objects by material name.
    Command:                     None.
    Syntax:                      GetObjectsByMaterial <Material Name>
    Return Value:                An array of object names.
    Parameters:                  <Material Name>
                                 Type: <string>
                                 Material name/
    Example:
         Dim objNames
         objNames = oEditor.GetObjectsByMaterial("vacuum")
              GetObjectsInGroup
    Use:                         Returns the objects for the specified group.
    Syntax:                      GetObjectsInGroup(<GroupName>)
    Return Value:                The objects in the group.
    Parameters:                  <groupName>
                                 Type: <string>
                                 One of <materialName>, <assignmentName>, "Non Model", "Solids", "Unclassi-
                                 fied", "Sheets", "Lines"
    Example:
         Set oEditor = oDesign.SetActiveEditor("3D Modeler")
         Dim oObject
         Dim oObjects
         Set oObjects = oEditor.GetObjectsInGroup( "Sheets" )
         For Each oObject in oObjects
                                 MsgBox oObject
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Next
          GetMatchedObjectName
Use:                         Gets all object names containing the input text string.
Syntax:                      GetMatchedObjectName(<ObjectNameWildcardText>)
Return Value:                Array of object names containing wildcard text.
Parameters:                  <ObjectNameWildcardText>
                             Type: <string>
                             Text to be used for object name matching.
Example:
                             objectnames = oEditor.GetMatchedObjectName("Box*")
          GetModelUnits
Use:                         Get the model units.
Command:                     None.
Syntax:                      GetModelUnits
Return Value:                A string contains current model units.
Parameters:                  None.
Example:
   Dim oUnit
   oUnit = oEditor.GetModelUnits()
          GetNumObjects
Use:                         Gets the number of objects in a design.
Syntax:                      GetNumObjects
Return Value:                Returns the number of objects.
                             Type: <int>
Parameters:                  None
Example:
                             totalobjects = oEditor.GetNumObjects
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              GetUserPosition
    Use:                         Returns the coordinates of an interactive position input in the 3D model
                                 window.
    Syntax:                      GetUserPosition(<PositionInputPrompt>)
    Return Value:                Array of coordinates
    Parameters:                  <PositionInputPrompt>
                                 Type: <string>
    Example:
                                 Dim position
                                 Dim coord
                                 position = oEditor.GetUserPosition("Enter a point")
                                 For Each coord in position
                                      Msgbox(coord)
                                 Next
              GetVertexIDsFromEdge
    Use:                         Get the vertex IDs of given a edge ID.
    Command:                     None.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          GetVertexIDsFromFace
Use:                         Get the vertex IDs of given a face ID.
Command:                     None.
Syntax:                      GetVertexIDsFromFace <Face ID>
Return Value:                An array of vertex IDs
Parameters:                  <FaceID>
                             ID of the face
Example:
   Dim oVertexIDs
   oVertexIDs = Array()
   oVertexIDs = oEditor.GetVertexIDsFromFace(10)
          GetVertexIDsFromObject
Use:                         Get the vertex IDs of given an object name
Command:                     None.
Syntax:                      GetVertexIDsFromObject <Object Name>
Return Value:                An array of edge IDs
Parameters:                  <ObjectName>
                             Name of the object
Example:
   Dim oVertexIDs
   oVertexIDs = Array()
   oVertexIDs = oEditor.GetVertexIDsFromObject(“Box1”)
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              GetVertexPosition
    Use:                         Returns a vector of vertex coordinates.
    Syntax:                      GetVertexPosition(<VertexID>)
    Return Value:                Vector of coordinates
    Parameters:                  <VertexID>
                                 Type: <vector>
    Example:
         position = oEditor.GetVertexPosition(VertexIDs(0))
              PageSetup
    Use:                         Specifies the page settings for printing.
    Command:                     File>Page Setup
    Syntax:                      PageSetup <PageSetupParametersArray>
    Return Value:                None
    Parameters:                  <PageSetupParametersArray>
                                      Array("NAME:PageSetupData",
                                            "margins:=",
                                                 Array("left:=", <value>,
                                                 "right:=", <value>,
                                                 "top:=", <value>,
                                                 "bottom:=", <value>))
              RenamePart
    Use:                         Renames an object.
    Command:                     None
    Syntax:                      RenamePart <RenameParametersArray>
    Return Value:                None
    Parameters:                  <RenameParametersArray>
                                      Array("NAME:Rename Data",
                                            "Old Name:=", <string>,
                                            "New Name:=", <string>)
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
12               Output Variable Script
              Commands
                    For Q3D Extractor the old ouput variable commands were executed as fol-
                    lows.
                    Set oDesign = oProject.GetDesign ("Q3DDesign1" or “2DEx-
                    tractorDesign1")
                    Set oModule = oDesign.GetModule("OutputVariable")
 ANSYS Electromagnetics Suite 16.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                     of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              CreateOutputVariable
    Different forms of this command are documented for HFSS, Q3D Extractor and Schematic and
    Layout Editors.
    Command details for HFSS are as follows:
    Use:                         Add a new output variable to the output variable list. Output variables are
                                 associated with a name and an expression. The name of an output variable
                                 is not permitted to collide with design variables or Sim values or with other
                                 output variable names. It cannot have spaces or any arithmetic or other
                                 operators in it. The definitions cannot be cyclic. For example, A = 2*B,
                                 B=3*A is not allowed.
    Command:                     HFSS>Results>Output Variable
    Syntax:                      CreateOutputVariable <OutputVarName>, <Expression>,
                                 <Solution Name>, <reportTypeName>, <ContextArray>
    Return Value:                None.
    Parameters:                  <OutputVarName>
                                 Type: <string>
                                 Name of the output variable
                                 <Expression>
                                 Type: <value>
                                 Value to assign to the variable
                                 <SolutionName>
                                 Type: <string>
                                 The name of the solution as seen in the output variable UI.
                                 <ReportTypeName >
                                 Type: <string>
                                 The name of the report type as seen in the output variable UI.
                                 <ContextArray>
                                 Type: <variant>
                                 Context for which the output variable expression is being evaluated.
    Example:
         Set oModule = oDesign.GetModule("OutputVariable")
         oModule.CreateOutputVariable "test","mag(S(WavePort1,WavePort1))", _
               "Setup1 : LastAdaptive", "Modal Solution Data", _
               Array("Domain:=", "Sweep")
              ANSYS Electromagnetics Suite 16.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
For Layout Editor the CreateOutputVariable syntax and other details are as follows:
                             <Expression>
                             Type: <value>
                             Value to assign to the variable.
                             <SolutionName>
                             Type: <string>
                             Name of the solution as listed in the output variable UI.
                             For example: "Setup1 : Last Adaptive"
                             <ReportTypeName>
                             Type: <string>
                             The name of the report type as seen in the output variable UI.
                             <SimValueContext>
                             Type: <variant>
                             Context for which the output variable expression is being evaluated. For more infor-
                             mation see SimValueContext.
          ANSYS Electromagnetics Suite 16.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    For Q3D Extractor or a 2D Extractor the command and example are as follows:
    Command:                     Q3D Extractor or 2D Extractor>Results>Output Variables
    Example:                     Set oModule = oDesign.GetModule("OutputVariable")
                                 oModule.CreateOutputVariable "char_Z", _
                                 "sqrt(ACL(via:via_source,via:via_source)/
                                 C(via,GroundPlane))", _ "Setup1 : LastAdaptive",
                                 "Matrix", Array("Context:=", "Original")
              DeleteOutputVariable
    Use:                         Deletes an existing output variable. The variable can only be deleted if it is
                                 not in use by any traces.
    Command:                     HFSS>Output Variables, dialog Delete Button
    Syntax:                      DeleteOutputVariable <OutputVarName>
    Return Value:                None
    Parameters:                  <OutputVarName>
                                 Type: <string>
                                 Name of the output variable.
    Example:
         Set oModule = oDesign.GetModule("OutputVariable")
         oModule.DeleteOutputVariable “efield_online”
              ANSYS Electromagnetics Suite 16.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          DoesOutputVariableExist
Use:                         Verify that a named output variable exists.
Command:                     None.
Syntax:                      DoesOutputVariableExist(<outputVariableName>)
Return Value:                True if the variable exists. False otherwise.
Parameters:                  <outputVariableName>
                             Type: <string>
                             Text string of the putput variable name
Example:
   oProject = oDesktop.GetActiveProject()
   oDesign = oProject.GetActiveDesign()
   oModule = oDesign.GetModule("OutputVariable")
   oModule.DoesOutputVariableExist("MyTestVar")
          EditOutputVariable
Use:                         Changes the name or expression of an existing output variable.
Syntax:                      EditOutputVariable <OrigVarName>, <NewExpression>,
                             <NewVarName>, <SolutionName>, <reportTypeName>,
                             <ContextArray>
                       Provide empty quotes "" as the NewVarName or NewExpression if it should not be
                       changed.
Return Value:                None
Parameters:                  <OrigVarName>
                             Type: <string>
                             Name of the original output variable.
                             <NewExpression>
                             Type: <string>
                             New value to assign to the variable.
                             <NewVarName>
                             Type: <string>
                             New name of the variable if any, else pass empty string.
                             <SolutionName>
                             Type: <string>
                             Name of the solution as seen in the output variable UI.
                             For example: "Setup1 : Last Adaptive"
                             <ReportTypeName>
                             Type: <string>
                                                                                                 Output Variable Script Commands 12-5
          ANSYS Electromagnetics Suite 16.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                The name of the report type as seen in the output variable UI.
                                <ContextArray>
                                Type: <variant>
                                Context for which the output variable expression is being evaluated
                                Array(“Context:=”, <Context>)
    Example:
         Set oModule = oDesign.GetModule("OutputVariable")
         oModule.EditOutputVariable "test", "dB(S(WavePort1,WavePort1)) ", _
         "testNew", "Setup1 : LastAdaptive", "Modal Solution Data", _
         Array("Domain:=", "Sweep")
             ANSYS Electromagnetics Suite 16.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          GetOutputVariableValue
Different forms of this command are documented for HFSS, Q3D Extractor as well Schematic and
Layout Editors.
For HFSS, the command details are as follows:
          ANSYS Electromagnetics Suite 16.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Use:                         Gets the double value of an output variable. Only those expressions that
                                 return a double value are supported. The expression is evaluated only for a
                                 single point.
    Syntax:                      GetOutputVariableValue(<OutputVarName>,
                                 <IntrinsicVariation>, <SolutionName>, <ReportTypeName>,
                                 <ContextArray>)
    Return Value:                Double value of the output variable.
    Parameters:                  <OutputVarName>
                                 Type: <string>
                                 Name of the output variable.
                                 <IntrinsicVariation>
                                 Type: <string>
                                 A set of intrinsic variable value pairs to use when evaluating the output expression.
                                 Example: "Freq='20GHz' Theta='20deg' Phi='30deg' in HFSS
                                       "" in Q3D Extractor
                                 <SolutionName>
                                 Type: <string>
                                 Name of the solution as listed in the output variable UI.
                                 For example: "Setup1 : Last Adaptive"
                                 <ReportTypeName>
                                 Type: <string>
                                 The name of the report type as seen in the output variable UI. Possible HFSS values
                                 are:
                                 "Modal Solution Data" - Only for Driven Modal solution-type problems with
                                 ports.
                                 "Terminal S Parameters" - Only for Driven Terminal solution-type problems
                                 with ports.
                                 "Eigenmode Parameters" - Only for Eigenmode solution-type problems.
                                 "Fields"
                                 "Far Fields" - Only for problems with radiation or PML boundaries.
                                 "Near Fields" - Only for problems with radiation or PML boundaries.
                                 “Emission Test”
                                 <ContextArray>
                                 Type: Array
                                 Context for which the output variable expression is being evaluated. This can be
                                 empty if there is no context (for example, for S- parameters). The Reporter uses inter-
                                 polation to evaluate the values at the given special sweeps. If a requested special-
              ANSYS Electromagnetics Suite 16.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
                         sweep value is outside the range the Reporter does not do extrapolation. Rather it
                         issues an error message indicating values outside the available range for a primary
                         sweep.
                         Example:
                         Array("Context:=","Infinite Sphere1")
                         or Array("Context:=","Polyline1")
                         or Array()
Example:
   ' ----------------------------------------------
   ' Script Recorded by ANSYS Electronics Desktop Version 2016.0.0
   ' MSG box displays value of the output variable
   ' ----------------------------------------------
   Dim oAnsoftApp
   Dim oDesktop
   Dim oProject
   Dim oDesign
   Dim oEditor
   Dim oModule
   Dim var1
   Set oAnsoftApp = CreateObject("Ansoft.ElectronicsDesktop")
   Set oDesktop = oAnsoftApp.GetAppDesktop()
   oDesktop.RestoreWindow
   Set oProject = oDesktop.SetActiveProject("Project1")
   Set oDesign = oProject.SetActiveDesign("HFSSDesign1")
   Set oModule = oDesign.GetModule("OutputVariable")
   var1 = oModule.GetOutputVariableValue("p", "freq='1GHz'", _
                 "Setup1 : LastAdap-tive",Array())
   msgbox (var1)
Example:
   ' -----------------------------------------------------------
   ' Sample script to get output variable values in 2.0 products
   ' -----------------------------------------------------------
   Dim oAnsoftApp
   Dim oDesktop
   Dim projects
                                                                                             Output Variable Script Commands 12-9
      ANSYS Electromagnetics Suite 16.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
         Dim oProject
         Dim oDesign
         Dim oModule
         Dim val
         ' -----------------------------------------------------------
         ' Get all of the VBS objects needed to talk to the product
         ' -----------------------------------------------------------
         Set oAnsoftApp = CreateObject("Ansoft.ElectronicsDesktop")
         Set oDesktop = oAnsoftApp.GetAppDesktop()
         Set projects = oDesktop.GetProjects()
         Set oProject = projects(0)
         Set oDesign = oProject.GetDesign ("HfssDesign1")
         Set oModule = oDesign.GetModule("OutputVariable")
         ' -----------------------------------------------------------
         ' fieldOV calculated at a point so we don't need distance
         ' -----------------------------------------------------------
         val = oModule.GetOutputVariableValue ( "fieldOV", "Freq='1GHz'",_
              "Setup1 : LastAdaptive", "Fields", Array("Context:=", "Point1"))
         ' -----------------------------------------------------------
         ' SValue11 is a Hfss matrix parameter defined as
         ' S(WavePort1,WavePort1)
         ' it needs no context
         ' -----------------------------------------------------------
         val = oModule.GetOutputVariableValue ( "SValue11", _
              "Setup1 : LastAdaptive", _
              "Freq='1GHz'",_
              "Modal Solution Data", _
         Array())
         ' -----------------------------------------------------------
         ' Now, look at the original output variable in a different design
         ' variation
         ' -----------------------------------------------------------
         val = oModule.GetOutputVariableValue ( "fieldOV", _
              "Distance='0' _
             ANSYS Electromagnetics Suite 16.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
For HFSS Layout and Schematic Editor the command details are as follows:
                             <VariationKey>
                             Type: <string>
                             Example: “ ’F=’20GHz’ x_size=’1.0in’ ”
                             <SolutionName>
                             Type: <string>
                             Name of the solution as listed in the output variable UI.
                             For example: "Setup1 : Last Adaptive"
                             <ReportType>
                             Type: <string>
          ANSYS Electromagnetics Suite 16.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                <ContextArray>
                                Type: Array
                                Context for the output variable. For more information see SimValueContext.
    Example:
                                ' ----------------------------------------------
                                ' Script used by Ansys Designer Version 4.1.0
                                ----------------------------------------------
                                Dim oAnsoftApp
                                Dim oDesktop
                                Dim oProject
                                Dim oDesign
                                Dim oEditor
                                Dim oModule
                                Set oAnsoftApp = CreateObject("AnsysDesigner.Design-
                                erScript")
                                Set oDesktop = oAnsoftApp.GetAppDesktop()
                                oDesktop.RestoreWindow
                                Set oProject = oDesktop.SetActiveProject("MyTransient-
                                Project")
                                Set oDesign = oProject.SetActiveDesign("Nexxim1")
                                Set oModule = oDesign.GetModule("OutputVariable")
                                val1=oModule.GetOutputVariableValue("vout", "MyTransient-
                                Setup", "time='3.9462ns'", "Standard", _
                                Array("NAME:Context", "SimValueContext:=", Array(1, 0, 2,
                                0, false, false, -1, 1, 0, 1, 1, "", 0, 0)))
                                MsgBox val1
             ANSYS Electromagnetics Suite 16.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Example:
                             ' ----------------------------------------------
                             ' Script used by Ansys Designer Version 4.1.0
                             ' ----------------------------------------------
                             Dim oAnsoftApp
                             Dim oDesktop
                             Dim oProject
                             Dim oDesign
                             Dim oEditor
                             Dim oModule
                             Set oAnsoftApp = CreateObject("AnsysDesigner.Design-
                             erScript")
                             Set oDesktop = oAnsoftApp.GetAppDesktop()
                             oDesktop.RestoreWindow
                             Set oProject = oDesktop.SetActiveProject("MyLNAExample")
                             Set oDesign = oProject.SetActiveDesign("Nexxim1")
                             Set oModule = oDesign.GetModule("OutputVariable")
                             val1=oModule.GetOutputVariableValue("magS", _
                                  "LinearFrequency", "F='1GHz'", "Standard", _
                                  Array("NAME:Context", "SimValueContext:=", _
                                  Array(3, 0, 2, 0, false, false, -1, 1, 0, 1, 1, "", 0,
                                  0)))
                             MsgBox val1
Use:                         Gets the double value of an output variable. Only those expressions that
                             return a double value are supported. The expression is evaluated only for a
                             single point.
Syntax:                      GetOutputVariableValue(<OutputVarName>, <VariationKey>,
                             <SolutionName>, <ReportType>, <ContextArray>)
Return Value:                Double value of the output variable.
Parameters:                  <OutputVarName>
                             Type: <string>
                             Name of the output variable.
          ANSYS Electromagnetics Suite 16.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                <VariationKey>
                                Type: <string>
                                Example: “Freq=’20GHz’ x_size=’1.0in’"
                                <SolutionName>
                                Type: <string>
                                Name of the solution as listed in the output variable UI.
                                For example: "Setup1 : Last Adaptive"
                                <ReportType>
                                Type: <string>
                                Possible values are:
                                     “Matrix"
                                     “C Fields Report"
                                     “DC R/L Fields Report"
                                     “AC R/L Fields Report"
                                <ContextArray>
                                Type: Array
                                Context for which the output variable expression is being evaluated. This can be
                                empty if there is no context.
                                Example:
                                Array("Context:=","Original")
                                or Array("Context:=","Polyline1")
                                or Array()
    Example:
                                Set oModule = oDesign.GetModule("OutputVariable")
                                Dim Val
                                Val=oModule.GetOutputVariableValue("OutVarTest",_
                                Freq=’500MHz’ "Setup1 : LastAdaptive", "Matrix", _
                                Array ("Context:= “,Original" ))
             SimValueContext
    SimValueContext holds context information for a trace, and describes how data for a trace
    should be extracted from the simulation. SimValueContext contains a list of 14 required initial
    values:
         SimValueContext (
         Domain ID, Calculation Type, Number of Cycles, Rise Time,
             ANSYS Electromagnetics Suite 16.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
For example, the following indicates a trace in the Time Domain, Standard Calculation with the
number of cycles being 2:
    "SimValueContext:=", Array(1, 0, 2, 0, false, false, -1, 1, 0, 1, 1,
    "", 0, 0)
Additional, context-specific values may follow the required values, as described in subsection 15
below.
1. Domain ID
No Domain                 0
Time Domain               1
Spectrum Domain           2
Sweep Domain              3
Device Domain             4
SinglePt Domain           5
LoadPull Domain           6
Transient Domain          7
Budget Domain             8
NetworkFunction           9
Domain
Oscillator Domain         55802
Noise Domain              55803
Transfer Function         55807
Domain
Time Frequency            55808
Domain
Transient Time            55809
Domain
Periodic AC Domain 55818
UI Domain                 55819
       ANSYS Electromagnetics Suite 16.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
2. Calculation Type
     Standard Calculation 0
     Device2_DCIV               1
     Device3_DCIV_Out 2
     put
     Device3_DCIV_Inp 3
     ut
     Device3_DCIV_Tra 4
     nsfer
     Device3_DCIV_Rev 5
     erse
     Device2_ACLoad             6
     Device3_ACLoad_            7
     Output
     Device3_ACLoad_I 8
     nput
     Device3_ACLoad_T 9
     ransfer
     Device3_ACLoad_R 10
     everse
     Constellation              11
     EyeDiagram                 12
     FreeX ( Statistic          13
     Report )
             ANSYS Electromagnetics Suite 16.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
Context-specific values are entered in the format "key, true/false, keyvalue", where:
— "key" is the name of the key being set.
— “true/false” indicates whether the key is a string value.
— "keyvalue" is the value of the key.
— The order of the context keys is not significant.
— Context keys have software defaults that will be used if not provided in the script.
Example:
                          "SimValueContext:=", Array(1, 0, 2, 0, false, false, -1,
                          1, 0, 1, 1, "", 0, 0,
                          "DE", false, "0",
                          "DP", false, "20000000",
                          "DT", false, "0.001",
                          "WE", false, "10ns",
                          "WM", false, "10ns",
                          "WN", false, "0ns",
                          "WS", false, "0ns"))
       ANSYS Electromagnetics Suite 16.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
     Window Type                   ID
     Rectangular                   0
     Bartlett                      1
     Blackman                      2
     Hamming                       3
     Hanning                       4
     Kaiser                        5
     Welch                         6
     Weber                         7
     Lanzcos                       8
    c. Eyeprobe index context for UI domain, Time domain, Eye Measuremant domain in Verif-
    Eye and QuickEye analysis:
                ANSYS Electromagnetics Suite 16.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                    of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
d. Eyesource index context for Initial Response domain and Peak Distortion domain in Verif-
Eye and QuickEye analysis:
       ANSYS Electromagnetics Suite 16.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                           Introduction to Scripting in ANSYS Electronics Desktop
         ANSYS Electromagnetics Suite 16.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                             of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
13               Reporter Editor Script
              Commands
                    All Report and Trace properties can be edited using the ChangeProperty
                    commands. This includes Title properties, General properties, and Back-
                    ground properties such as border color, fonts, X and Y axis scaling, and num-
                    ber display.
                    Note: HFSS version 11 and above supports Reporter scripting. When you exe-
                    cute Tools>Record Script, HFSS Operations performed in the Reporter are
                    automatically recorded.
 ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                     of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                AddCartesianLimitLine
                                AddCartesianXMarker
                                AddQuickEyeAnalysis
                                AddDeltaMarker
                                AddMarker
                                AddNote
                                AddTraces
                                AddVerifEyeAnalysis
                                ClearAllMarkers
                                ClearAllMarkers(2DExtractor)
                                CopyTracesData
                                CopyReportData
                                CopyReportDefinitions
                                CopyTraceDefinitions
                                CreateReport
                                CreateReport(2D Extractor)
                                CreateReportFromTemplate
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             CreateReportOfAllQuantities
                             DeleteMarker
                             DeleteAllReports
                             DeleteReports
                             DeleteTraces
                             EditQuickEyeAnalysis
                             EditVerifEyeAnalysis
                             FFTOnReport
                             ExportPlotImageToFile
                             ExportToFile
                             ExportMarkerTable
                             GetAllCategories
                             GetAllQuantities
                             GetAllReportNames
                             GetAvailableDisplayTypes
                             GetAvailableReportTypes
                             GetAvailableSolutions
                             GetDisplayType
                             GetSolutionContexts
                             ImportIntoReport
                             PasteReport
                             PasteTraces
                             RenameReport
                             RenameTrace
                             UpdateAllReports
                             UpdateReports
                             UpdateTrace
                             UpdateTracesContextandSweeps
          AddCartesianLimitLine
Use:                         Adds a limit line to a report on the X axis.
Command:                     Report2D>Add Limit Line
Syntax:                      AddCartesianLimitLine <ReportName>,
                             Array("NAME:CartesianLimitLine",
                             Array("NAME:XValues",<XValues>), "XUnits:=", "<XUnits>",
                             Array("NAME:YValues", <YValues>), "YUnits:=", "<YUnits>",
                             "YAxis:=", "<YAxisName>")
                                                                                                  Reporter Editor Script Commands 13-3
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             <XCoord>
                             Type: <real>
                             X location for the marker.
Example:
    oModule.AddCartesianXMarker "XY Plot1", "MX1", 0
          AddDeltaMarker
Use:                         Add markers to calculate differences between two trace points on a plot.
Command:                     Report2D>Marker>Add Delta Marker
Syntax:                      AddDeltaMarker <ReportName>, <MarkerID_1>, <TraceID_1>,
                             <Xcoord_1>, <MarkerID_2>, <TraceID_2> <Xcoord_2>
Return Value:                None
Parameters:                  <ReportName>
                             Type: <string>
                             Name of Report.
                             <MarkerID>
                             Type: <string>
                             ID for the markers.
                             <TraceID>
                             Type: <string>
                             Typically given by expression plus solution name plus coordinate system type.
                             <XCoord>
                             Type: <real>
                             X location for the marker.
Example:
    oModule.AddDeltaMarker "XY Plot 1",
    "m3", "dB(S(LumpPort1 LumpPort1)) : Setup1 : Sweep1 : Cartesian", _
    "3.22GHz", _
    "m4", "dB(S(LumpPort1 LumpPort1)) : Setup1 : Sweep1 : Cartesian",_
    "3.93GHz"
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              AddMarker
    Use:                         Adds a marker to a trace on a report.
    Command:                     Report2D>Marker>Add Marker
    Syntax:                      AddMarker <ReportName>, <MarkerID>, <TraceID>, <Xcoord>,
    Return Value:                None
    Parameters:                  <ReportName>
                                 Type: <string>
                                 Name of Report.
                                 <MarkerID>
                                 Type: <string>
                                 ID for the marker.
                                 <TraceID>
                                 Type: <string>
                                 Typically given by expression plus solution name plus coordinate system type.
                                 <XCoord>
                                 Type: <real>
                                 X location for the marker.
    Example:
         Set oModule = oDesign.GetModule("ReportSetup")
         oModule.AddMarker "XY Plot1", "m1",                                           _
            "mag(S(Port1 Port1)) : Setup1 : LastAdaptive : Cartesian", "0.3in"
              AddNote
    Use:                         Adds a note at a specified location to a given report.
    Command:                     Right-click on the plot and select Add Note
    Syntax:                      AddNote <ReportName> <NoteDataArray>)
    Return Value:                None
    Parameters:                  <ReportName>
                                 Type: <string>
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             Name of report.
                             <NoteDataArray>
                             Type: Array
                             Array(“NAME:<NoteDataName>”, <NoteArray>)
                             <NoteDataName>
                             Type: String
                             <NoteArray>
                             Array(“NAME:<NoteDataSourceName>”,
                             “SourceName:=”, <SourceName>,
                             "HaveDefaultPos:=", <boolean>,
                             "DefaultXPos:=", <XPos>,
                             "DefaultYPos:=", <YPos>,
                             “String:=”, <Note>))
Example:
   Set oModule = oDesign.GetModule("ReportSetup")
   oModule.AddNote "XY Plot1", Array("NAME:NoteDataSource",
   Array("NAME:NoteDataSource", "SourceName:=", "Note1",
   "HaveDefaultPos:=", true, "DefaultXPos:=", 1996, "DefaultYPos:=", _
   3177, "String:=", "This is a note"))
          AddTraces
Use:                         Creates a new trace and adds it to the specified report.
Command:                     Modify Report>Add Trace
Syntax:                      Add Traces <ReportName> <SolutionName> <ContextArray>
                             <FamiliesArray> <ReportDataArray>
Return Value:                None
Parameters:                  <ReportName>
                             Type: <string>
                             Name of Report.
                             <SolutionName>
                             Type: <string>
                             Name of the solution as listed in the Modify Report dialog box.
                             For example: "Setup1 : Last Adaptive"
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                <ContextArray>
                                Type: Array of strings
                                Context for which the expression is being evaluated. This can be an empty string if
                                there is no context.
                                Array(“Domain:=”, <DomainType>)
                                       <DomainType>
                                       ex. “Sweep” or “Time”
                                Array(“Context:=”, <GeometryType>)
                                       <GeometryType>
                                       ex. “Infinite Spheren”, “Spheren”, “Polylinen”
                                <FamiliesArray>
                                Type: Array of strings
                                Contains sweep definitions for the report.
                                Array(“<VariableName>:= “, <ValueArray>)
                                       <ValueArray>
                                       Array(“All”) or Array(“Value1”, “Value2”, ...”Valuen”)
                                examples of <VariableName>
                                “Freq”, “Theta”, “Distance”
                                <ReportDataArray>
                                Type: Array of strings
                                This array contains the report quantity and X, Y, and (Z) axis definitions.
                                Array(“X Component:=”, <VariableName>, “Y Component:=”, <VariableName> |
                                <ReportQuantityArray>)
                                       <ReportQuantityArray>
                                       ex. Array(“dB(S(Port1, Port1))”)
    Example:
         oModule.AddTraces "XY Plot1", "Setup1 : Sweep1", _
         Array("Domain:=", "Time", "HoldTime:=", 1, "RiseTime:=", 0, _
         "StepTime:=", 6.24999373748E-012, "Step:=", false, _
         "WindowWidth:=", 1, _
13-8 Reporter Editor Script Commands
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
   "WindowType:=", 0, "KaiserParameter:=", 1, _
   "MaximumTime:=", 6.2437437437444E-009), _
   Array("Time:=", Array("All"), "OverridingValues:=", Array("0s", _
   "6.24999373748188e-012s", ... )),
   Array("X Component:=", "Time", _
   "Y Component:=", Array("TDRZ(WavePort1)")), _
   Array()
                             <SolutionName>
                                    Type: <string>
                                    Name of the solution as listed in the Modify Report dialog box.
                                    For example: "Setup1 : Last Adaptive"
                             <ContextArray>
                                    Type: Array of strings
                                    Context for which the expression is being evaluated. This can be an
                                    empty string if there is no context.
                                    Array(“Domain:=”, <DomainType>)
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                <DomainType>
                                       ex. “Sweep” or “Time”
                                Array(“Context:=”, <SimValueContext>)
                                       Context for the trace. For more information see SimValueContext.
                                <FamiliesArray>
                                       Type: Array of strings
                                       Contains sweep definitions for the report.
                                       Array(“<VariableName>:= “, <ValueArray>)
                                <ValueArray>
                                       Array(“All”) or Array(“Value1”, “Value2”, ...”Valuen”)
                                       examples of <VariableName>
                                       “Freq”, “Theta”, “Distance”
                                <ReportDataArray>
                                       Type: Array of strings
                                       This array contains the report quantity and X, Y, and (Z) axis definitions.
                                       Array(“X Component:=”, <VariableName>, “Y Component:=”, <Variable-
                                       Name> | <ReportQuantityArray>)
                                <ReportQuantityArray>
                                ex. Array(“dB(S(Port1, Port1))”)
    Example:
                                oModule.AddTraces "XY Plot1", "Setup1 : Sweep1", _
                                Array("Domain:=", "Time", "HoldTime:=", 1, "RiseTime:=",
                                0, _
                                "StepTime:=", 6.24999373748E-012, "Step:=", false, _
                                "WindowWidth:=", 1, _
                                "WindowType:=", 0, "KaiserParameter:=", 1, _
                                "MaximumTime:=", 6.2437437437444E-009), _
                                Array("Time:=", Array("All"), "OverridingValues:=", _
                                Array("0s","6.24999373748188e-012s", ... )), _
                                Array("X Component:=", "Time", _
                                "Y Component:=", Array("TDRZ(WavePort1)")), _
13-10 Reporter Editor Script Commands
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Array()
          AddQuickEyeAnalysis
Use:                         Adds a QuickEye analysis to the design.
Command:                     Context menu of Analysis icon in project tree -> AddSolution Setup... -> QuickEye
                             Analysis
Syntax:                      AddQuickEyeAnalysis (Array("NAME:SimSetupName",
                             "DataBlockID:=", <int>,
                             "SimSetupID:=", <int>,
                             "OptionName:=", <string>,
                             "AdditionalOptions:=", <string>,
                             "AlterBlockName:=", <string>,
                             "FilterText:=",                      <string>,
                             "AnalysisEnabled:=", <int>,                                        // 1 if enabled, 0 if dis-
                             abled
                             Array("NAME:OutputQuantities",                                       <QuantityArray>,                      <Quan-
                             tityArray>...)
                             Array("NAME:NoiseOutputQuantities", <QuantityArray>,
                             <QuantityArray>...) ),
                             "Name:=",               <string>,                     // name for new analysis
                             "QuickEyeAnalysis:=", Array(<string>,                                                         // Input rise
                             time
                             <string>,                            // Input low voltage
                             <string>,                          // Input high voltage
                             <string>,                          // bits per second
                             <string>,                          // number of FFE taps
                             <string>,                          // Random Jitter Standard Deviation
                             <string>,                          // Delay
                             <string>,                          // Duty cycle distortion
                             <bool>,                       // true if unit interval, false if bits per
                             second
                             <string>,                          // number of DFE taps
                             <bool>,       // true to calculate FFE, false if weights
                             are specified
                             <bool>,                         // true to calculate DFE, false if weights
                             are specified
                                                                                                Reporter Editor Script Commands 13-11
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          AddVerifEyeAnalysis
Use:                         Adds a VerifEye analysis to the design.
Command:                     Context menu of Analysis icon in project tree -> AddSolution Setup... -> VerifEye
                             (Statistical Eye) Analysis
Syntax:                      AddVerifEyeAnalysis (Array("NAME:SimSetupName",
                                    "DataBlockID:=", <int>,
                                    "SimSetupID:=", <int>,
                                    "OptionName:=", <string>,
                                    "AdditionalOptions:=", <string>,
                                    "AlterBlockName:=", <string>,
                                    "FilterText:=", <string>,
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
                                "CompID:=", <string>,
                                "CompName:=", <string>,
                                "QuantityName:=", <string>,
                                "Selected:=", <bool>,
                                "UnitType:=", <string>,
                                "DataType:=", <string>, // Real, Complex, Integer, Enum, Char, Free, Array,
                                Record
                                "CircuitInstanceID:=", <string)
Example:
                         dim name
                         name = oModule.AddVerifEyeAnalysis (Array("NAME:Sim-
                         Setup", "DataBlockID:=", 27, "SimSetupID:=", _
                         1, "OptionName:=", "Options", "AdditionalOptions:=", "",
                         "AlterBlockName:=", "", "FilterText:=", _
                         "", "AnalysisEnabled:=", 1, Array("NAME:OutputQuanti-
                         ties", Array("NAME:Quantity", "NodeType:=", "CompInst",
                         "CompID:=", _
                         "5", "CompName:=", "Level01_NPN_Model_5", "Quanti-
                         tyName:=", "I", "Selected:=", _
                         true, "UnitType:=", "NoUnit", "DataType:=", "Real", "Cir-
                         cuitInstanceID:=", ""), Array("NAME:Quantity", "Node-
                         Type:=", _
                         "CompInst", "CompID:=", "10", "CompName:=", "RES__10",
                         "QuantityName:=", "I", "Selected:=", _
                         true, "UnitType:=", "NoUnit", "DataType:=", "Real", "Cir-
                         cuitInstanceID:=", ""), Array("NAME:Quantity", "Node-
                         Type:=", _
                         "Net", "CompID:=", "", "CompName:=", "net_47", "Quanti-
                         tyName:=", "V", "Selected:=", _
                         true, "UnitType:=", "NoUnit", "DataType:=", "Real", "Cir-
                         cuitInstanceID:=", "")), Array("NAME:NoiseOutputQuanti-
                         ties"), "Name:=", _
                         "MyVerifEyeAnalysis", "VerifEyeAnalysis:=", Array("5e-
                         10", "0", "1", "1e-9", "2", _
                         "0", "1e-9", "0", true, "1", false, false, "0", "1", "-
                         1", true), Array("NAME:SweepDefinition", "Variable:=", _
                         "Temp", "Data:=", "LINC 1cel 10cel 10", "OffsetF1:=",
                         false, "Synchronize:=", _
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ClearAllMarkers
    Use:                         Clears all markers from a report.
    Command:                     Report2d>Markers>ClearAllMarkers
    Syntax:                      ClearAllMarkers “<ReportName>”
    Return Value:                None
    Parameters:                  <ReportName>
                                 Type: <string>
                                 Name of Report.
    Example:
         Set oProject = oDesktop.SetActiveProject("dra_antenna")
         Set oDesign = oProject.SetActiveDesign("HFSSDesign1")
         Set oModule = oDesign.GetModule("ReportSetup")
         oModule.ClearAllMarkers "XY Plot 1"
        For Q3D Extractor the ClearAllMarkers command has the following details.
    Use:                         Clears all markers.
    Command:                     Q3DExtractor>Fields>Fields>Marker>Clear All
    Syntax:                      ClearAllMarkers
    Return Value:                none
    Parameters:                  none
    Example:                     Dim oAnsoftApp
                                 Dim oAnsoftApp
                                 Dim oDesktop
                                 Dim oProject
                                 Dim oDesign
                                 Dim oEditor
                                 Dim oModule
                                 Set oAnsoftApp = CreateObject("AnsoftQ3D.Q3DScriptInter-
                                 face")
                                 Set oDesktop = oAnsoftApp.GetAppDesktop()
                                 oDesktop.RestoreWindow
                                 Set oProject = oDesktop.SetActiveProject("Solenoid")
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          CopyReportData
Use:                         Copy all data corresponding to the specified reports.
                                                                                                Reporter Editor Script Commands 13-17
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Command:                     Select a report in the Project tree, right-click and select Copy Data
    Syntax:                      CopyReportData <ReportsArray>
    Return Value:                None
    Parameters:                  <ReportsArray>
                                 Type: Array of strings
                                 Names of reports from which to copy data.
    Example:
         oModule.CopyReportData Array("Transmission”, “Reflection")
    Example:
         oModule.CopyReportData Array("L11”, “Zo")
              CopyReportDefinitions
    Use:                         Copy the definition of a report for paste operations.
    Command:                     Select a report in the Project tree, right-click and select Copy Definition
    Syntax:                      CopyReportDefinitions <ReportsArray>
    Return Value:                None
    Parameters:                  <ReportsArray>
                                 Type: Array of strings
                                 Names of reports from which to copy the definitions.
    Example:
         oModule.CopyReportDefinitions Array("Transmission”, “Reflection")
              CopyTraceDefinitions
    Use:                         Copy trace definitions for a paste operation.
    Command:                     Select a trace in the Project tree, right-click and select Copy Definition
    Syntax:                      CopyTraceDefinitions <ReportName> <TracesArray>
    Return Value:                None
    Parameters:                  <ReportName>
                                 Type: <string>
                                 Name of Report.
                                 <TracesArray>
                                 Type: Array of strings.
                                 Trace definitions to copy.
    Example:
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
   oModule.CopyTraceDefinitions "Transmission",
   Array("mag(S(Port1,Port2))")
The following example is applicable for Q3D Extractor.
Example:                     oModule.CopyTraceDefinitions "R11",
                             Array("R(via:source1, via:source1)")
          CreateReport
Use:                         Creates a new report with a single trace and adds it to the Results branch in
                             the project tree.
Command:                     HFSS>Results>Create <type> Report
Syntax:                      CreateReport <ReportName> <ReportType> <DisplayType>
                             <SolutionName> <ContextArray> <FamiliesArray>
                             <ReportDataArray>
Return Value:                None
Parameters:                  <ReportName>
                             Type: <string>
                             Name of Report.
                             <ReportType>
                             Type: <string>
                             Possible values are:
                             "Modal S Parameters" - Only for Driven Modal solution-type problems with
                             ports.
                             "Terminal S Parameters" - Only for Driven Terminal solution-type problems
                             with ports.
                             "Eigenmode Parameters" - Only for Eigenmode solution-type problems.
                             "Fields"
                             "Far Fields" - Only for problems with radiation or PML boundaries.
                             "Near Fields" - Only for problems with radiation or PML boundaries.
                             “Emission Test”
                             <DisplayType>
                             Type: <string>
                             If ReportType is "Modal S Parameters", "Terminal S Parame-
                             ters", or "Eigenmode Parameters", then set to one of the following:
                                  "Rectangular Plot", "Polar Plot", "Radiation Pattern",
                                  "Smith Chart", "Data Table", "3D Rectangular Plot", or
                                  "3D Polar Plot".
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                <SolutionName>
                                Type: <string>
                                Name of the solution as listed in the Modify Report dialog box.
                                For example: "Setup1 : Last Adaptive"
                                <ContextArray>
                                Type: Array of strings
                                Context for which the expression is being evaluated. This can be an empty string if
                                there is no context.
                                Array(“Domain:=”, <DomainType>)
                                       <DomainType>
                                       ex. “Sweep” or “Time”
                                Array(“Context:=”, <GeometryType>)
                                       <GeometryType>
                                       ex. “Infinite Spheren”, “Spheren”, “Polylinen”
                                <FamiliesArray>
                                Type: Array of strings
                                Contains sweep definitions for the report.
                                Array(“<VariableName>:= “, <ValueArray>)
<ValueArray>
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
                         <ReportDataArray>
                         Type: Array of strings
                         This array contains the report quantity and X, Y, and (Z) axis definitions.
                         Array(“X Component:=”, <VariableName>, “Y Component:=”, <VariableName> |
                         <ReportQuantityArray>)
                                <ReportQuantityArray>
                                ex. Array(“dB(S(Port1, Port1))”)
Example:
                         oModule.CreateReport “Rept2DRectFreq",_
                              "Modal Solution Data", “XY Plot", _
                                         "Setup1 : Sweep1",_
                                         Array("Domain:=", "Sweep"), _
                                         Array("Freq:=", Array("All")), _
                                         Array("X Component:=", "Freq",
                                         "Y Component:=", _ Array("dB(S(LumpPort1,Lump-
                                         Port1))")), _
                                         Array()
Example:
   Set oModule = oDesign.GetModule("ReportSetup")
   oModule.CreateReport "3D Cartesian Plot1", "Far Fields",_
   "3D Cartesian Plot", "Setup1 : LastAdaptive", _
   Array("Context:=", "Infinite Sphere1", "Domain:=", "Sweep"),
   Array("Theta:=", Array("All"), "Phi:=", Array("All"), _
   "Freq:=", Array("10GHz")), _
   Array("X Component:=", "Theta", _
   "Y Component:=", "Phi", _
   "Z Component:=", Array("rETotal")), _
   Array()
Example:
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
         oModule.CreateReport "ReptSmithFreq",_
         "Modal Solution Data", "Smith Plot", "Setup1 : Sweep1", _
         Array("Domain:=", "Sweep"), _
         Array("Freq:=", Array("All")),_
         Array("Polar Component:=", _
         Array("ln(Y(LumpPort1,LumpPort1))")), _
         Array()
                                        <ReportType>
                                        Type: <string>
                                        Possible values are:
                                        "Standard" - For most plot types.
                                        "Load Pull" - For load pull plots.
                                        "Constellation" - For constellation plots.
                                        "Data table" - For data tables.
                                        "Eye Diagram" - For eye diagrams.
                                        "Statistical" - For statistical plots.
                                 <DisplayType>
                                        Type: <string>
                                        Possible values are:
                                        "Rectangular Plot", "Polar Plot", "Radiation Pattern", "Smith Chart",
                                        "Data Table", "3D Rectangular Plot", "3D Polar Plot", or “Rectangular
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
Stacked Plot”.
                   <SolutionName>
                          Type: <string>
                          Name of the solution as listed in the Modify Report dialog box.
                          For example: "Setup1 : Last Adaptive"
                   <ContextArray>
                          Type: Array of strings
                          Context for which the expression is being evaluated. This can be an
                          empty string if there is no context.
                          Array(“Domain:=”, <DomainType>)
                   <DomainType>
                          ex. “Sweep” or “Time”
                   Array(“Context:=”, <SimValueContext>)
                          Context for the trace. For more information see SimValueContext.
                   <FamiliesArray>
                          Type: Array of strings
                          Contains sweep definitions for the report.
                          Array(“<VariableName>:= “, <ValueArray>)
                   <ValueArray>
                          Array(“All”) or Array(“Value1”, “Value2”, ...”Valuen”)
                          examples of <VariableName>
                          “Freq”, “Theta”, “Distance”
                   <ReportDataArray>
                          Type: Array of strings
                          This array contains the report quantity and X, Y, and (Z) axis definitions.
                          Array(“X Component:=”, <VariableName>, “Y Component:=”, <Variable-
                          Name> | <ReportQuantityArray>)
                   <ReportQuantityArray>
                                                                                      Reporter Editor Script Commands 13-23
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Example:
                                oModule.CreateReport "XY Stacked Plot 1", "Standard",
                                "Rectangular Stacked Plot", _
                                "LinearFrequency", Array("NAME:Context", "SimValueCon-
                                text:=", Array(3, 0, 2, 0, _
                                false, false, -1, 1, 0, 1, 1, "", 0, 0)), Array("F:=",
                                Array("All")), Array("X Component:=", _
                                "F", "Y Component:=", Array("dB(S(Port1,Port1))",
                                "dB(S(Port1,Port2))", _
                                "dB(S(Port2,Port1))", "dB(S(Port2,Port2))")), Array()
    Example:
                                oModule.CreateReport "Data Table 1", "Standard", "Data
                                Table", "LinearFrequency",_
                                Array("NAME:Context", "SimValueContext:=", Array( _
                                3, 0, 2, 0, false, false, -1, 1, 0, 1, 1, "", 0, 0)),
                                Array("F:=", Array("All")), Array("X Component:=", _
                                "F", "Y Component:=", Array("dB(S(Port1,Port1))")),
                                Array()
    Example:
                                oModule.CreateReport "3D Rectangular Plot 1", "Standard",
                                "3D Rectangular Plot", _
                                "LinearFrequency", Array("NAME:Context", "SimValueCon-
                                text:=", Array(3, 0, 2, 0, _
                                false, false, -1, 1, 0, 1, 1, "", 0, 0)), Array("F:=",
                                Array("All")), Array("X Component:=", _
                                "F", "Y Component:=", "F", "Z Component:=",
                                Array("dB(S(Port1,Port1))")), Array()
    Example:
                                oModule.CreateReport "3D Rectangular Plot 2", "Standard",
                                "3D Rectangular Plot", _
                                "LinearFrequency", Array("NAME:Context", "SimValueCon-
                                text:=", Array(3, 0, 2, 0, _
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
                         "Matrix".
                         "RL Fields".
                         "CG Fields".
                         DisplayType
                              "Rectangular Plot", "Data Table", or "3D Rectangular
                              Plot".
                         <TraceArray>
                              Array("NAME:Traces",
                                    <OneTraceArray>, <OneTraceArray>,...)
                         <OneTraceArray>
                              Array("NAME:<TraceName>,
                                    "SolutionName:=","string",
                                    "Context:=","string",
                                    <DisplayTypeDependentData>)
                         <SolutionName>
                              Name of the solution as listed in the Traces dialog box.
                              For example: "Setup1 : Last Adaptive"
                         <Context>
                              Context for which the output variable expression is
                              being evaluated. This can be an empty string if there
                              is no context.
                              Example: "Line1" or ""
                              Field reports usually require a polyline (e.g. "Line1")
                              unless they are integrations. 2D Extractor matrix data
                              requires a Reduce Matrix operation(e.g. "Original").
                         <DisplayTypeDependentData>
                              This data varies according to the display type. See the
                              examples below.
Example:                 oDesign.CreateReport Array("NAME:Rept2DRectTime",_
                              "ReportType:=","Matrix",_
                              "DisplayType:=","Rectangular Plot", _
                              Array("NAME:Traces", _
                                    Array("NAME:Trace1", _
                                         "SolutionName:=", _
                                              "Setup1 : Adaptive_2", _
                                         "Context:=","Original", _
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                                 "XComponent:=", "Pass", _
                                                 "YComponent:=", "C(Box1, Box1)",_
                                                 "YAxis:=", 1)))
              CreateReportFromTemplate
    Use:                         Create a report from a saved template.
    Command:                     HFSS>Results>PersonalLib><TemplateName>
    Syntax:                      CreateReportFromTemplate “<TemplatePath>”
    Return Value:                A new report.
    Parameters:                  <TemplatePath>
                                 Type: <string>
                                 Path to report template.
    Example:
         Set oProject = oDesktop.SetActiveProject("wg_combiner")
         Set oDesign = oProject.SetActiveDesign("wg_combiner")
         Set oModule = oDesign.GetModule("ReportSetup")
         oModule.CreateReportFromTemplate                                       _
            "C:\MyHFSS11Projects\PersonalLib\" & _
            "ReportTemplates\TestTemplate.rpt"
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          CreateReportOfAllQuantities
Use:                         Create a report including all quantities in a category. Cannot create a report
                             with expressions.
Command:                     None.
Syntax:                      CreateReportOfAllQuantities(reportNameArg, reportTypeArg,
                             displayTypeArg, solutionNameArg, simValueCtxtArg,
                             categoryNameArg, pointSetArg,
                             commonComponentsOfTracesArg, extTraceInfoArg);
Return Value:                Report of all quantities in a category.
Parameters:                  reportTypeArg
                             Report type name as input parameter.
                             displayTypeArg
                             Display type name as input parameter.
                             solutionNameArg
                             Solution name as input parameter.
                             simValueCtxtArg
                             a context name, or array of string that encoded the context(I).
                             categoryNameArg
                             a category name as input parameter.
                             pointSetArg
                             Array of strings(II).
                             commonComponentsOfTracesArg
                             Array of strings (III)
                             extTraceInfoArg
                             Array of strings(IV)
Example:
   solutions= oModule .CreateReportOfAllQuantities("Smith Chart all",
   "Modal Solution Data", "Smith Chart", "Setup1 : LastAdaptive", [],"S
   Parameter",["Freq:=", ["All"], "offset:=", ["All"],"a:=", ["Nomi-
   nal"],"b:=", ["Nominal"]],[], [])
          DeleteMarker
Use:                         Deletes the specified marker.
Command:                     Q3DExtractor>Fields>Fields>Marker>Delete Marker
Syntax:                      DeleteMarker <MarkerName>
Return Value:                None
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Parameters:                  <MarkerName>
                                 Type: <string>
                                 Name of the marker.
    Example:                     Dim oAnsoftApp
                                 Dim oAnsoftApp
                                 Dim oDesktop
                                 Dim oProject
                                 Dim oDesign
                                 Dim oEditor
                                 Dim oModule
                                 Set oAnsoftApp = CreateObject("AnsoftQ3D.Q3DScriptInter-
                                 face")
                                 Set oDesktop = oAnsoftApp.GetAppDesktop()
                                 oDesktop.RestoreWindow
                                 Set oProject = oDesktop.SetActiveProject("Solenoid")
                                 Set oDesign = oProject.SetActiveDesign("Solenoid")
                                 Set oModule = oDesign.GetModule("FieldsReporter")
                                 oModule.DeleteMarker "m1"
              DeleteAllReports
    Use:                         Deletes all existing reports.
    Command:                     Right-click the report to delete in the project tree, and then click Delete
                                 All Reports on the shortcut menu.
    Syntax:                      DeleteAllReports
    Return Value:                None
    Example:
         oModule.DeleteAllReports
              DeleteReports
    Use:                         Deletes an existing report or reports.
    Command:                     Right-click the report to delete in the project tree, and then click Delete on
                                 the shortcut menu.
    Syntax:                      DeleteReports(<ReportNameArray>)
    Return Value:                None
    Parameters:                  <ReportNameArray>
                                 Type: Array of strings
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Example:
   oModule.DeleteReports Array(“Rept2DRectFreq”)
          DeleteTraces
Use:                         Deletes an existing traces or traces.
Command:                     Right-click the report to delete in the project tree, and then click Delete on
                             the shortcut menu.
Syntax:                      DeleteTraces(<TraceSelectionArray>)
Return Value:                None
Parameters:                  <TraceSelectionArray>
                             Type: Array of strings
                             Array(“<ReportName>:=”, <TracesArray>, <TracesArray>,... )
                             <ReportName>
                             Type: <string>
                             Name of Report.
                             <TracesArray>
                             Type: Array of strings
                             This array contains the traces to delete within a report.
                             Array(<Trace>, <Trace>, ...)
                             <Trace>
                             Type: string
Example:
   oModule.DeleteTraces Array("XY Plot 1:=", Array("dB(S(LumpPort1,Lump-
   Port1))"), “XY Plot 2:=”, Array(“Mag_E”))
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                Array("NAME:SimSetupName",
                                "DataBlockID:=", <int>,
                                "SimSetupID:=", <int>,
                                "OptionName:=", <string>,
                                "AdditionalOptions:=", <string>,
                                "AlterBlockName:=", <string>,
                                "FilterText:=", <string>,
                                "AnalysisEnabled:=", <int>,                 // 1 if enabled, 0 if disabled
                                Array("NAME:OutputQuantities", <QuantityArray>, <QuantityArray>...)
                                Array("NAME:NoiseOutputQuantities", <QuantityArray>, <QuantityArray>...) ),
                                "Name:=", <string>,                // name for new analysis
                                "QuickEyeAnalysis:=", Array(<string>,                            // Input rise time
                                <string>,           // Input low voltage
                                <string>,           // Input high voltage
                                <string>,           // bits per second
                                <string>,           // number of FFE taps
                                <string>,           // Random Jitter Standard Deviation
                                <string>,           // Delay
                                <string>,           // Duty cycle distortion
                                <bool>,            // true if unit interval, false if bits per second
                                <string>,           // number of DFE taps
                                <bool>,            // true to calculate FFE, false if weights are specified
                                <bool>,             // true to calculate DFE, false if weights are specified
                                <string>,           // DFE decision threshold
                                <string>,           // DFE decision high
                                <string>,           // DFE decision low
                                <bool>),           // true if using specified equalization, false if disabled
                                Array("NAME:SweepDefinition",
                                "Variable:=", <string>,
                                "Data:=", <string>, // sweep
                                "OffsetF1:=", <bool>,
                                "Synchronize:=", <int>), // 1 to Synchronize, 0 otherwise
                                "FFEWts:=", Array(".5", "-2"),                    // optional, specified weights
                                "DFEWts:=", Array("2")))                          // optional, specified weights
    Return Value:               <string> – // Name of the analysis after being modified
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              EditVerifEyeAnalysis
    Use:                         Edits an existing VerifEye analysis.
    Command:                     Double-click on the analysis in the project tree.
    Syntax:                      EditVerifEyeAnalysis (<string>,                      // name of analysis to edit
                                 Array("NAME:SimSetupName",
                                 "DataBlockID:=", <int>,
                                 "SimSetupID:=", <int>,
                                 "OptionName:=", <string>,
                                 "AdditionalOptions:=", <string>,
                                 "AlterBlockName:=", <string>,
                                 "FilterText:=", <string>,
                                 "AnalysisEnabled:=", <int>,                 // 1 if enabled, 0 if disabled
                                 Array("NAME:OutputQuantities", <QuantityArray>, <QuantityArray>...)
                                 Array("NAME:NoiseOutputQuantities", <QuantityArray>, <QuantityArray>...) ),
                                 "Name:=", <string>,                      // name for modified analysis
                                 "VerifEyeAnalysis:=", Array(<string>,                          // Input rise time
                                 <string>,           // Input low voltage
                                 <string>,           // Input high voltage
                                 <string>,           // bits per second
                                 <string>,           // number of FFE taps
                                 <string>,           // Random Jitter Standard Deviation
                                 <string>,           // Delay
                                 <string>,           // Duty cycle distortion
                                 <bool>,            // true if unit interval, false if bits per second
                                 <string>,           // number of DFE taps
                                 <bool>,            // true to calculate FFE, false if weights are specified
                                 <bool>,             // true to calculate DFE, false if weights are specified
                                 <string>,           // DFE decision threshold
                                 <string>,           // DFE decision high
                                 <string>,           // DFE decision low
                                 <bool>),           // true if using specified equalization, false if disabled
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
                          Array("NAME:SweepDefinition",
                          "Variable:=", <string>,
                          "Data:=", <string>, // sweep
                          "OffsetF1:=", <bool>,
                          "Synchronize:=", <int>), // 1 to Synchronize, 0 otherwise
                          "FFEWts:=", Array(".5", "-2"),                    // optional, specified weights
                          "DFEWts:=", Array("2")))                        // optional, specified weights
Return Value:             <string> – // Name of the analysis after being modified
                          // If the name requested conflicts with the name of an existing
                          // analysis, the requested name is altered to be unique.
                          // The name returned reflects any change made to be unique.
Parameters:               <QuantityArray>:
                          Array("NAME:Quantity",
                          "NodeType:=", <string>, // CompInst, Variable, Net, Harmonics, or Custom
                          "CompID:=", <string>,
                          "CompName:=", <string>,
                          "QuantityName:=", <string>,
                          "Selected:=", <bool>,
                          "UnitType:=", <string>,
                          "DataType:=", <string>, // Real, Complex, Integer, Enum, Char, Free, Array, Record
                          "CircuitInstanceID:=", <string)
Example:
   dim name
   name = oModule.EditVerifEyeAnalysis ("MyVerifEyeAnalysis",
   Array("NAME:SimSetup", "DataBlockID:=", 27, "SimSetupID:=",                                                                       _
   1, "OptionName:=", "Options", "AdditionalOptions:=", "", "AlterBlock-
   Name:=", "", "FilterText:=", _
   "", "AnalysisEnabled:=", 1, Array("NAME:OutputQuantities",
   Array("NAME:Quantity", "NodeType:=", "CompInst", "CompID:=",                                                                          _
   "5", "CompName:=", "Level01_NPN_Model_5", "QuantityName:=", "I",
   "Selected:=", _
   true, "UnitType:=", "NoUnit", "DataType:=", "Real", "CircuitInstan-
   ceID:=", ""), Array("NAME:Quantity", "NodeType:=", _
   "CompInst", "CompID:=", "10", "CompName:=", "RES__10", "Quanti-
   tyName:=", "I", "Selected:=", _
   true, "UnitType:=", "NoUnit", "DataType:=", "Real", "CircuitInstan-
   ceID:=", ""), Array("NAME:Quantity", "NodeType:=", _
                                                                                             Reporter Editor Script Commands 13-35
       ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ExportPlotImageToFile [Reporter]
    Use:                         Create field plot exports of existing field plots from a given view points, and
                                 with the model being auto-sized automatically for each view.
    Command:                     None.
    Syntax:                      ExportPlotImageToFile(<FileName>, "", <plotItemName>,
                                 <setViewTopDownDirectionByRelativeCS>)
    Return Value:                An image file.
    Parameters:                  <FileName>
                                 Type: <string>
                                 Full path plus file name.
                                 ""
                                 Type: <EmptyString>
                                 <PlotItemName>
                                 Type: <string>
                                 Name of fields to plot.
                                 <SetViewTopDownDirectionByRelativeCS>
                                 Type: <string>
                                 Name of relative coordinate system to use for the field plot.
    Example:
         ’This example demonstrates the creation of E-field plots ’of three
         different orientations:
         ’Mag_E1 created in-plane with the XY-plane of the Global ’coordinate
         system
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
            Note       The ExportReport script command has been replaced by the script command
                       ExportToFile. ExportReport remains in order to retain backward compatibility for
                       existing scripts, but it is strongly recommended that you now use ExportToFile.
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Example:
                                 Dim oAnsoftApp
                                 Dim oDesktop
                                 Dim oProject
                                 Dim oDesign
                                 Dim oEditor
                                 Dim oModule
ExportToFile
                Note       The ExportToFile script command has replaced the script command ExportReport.
                           ExportReport remains in order to retain backward compatibility for existing scripts, but
                           it is strongly recommended that you now use ExportToFile.
    Use:                         From a data table or plot, generates text format, comma delimited, tab
                                 delimited, or .dat type output files.
    Command:                     Right-click on report name in the Project tree and select Export Data.
    Syntax:                      ExportToFile <ReportName>, <FileName>
    Return Value:                None
    Parameters:                  <ReportName>
                                        Type: string
<Filename>
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                                    Type: string
                                     .txt               Post processor format file
                                     .csv               Comma-delimited data file
                                     .tab               Tab-separated file
                                     .dat               ANSYS plot data file
Example:                     Set oModule = oDesign.GetModule(’ReportSetup’)
                             oModule.ExportToFile(‘Plot 1’,’c:\report1.dat’)
          ExportToFile [Reporter]
Use:                         From a data table or plot, generates text format, comma delimited, tab
                             delimited, or .dat type output files.
Command:                     Right-click on report name in the Project tree and select Export Data.
Syntax:                      ExportToFile <ReportName>, <FileName>
Return Value:                None
Parameters:                  <ReportName>
                             Type: string
                       <FileName>
                             Type: string
                             Path and file name.
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              FFTOnReport
    Use:                         Perform an FFT on a selected report.
    Command:                     HFSS>Results>Perform FFT on Report
    Syntax:                      FFTOnReport “<plotName>”, <FFTWindowType>, “<function>”
    Return Value:                Creates a plot named FFT “PlotName”
    Parameters:                  <PlotName>
                                 Type: string
                           <FFTWindowType>
                                 Type: string
                                 Rectangular, Tri, Van Hann, Hamming, Blackman,Lanczos, Weber, Welch.
                           <function>
                                 Type: string
                                 <none>, ang_deg, ang_rad, arg, cang_deg, cang_rad, dB, dB1 normalize, dB20nor-
                                 malize, dBc, im, mag, normalize, re.
    Example:
         ' ----------------------------------------------
         ' Script Recorded by Ansoft HFSS Version 14.0.0
         ' 3:39:35 PM                Mar 16, 2011
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
   ' ----------------------------------------------
   Dim oAnsoftApp
   Dim oDesktop
   Dim oProject
   Dim oDesign
   Dim oEditor
   Dim oModule
   Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInterface")
   Set oDesktop = oAnsoftApp.GetAppDesktop()
   oDesktop.RestoreWindow
   Set oProject = oDesktop.SetActiveProject("OptimTee")
   Set oDesign = oProject.SetActiveDesign("TeeModel")
   Set oModule = oDesign.GetModule("Solutions")
   oModule.FFTOnReport "XY Plot 1", "Rectangular", "dB"
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              GetAllReportNames
    Use:                         Gets the names of existing reports in a design.
    Syntax:                      GetAllReportNames()
    Return Value:                Array of report names.
    Parameters:                  None
    Example:
         Dim oAnsoftApp
         Dim oDesktop
         Dim oProject
         Dim oDesign
         Dim oEditor
         Dim oModule
         Set oAnsoftApp = CreateObject("AnsoftHFSS.HFSSScriptInterface")
         Set oDesktop = oAnsoftApp.GetAppDesktop()
         oDesktop.RestoreWindow
         Set oProject = oDesktop.GetActiveProject
         Set oDesign = oProject.GetActiveDesign
         Set oReportModule = oDesign.GetModule("ReportSetup")
         Dim names
         names = oReportModule.GetAllReportNames
         For index = 0 to UBound(names)
            MsgBox(names(index))
         Next
         Set oFieldReportModule = oDesign.GetModule("FieldsReporter")
         Set collection = oFieldReportModule.GetFieldPlotNames
         For index = 0 to collection.Count-1
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
       MsgBox(collection.Item(index))
   Next
          GetAllCategories
Use:                         Get all available category names (not including variable and output-
                             variables) in a solution for a report type and display type, returned as an
                             array of text strings.
Command:                     None
Syntax:                      GetAllCategories(reportTypeArg,displayTypeArg,
                             solutionNameArg, simValueCtxtArg, categoryName_array)
Return Value:                Array of text strings.
Parameters:                  reportTypeArg
                             Report type name as input parameter.
                             displayTypeArg
                             display type name as input parameter.
                             solutionNameArg
                             Solution name as input parameter.
                             simValueCtxtArg
                             Acontext name, or array of strings that encode the contexts(I).
                             categoryName_array
                             Output parameter for returning category names.
Example:
   categories= oModule.GetAllCategories("Far Fields", "Rectangular
   Plot", "Setup1 : LastAdaptive", "Infinite Sphere1")
          GetAllQuantities
Use:                         Gets all available quantity names in category, returned as an array of text
                             strings.
Command:                     None.
Syntax:                      GetAllQuantities(reportTypeArg, displayTypeArg,
                             solutionNameArg, simValueCtxtArg, categoryNameArg,
                             quantityName_array);
Return Value:                Array of text strings.
Parameters:                  reportTypeArg
                             Report type name as input parameter.
                             displayTypeArg
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              GetAvailableDisplayTypes
    Use:                         All supported display types in report type as an array of text strings.
    Command:                     None
    Syntax:                      GetAvailableDisplayTypes(reportTypeArg,displayType_array);
    Return Value:                Array of text strings
    Parameters:                  reportTypeArg
                                 report type name as input parameter
                                 displayType_array
                                 output parameter for returning display types
    Example:
         displayTypes = oModule .GetAvailableDisplayTypes("Far Fields")
              GetAvailableReportTypes
    Use:                         Get all available report types in the current Design as an array of text
                                 string.
    Command:                     None.
    Syntax:                      GetAvailableReportTypes([out, retval] VARIANT*
                                 reportType_array)
    Return Value:                array of text string
    Parameters:                  reportType_array
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          GetDisplayType
Use:                         Get the display type of a report.
Command:                     None
Syntax:                      GetDisplayType “<reportName>”
Return Value:                Report <displaytype> of a report.
                             <DisplayType>
                             Type: <string>
                             If ReportType is "Modal S Parameters", "Terminal S Parame-
                             ters", or "Eigenmode Parameters", then returns one of the following:
                                  "Rectangular Plot", "Polar Plot", "Radiation Pattern",
                                  "Smith Chart", "Data Table", "3D Rectangular Plot", or
                                  "3D Polar Plot".
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Parameters:                  <ReportName>
                                 Type: <string>
                                 Report name.
    Example:
         Set oDesign = oProject.SetActiveDesign("wg_combiner")
         Set oModule = oDesign.GetModule("ReportSetup")
         MyPlotDisplayType = oModule.GetDisplayType "XY Plot1"
    For Q3D Extractor the GetDisplayType command has the following details.
    Use:                         Get the display type of a report.
    Command:                     None
    Syntax:                      GetDisplayType "<reportName>"
    Return Value:                Report <displaytype> of a report.
                                 <DisplayType>
                                 Type: <string>
                                 If ReportType is "Matrix Report", then returns one of the following:
                                      "Rectangular Plot", "Data Table", or "3D Rectangular
                                      Plot".
                                 If <ReportType> is "CG Fields", ""DC R/L Fields", or "AC R/L
                                 Fields", then returns one of the following:
                                      "Rectangular Plot", "Data Table", or "3D Rectangular
                                      Plot".
    Parameters:                  <ReportName>
                                 Type: <string>
                                 Report name.
    Example:                     Set oDesign = oProject.SetActiveDesign("connector")
                                 Set oModule = oDesign.GetModule("ReportSetup")
                                 MyPlotDisplayType = oModule.GetDisplayType "XY Plot1"
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          GetSolutionContexts
Use:                         Get all available solution context names in a solution as an array of text
                             strings.
Command:                     None.
Syntax:                      GetSolutionContexts(reportTypeArg,displayTypeArg,
                             solutionNameArg, contextName_array);
Return Value:                Array of text strings.
Parameters:                  reportTypeArg
                             Report type name as input parameter.
                             displayTypeArg
                             Display type name as input parameter.
                             solutionNameArg
                             Solution name as input parameter.
                             contextName_array
                             Output parameter for returning context names.
Example:
   contexts= oModule .GetSolutionContexts("Far Fields", "Rectangular
   Plot", "Setup1 : LastAdaptive")
          ImportIntoReport
Use:                         Imports .tab, .csv, and .dat format files into a report.
Command:                     Right-click on report name in the Project tree and select Export Data.
Syntax:                      ImportIntoReport(<ReportName>, <FileName>)
Return Value:                None
Parameters:                  <ReportName>
                             Type: string
                       <FileName>
                             Type: string
                             Path and file name.
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
         oModule = oDesign.GetModule(‘ReportSetup’)
         oDesign.ImportIntoReport(’Plot 1’,’c:\report1.dat’)
              PasteReports
    Use:                         Paste copied reports to results in the current project.
    Command:                     Paste
    Syntax:                      PasteReports
    Return Value:                None
    Parameters:                  None
    Example:
                                 oModule.PasteReports
              PasteTraces
    Use:                         To paste copied traces to a named plot.
    Command:                     Paste
    Syntax:                      PasteTraces(’<plotName>’)
    Return Value:                None
    Parameters:                  <plotName>
                                 Type: <string>
                                 Name of plot.
    Example:
         oModule.PasteTraces "XY Plot1"
              RenameReport
    Use:                         Renames an existing report.
    Command:                     Select a report on the Project tree, right-click and select Rename
    Syntax:                      RenameReport <OldReportName>, <NewReportName>
    Return Value:                None
    Parameters:                  <OldReportName>
                                 Type: string
                                 <NewReportName>
                                 Type: string
    Example:
         oModule.RenameReport "XY Plot1", "Reflection"
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          RenameTrace
Use:                         To rename a trace in a plot
Command:                     None
Syntax:                      RenameTrace “<plotName>” “<traceID>” “<newName>”
Return Value:                None
Parameters:                  <plotName>
                             Type: <string>
                             Name of plot.
                             <traceID>
                             Type: <string>
                             Name of trace.
                             <newName>
                             Type: <string>
                             New trace name.
Example:
   oModule.RenameTrace "XY Plot1", "dB(S(WavePort1,WavePort1))1",_
   “Port1dbS"
An example related to Q3D Extractor is as follows:
Example:                     oModule.RenameTrace "XY Plot1", "ACR(trace:src1,
                             trace:src1)", "TraceRes"
          UpdateAllReports
Use:                         Updates the specified reports in the Results branch in the project tree.
Command:                     HFSS>Results>Update All Reports
Syntax:                      UpdateReports Array("<plotname>")
Return Value:                None.
Parameters:                  “<plotname>”
                             Type: <string>
                             Name of plot.
Example:
   Set oModule = oDesign.GetModule("ReportSetup")
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
oModule.UpdateAllReports
              UpdateReports
    Use:                         Updates the specified reports in the Results branch in the project tree.
    Command:                     Update Report
    Syntax:                      UpdateReports Array("<plotname>")
    Return Value:                None.
    Parameters:                  “<plotname>”
                                 Type: <string>
                                 Name of plot.
    Example:
         Set oModule = oDesign.GetModule("ReportSetup")
         oModule.UpdateReports Array("XY Plot 1")
              UpdateTraces
    Use:                         Update the traces in a report for which traces are not automatically
                                 updated by the Report Traces dialog, Update Report, Real Time selection.
    Command:                     Report dialogue, Apply Traces button
    Syntax:                      UpdateTraces “<plotName>” Array(“<TraceDef>”) Array()
    Return Value:
    Parameters:                  <ReportName>
                                 Type: <string>
                                 Name of Report.
                                 <SolutionName>
                                 Type: <string>
                                 Name of the solution as listed in the Modify Report dialog box.
                                 For example: "Setup1 : Last Adaptive"
                                 <ContextArray>
                                 Type: Array of strings
                                 Context for which the expression is being evaluated. This can be an empty string if
                                 there is no context.
                                 Array(“Domain:=”, <DomainType>)
                                        <DomainType>
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
                         Array(“Context:=”, <GeometryType>)
                                <GeometryType>
                                ex. “Infinite Spheren”, “Spheren”, “Polylinen”
                         <FamiliesArray>
                         Type: Array of strings
                         Contains sweep definitions for the report.
                         Array(“<VariableName>:= “, <ValueArray>)
                                <ValueArray>
                                Array(“All”) or Array(“Value1”, “Value2”, ...”Valuen”)
                         examples of <VariableName>
                         “Freq”, “Theta”, “Distance”
                         <ReportDataArray>
                         Type: Array of strings
                         This array contains the report quantity and X, Y, and (Z) axis definitions.
                         Array(“X Component:=”, <VariableName>, “Y Component:=”, <VariableName> |
                         <ReportQuantityArray>)
                                <ReportQuantityArray>
                                ex. Array(“dB(S(Port1, Port1))”)
                         Array()
                         Type: Empty array.
                         Denotes the end of the UpdateTraces command.
Example:
   Set oModule = oDesign.GetModule("ReportSetup")
   oModule.UpdateTraces "XY Plot1", _ Array("dB(S(WavePort1,Wave-
   Port1))"), _
     "Setup1 : Sweep1", _
   Array("Domain:=", "Sweep"), _
   Array("Freq:=", Array("All")), _
   Array("X Component:=", "Freq", _
   "Y Component:=", Array("dB(S(WavePort1,WavePort1))")), _
                                                                                            Reporter Editor Script Commands 13-51
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
         Array()
    Example:
         oModule.UpdateTraces "XY Plot 1", Array("dB(S(WavePort1,Wave-
         Port1))"), _
            "Setup1 : Sweep1", _
         Array("Domain:=", "Time", "HoldTime:=", 1, _
         "RiseTime:=", 0, "StepTime:=", 0, "Step:=", false, _
         "WindowWidth:=", 1, _
         "WindowType:=", 0, "KaiserParameter:=", 1, _
         "MaximumTime:=", 0), _
         Array("Time:=", Array("All")), _
         Array("X Component:=", "Time", _
         "Y Component:=", Array("dB(S(WavePort1,WavePort1))")), _
         Array()
    Use:                         Update the traces in a report for which traces are not automatically
                                 updated by the Report Traces dialog, Update Report, Real Time selection.
    Command:                     Report dialogue, Apply Traces button
    Syntax:                      UpdateTraces “<plotName>” Array(“<TraceDef>”) Array()
    Return Value:                None
    Parameters:                  <ReportName>
                                        Type: <string>
                                        Name of Report.
                                 <SolutionName>
                                 Type: <string>
                                 Name of the solution as listed in the Modify Report dialog box.
                                 For example: "Setup1 : Last Adaptive"
                                 <ContextArray>
                                 Type: Array of strings
                                 Context for which the expression is being evaluated. This can be an empty string if
                                 there is no context.
                                 Array(“Domain:=”, <DomainType>)
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
                         <DomainType>
                         ex. “Sweep” or “Time”
                         Array(“Context:=”, <SimValueContext>)
                         Context for the trace. For more information see SimValueContext.
                         <FamiliesArray>
                         Type: Array of strings
                         Contains sweep definitions for the report.
                         Array(“<VariableName>:= “, <ValueArray>)
                         <ValueArray>
                         Array(“All”) or Array(“Value1”, “Value2”, ...”Valuen”)
                         examples of <VariableName>
                         “Freq”, “Theta”, “Distance”
                         <ReportDataArray>
                         Type: Array of strings
                         This array contains the report quantity and X, Y, and (Z) axis definitions.
                         Array(“X Component:=”, <VariableName>, “Y Component:=”, <VariableName> |
                         <ReportQuantityArray>)
                         <ReportQuantityArray>
                         ex. Array(“dB(S(Port1, Port1))”)
                         Array()
                         Type: Empty array.
                         Denotes the end of the UpdateTraces command.
Example:
                         Set oModule = oDesign.GetModule("ReportSetup")
                         oModule.UpdateTraces "XY Plot1", _ Array("dB(S(Wave-
                         Port1,WavePort1))"), _
                              "Setup1 : Sweep1", _
                         Array("Domain:=", "Sweep"), _
                         Array("Freq:=", Array("All")), _
                         Array("X Component:=", "Freq", _
                                                                                            Reporter Editor Script Commands 13-53
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Example:
                                 oModule.UpdateTraces "XY Plot 1", Array("dB(S(Wave-
                                 Port1,WavePort1))"), _
                                      "Setup1 : Sweep1", _
                                 Array("Domain:=", "Time", "HoldTime:=", 1, _
                                 "RiseTime:=", 0, "StepTime:=", 0, "Step:=", false, _
                                 "WindowWidth:=", 1, _
                                 "WindowType:=", 0, "KaiserParameter:=", 1, _
                                 "MaximumTime:=", 0), _
                                 Array("Time:=", Array("All")), _
                                 Array("X Component:=", "Time", _
                                 "Y Component:=", Array("dB(S(WavePort1,WavePort1))")), _
                                 Array()
    Use:                         Update the traces in a report for which traces are not automatically
                                 updated by the Report Traces dialog box, Update Report, Real Time
                                 selection.
    Command:                     Report dialogue, Apply Traces button
    Syntax:                      UpdateTraces "<plotName>" Array("<TraceDef>") Array()
    Return Value:
    Parameters:                  <ReportName>
                                 Type: <string>
                                 Name of Report.
                                 <SolutionName>
                                 Type: <string>
                                 Name of the solution as listed in the Modify Report dialog box.
                                 For example: "Setup1 : Last Adaptive"
                                 <ContextArray>
                                 Type: Array of strings
                                 Context for which the expression is being evaluated. This can be an empty string if
                                 there is no context.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
                          Array("Context:=", <DomainType>)
                                 <DomainType>
                                 ex. "Original" or "RM1"
                          Array("Context:=", <GeometryType>)
                                 <GeometryType>
                                 ex. "Spheren", "Polylinen"
                          <FamiliesArray>
                          Type: Array of strings
                          Contains sweep definitions for the report.
                          Array("<VariableName>:= ", <ValueArray>)
                                 <ValueArray>
                                 Array("All") or Array("Value1", "Value2", ..."Valuen")
                          examples of <VariableName>
                          "Freq"
                          <ReportDataArray>
                          Type: Array of strings
                          This array contains the report quantity and X, Y, and (Z) axis definitions.
                          Array("X Component:=", <VariableName>, "Y Component:=", <VariableName> |
                          <ReportQuantityArray>)
                                 <ReportQuantityArray>
                                 ex. Array("ACR(trace:src1, trace:src1)")
                          Array()
                          Type: Empty array.
                          Denotes the end of the UpdateTraces command.
Example:                  Set oModule = oDesign.GetModule("ReportSetup")
                          oModule.UpdateTraces "XY Plot1", _ Array("ACR(trace:src1,
                          trace:src1)"), _ "Setup1 : Sweep1", _
                          Array("Context:=", "Original"), _
                          Array("Freq:=", Array("All")), _
                          Array("X Component:=", "Freq", _
                          "Y Component:=", Array("ACR(trace:src1, trace:src1)"), _
                          Array()
       UpdateTracesContextandSweeps
Use:                      Use this command to edit sweeps and context of multiple traces without
                          affecting their component expressions.
Command:                  Modify Report with multiple traces selected.
                                                                                             Reporter Editor Script Commands 13-55
       ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Syntax:                      UpdateTracesContextandSweeps
    Return Value:                None.
    Parameters:                  <ReportName>
                                 Type: <string>
                                 Name of Report.
                                 Array(<traceIDs>)
                                 <traceID>
                                 Type: <string>
                                 Name of trace.
                                 <SolutionName>
                                 Type: <string>
                                 Name of the solution as listed in the Modify Report dialog box.
                                 For example: "Setup1 : Last Adaptive"
                                 <ContextArray>
                                 Type: string.
                                 Context for which the expression is being evaluated. This can be an empty string if
                                 there is no context.
                                        ex. “Sweep” or “Time”
                                 Array<pointSet>
                                 Type: <string>
                                 Point set for the selected traces, for example, X and Y values for the plot.
    Example:
         Set oProject = oDesktop.SetActiveProject("Tee")
         Set oDesign = oProject.SetActiveDesign("TeeModel")
         Set oModule = oDesign.GetModule("ReportSetup")
         oModule.UpdateTracesContextAndSweeps _
         "Active S Parameter Quick Report", _
         Array( _
            "dB(ActiveS(Port1:1))", "dB(ActiveS(Port2:1))"), _
         "Setup1 : Sweep1", Array(), _
         Array("Freq:=", _
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
   Array( _
      "9GHz", "9.05GHz", "9.1GHz", "9.15GHz", "9.2GHz", _
   "9.25GHz", "9.3GHz", "9.35GHz",                                       _
      "9.4GHz", "9.45GHz", "9.5GHz", "9.55GHz", _
   "9.6GHz", "9.65GHz", "9.7GHz",                                    _
     "9.75GHz", "9.8GHz", "9.85GHz", "9.9GHz", "9.95GHz", "10GHz"),_
   "offset:=", Array("All"))
       ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
14               Boundary and Excitation
              Module Script Commands
                    <AssignmentObjects>
                    Type: Array of strings.
                    An array of object names.
                    <AssignmentFaces>
                    Type: Array of integers.
                    An array of face IDs. The ID of a face can be determined through the user interface
                    using the 3D Modeler>Measure>Area command. The face ID is given in the Mea-
                    sure Information dialog box.
                    <LineEndPoint>
                         Array(<double>, <double>, <double>)
 ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                     of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
GetExcitationsOfType
GetNumBoundaries
GetNumBoundariesOfType
GetNumExcitations
GetNumExcitationsOfType
GetPortExcitationsCount
ReassignBoundary
RenameBoundary
ReprioritizeBoundaries
SetDefaultBaseName
          AutoIdentifyPorts
Use:                         Automatically assign ports and terminals in a terminal design.
Command:                     HFSS>Excitations>Assign>Wave Port|Lumped Port
Syntax:                      AutoIdentifyPorts <FaceIDArray> <IsWavePort>,
                             <ReferenceConductorsArray> <BaseNameforCreatedPorts>
                             <UseConductorNamesAsBaseNameforTerminals>
Return Value:                None.
Parameters:                  <FaceIDArray>
                             Array(“NAME:Faces”, <FaceID>, <FaceID>, ...)
                             <IsWavePort>
                             Type: Boolean
                             true = waveport, false = lumped port
                             <ReferenceConductorsArray>
                             Array(“NAME:ReferenceConductors”, <ConductorName>, <ConductorName>, ...)
                             <BaseNameforCreatedPorts>
                             Type: <string>
                             <empty string> = default name for the wave or lumped port, <string> = base name to
                             use for created ports
                             <UseConductorNamesAsBaseNameforTerminals>
                             Type: Boolean
                             true = use conductor names, false = use port object name as base name
Example:
   Set oModule = oDesign.GetModule("BoundarySetup"
   oModule.AutoIdentifyPorts Array("NAME:Faces", 52), true, _
   Array("NAME:ReferenceConductors", “Conductor1”) true
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              AutoIdentifyTerminals
    Use:                         Automatically identify the terminals within the given ports.
    Command:                     HFSS>Excitations>Assign>Auto Assign Terminals
    Syntax:                      AutoIdentifyTerminals <ReferenceConductorsArray>,
                                 <PortNames> <UseConductorNamesAsBaseNameforTerminals>
    Return Value:                None
    Parameters:                  <ReferenceConductors>
                                 Array(“NAME:ReferenceConductors”, <ConductorName>, <ConductorName>, ...)
                                 <portNames>
                                 List of names.
                                 <UseConductorNamesAsBaseNameforTerminals>
                                 Type: Boolean
                                 true = use conductor names, false = use port object name as base name
    Example:
         Set oModule = oDesign.GetModule("BoundarySetup"
         oModule.AutoIdentifyTerminals Array("NAME:ReferenceConductors", “Con-
         ductor1”), “WavePort1” true
              ChangeImpedanceMult
    Use:                         Modifies the port impedance multiplier.
    Command:                     HFSS>Excitations>Edit Impedance Mult
    Syntax:                      ChangeImpedanceMult <MultVal>
    Return Value:                None
    Parameters:                  <MultVal>
                                 Type: <value>
                                 New value for the impedance multiplier.
    Example:
                                 oModule.ChangeImpedanceMult 0.5
              DeleteAllBoundaries
    Use:                         Deletes all boundaries.
    Command:                     HFSS>Boundaries>Delete All
    Syntax:                      DeleteAllBoundaries
    Return Value:                None
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Example:                     oModule.DeleteAllBoundaries
For Q3D Extractor or 2D Extractor, the DeleteAllBoundaries command has the following
details.
Use:                         Delete all the boundaries
Command:                     Q3D Extractor>Boundary>Delete All or 2D Extractor>Boundary>Delete All
Syntax:                      DeleteAllBoundaries
Return Value:                None
Example:                     oModule.DeleteAllBoundaries
          DeleteAllExcitations
Use:                         Deletes all excitations.
Command:                     HFSS>Excitations>Delete All
Syntax:                      DeleteAllExcitations
Return Value:                None
Example:
                             oModule.DeleteAllExcitations
For Q3D Extractor or 2D Extractor, the DeleteAllExcitations command has the following
details.
Use:                         Deletes all excitations.
Command:                     Q3D Extractor>Nets>Delete All or 2D Extractor>Conductor>Delete All
Syntax:                      DeleteAllExcitations
Return Value:                None
Example:                     oModule.DeleteAllExcitations
          DeleteBoundaries
Use:                         Deletes the specified boundaries and excitations.
Command:                     Delete command in the List dialog box. Click HFSS>List to open the List
                             dialog box.
Syntax:                      DeleteBoundaries <NameArray>
Return Value:                None
Parameters:                  <NameArray>
                             Type: Array of strings
                             An array of boundary names.
Example:
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              GetBoundaries
    Use:                         Gets boundary names for a project.
    Syntax:                      GetBoundaries()
    Return Value:                Array of boundary names.
    Parameters:                  None
    Example:
                                 bndinfo_array = oModule.GetBoundaries()
              GetBoundariesOfType
    Use:                         Gets boundary names of the given type.
    Syntax:                      GetBoundariesOfType(<BoundaryType>)
    Return Value:                Array of boundary names of the given type.
    Parameters:                  <BoundaryType>
                                 Type:<string>
                                 Name of legal boundary type.
                                 For example: "Radiation".
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Example:
                             bndname_array = oModule.GetBoundariesOfType("Perfect E")
          GetDefaultBaseName
Use:                         Gets the default base name for boundaries for a project.
Syntax:                      GetDefaultBaseName <BoundaryType>
Return Value:                String of boundary default base name.
Parameters:                  <BoundaryType>
                             Type:<string>
                             Name of legal boundary type.
                             For example: "Radiation".
Example:
   bnddefault_BaseName = oModule.GetDefaultBaseName "Radiation"
          GetExcitations
Use:                         Gets excitation port and terminal names for a model.
Syntax:                      GetExcitations()
Return Value:                Pairs of strings. The first is the name of the excitation (e.g. "port1:1") and
                             the second is its type ("Wave Port")
Parameters:                  None
Example:
                             excite_name_array = oModule.GetExcitations()
          GetExcitationsOfType
Use:                         Gets excitation names of the given type.
Syntax:                      GetExcitationsOfType(<ExcitationType>)
Return Value:                Array of excitation names of the given type.
Parameters:                  <ExcitationType>
                                                                          Boundary and Excitation Module Script Commands 14-7
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 Type: <string>
                                 Name of legal excitation type.
                                 For example: "Plane Incident Wave.
    Example:
                                 excite_name_array = _
                                 oModule.GetExcitationsOfType("Wave Port")
              GetNumBoundaries
    Use:                         Gets the number of boundaries in a design.
    Syntax:                      GetNumBoundaries()
    Return Value:                Integer count
    Parameters:                  None
    Example:
                                 numbound = oModule.GetNumBoundaries()
              GetNumBoundariesOfType
    Use:                         Gets the number of boundaries of the given type.
    Syntax:                      GetNumBoundariesOfType(<BoundaryType>)
    Return Value:                Integer count
    Parameters:                  <BoundaryType>
                                 Type: <string>
    Example:
                                 numbound = oModule.GetNumBoundariesOfType("Perfect E")
              GetNumExcitations
    Use:                         Gets the number of excitations in a design, including all defined modes and
                                 terminals of ports.
    Syntax:                      GetNumExcitations()
    Return Value:                Integer count
    Parameters:                  None
    Example:
                                 numexcite = oModule.GetNumExcitations()
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Use:                         Gets the number of excitations in a design, including all defined signal lines,
                             non-ideal grounds, floating lines, reference ground and surface ground.
Syntax:                      GetNumExcitations()
Return Value:                Integer count
Parameters:                  None
Example:                     numexcite = oModule.GetNumExcitations()
          GetNumExcitationsOfType
Use:                         Gets the number of excitations of the given type, including all defined
                             modes and terminals of ports.
Syntax:                      GetNumExcitationsOfType(<ExcitationType>)
Return Value:                Integer count
Parameters:                  <ExcitationType>
                             Type: <string>
Example:
                             numexcite = oModule.GetNumExcitationsOfType("Voltage")
          GetPortExcitationCounts
Use:                         Gets all port names and corresponding number of modes/terminals for each
                             port excitation.
Syntax:                      GetPortExcitationCounts()
Return Value:                Array of port names (Type: <string>) and corresponding mode/terminal
                             counts (Type: <integer>).
Parameters:                  None
Example:
                             portinfo = oModule.GetPortExcitationCounts()
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ReassignBoundary
    Use:                         Specifies a new geometry assignment for a boundary.
    Command:                     HFSS>Boundaries>Reassign or HFSS>Excitations>Reassign
    Syntax:                      ReassignBoundary Array("Name:<BoundName>",
                                      "Objects:=", <AssignmentObjects>,
                                      "Faces:=", <AssignmentFaces>)
    Return Value:                None
    Example:
                                 oModule.ReassignBoundary Array("NAME:PerfE1",_
                                 "Objects:=", Array("Box2", "Box3"),_
                                 "Faces:=", Array(12, 11))
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          RenameBoundary
Use:                         Renames a boundary or excitation.
Command:                     Right-click a boundary in the project tree, and then click Rename on the
                             shortcut menu.
Syntax:                      RenameBoundary <OldName>, <NewName>
Return Value:                None
Parameters:                  <OldName>
                             Type: <string>
                       <NewName>
                             Type: <string>
Example:
                   oModule.RenameBoundary "PerfE1" "PerfE"
For Q3D Extractor, the RenameBoundary command details are as follows:
Use:                         Renames an excitation.
Command:                     Right-click a net/terminal in the project tree, and then click Rename on
                             the shortcut menu.
Syntax:                      RenameBoundary <OldName>, <NewName>
Return Value:                None
Parameters:                  <OldName>
                                  Type: <string>
                       <NewName>
                                  Type: <string>
Example:                     oModule.RenameBoundary "Net1"                                      "Net2"
Example:                     oModule.RenameBoundary "Rectangle4"                                             "VCC"
          ReprioritizeBoundaries
Use:                         Specifies the order in which the boundaries and excitations are recognized
                             by the solver. The first boundary in the list has the highest priority. Note:
                             this command is only valid if all defined boundaries and excitations appear
                             in the list. All ports must be listed before any other boundary type.
Command:                     HFSS>Boundaries>Reprioritize
Syntax:                      ReprioritizeBoundaries <NewOrderArray>
Return Value:                None
Parameters:                  <NewOrderArray>
                             Array("NAME:NewOrder", <BoundName>, <BoundName>, ...)
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Example:
                                 oModule.ReprioritizeBoundaries Array("NAME:NewOrder", _
                                 "Imped1", "PerfE1", "PerfH1")
              SetDefaultBaseName
    Use:                         Sets the default base name for boundaries for a project.
    Syntax:                      SetDefaultBaseName <BoundaryType>, <DefaultName>
    Return Value:                String of boundary default base name.
    Parameters:                  <BoundaryType>
                                 Type:<string>
                                 Name of legal boundary type.
                                 For example: "Radiation".
                           <NewName>
                                 Type: <string>
    Example:
         bnddefault_BaseName = oModule.SetDefaultBaseName "Radiation",_
         "RadBnd"
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                          Introduction to Scripting in ANSYS Electronics Desktop
        ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                            of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    EditLumpedPort
    EditLumpedRLC
    EditMagneticBias
    EditRadiation
    EditSlave
    EditSymmetry
    EditTerminal
    EditVoltage
    EditWavePort
    SetTerminalReferenceImpedances
    UnassignIERegions
              AssignCurent
    Use:                         Creates a current source.
    Command:                     HFSS>Excitations>Assign>Current
    Syntax:                      AssignCurrent <CurrentArray>
    Return Value:                None
    Parameters:                  <CurrentArray>
                                      Array("NAME:<BoundName>",
                                            "Objects:=", <AssignmentObjects>,
                                            "Current:=", <value>,
                                            <DirectionArray>,
                                            "Faces:=", <AssignmentFaces>)
                                 <DirectionArray>
                                      Array("NAME:Direction",
                                            "Start:=", <LineEndPoint>,
                                            "End:=", <LineEndPoint>)
    Example:
                                 oModule.AssignCurrent Array("NAME:Current1",_
                                      "Current:=", "1000mA",_
                                      Array("NAME:Direction",_
                                            "Start:=", Array(-0.4, 0.4, -1.6),_
                                            "End:=", Array(-0.4, 0.4, 0)), _
                                      "Faces:=", Array(12))
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          AssignFiniteCond
Use:                         Creates a finite conductivity boundary.
Command:                     HFSS>Boundaries>Assign>Finite Conductivity
Syntax:                      AssignFiniteCond <FiniteCondArray>
Return Value:                None
Parameters:                  <FiniteCondArray>
                                  Array("NAME:<BoundName>",
                                        "UseMaterial:=",<bool>,
                                        "Material:=", <string>,
                                        "Conductivity:=", <value>,
                                        "Permeability:=", <value>,
                                        "Roughness:=" <value>,
                                        "InfGroundPlane:=", <bool>,
                                        "Objects:=", <AssignmentObjects>,
                                        "Faces:=", <AssignmentFaces>
                                        Radius:=", "<value>", "Ratio:=", "<value>"))
                             UseMaterial
                       If True, provide Material parameter.
                       If False, provide Conductivity and Permeability parameters.
                       For Huray Roughness, use Radius and Ratio. For Groisse roughness model, use Rough-
                       ness.
Example:
                             oModule.AssignFiniteCond Array("NAME:FiniteCond1",_
                                  "UseMaterial:=", false,_
                                  "Conductivity:=", "58000000",_
                                  "Permeability:=", "1",_
                                  "InfGroundPlane:=", false,_
                                  "Faces:=", Array(12))
Example:
                             oModule.AssignFiniteCond Array("NAME:FiniteCond1",_
                                  "UseMaterial:=", true, _
                                  "Material:=", "copper",_
                                  "InfGroundPlane:=", false,_
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                      "Faces:=", Array(12)
                                      Radius:=", "1um", "Ratio:=", "1"))
              AssignFloquet
    Use:                         Create a Floquet port.
    Command:                     HFSS>Excitations>Assign>Floquet
    Syntax:                      AssignFloquetPort <FloquetPortArray>
    Return Value:                None.
    Parameters:                  <FloquetPortArray>
                                      Array("NAME:<BoundName>",
                                            "Faces:=", <FaceIDArray>,
                                            <ModesArray>,
                                            "NumModes:=", <Int>,
                                            "RenormalizeAllTerminals:=", <Boolean>,
                                            "DoDeembed:=", <Boolean>,
                                            Array("NAME:Modes", Array("NAME:Mode1",
                                            "ModeNum:=", <Int>,
                                            "UseIntLine:=", <Boolean>),
                                                 Array("NAME:Mode2", "ModeNum:=", <Int>,
                                                 "UseIntLine:=", <Boolean>)),
                                            "ShowReporterFilter:=", <Boolean>,
                                            "UseScanAngles:=", <Boolean>,
                                            "Phi:=", "<numdeg>",
                                            "Theta:=", "<numdeg>",
                                            Array("NAME:LatticeAVector",
                                                 "Start:=", Array("<num><units>", "num><units>",
                                                 "<num><units>"),
                                                 "End:=", Array("<num><units>", "num><units>",
                                                 "<num><units>")),
                                            Array("NAME:LatticeBVector",
                                                 "Start:=", Array("<num><units>", "num><units>",
                                                 "<num><units>"),
                                                 "End:=", Array("<num><units>", "num><units>",
                                                 "<num><units>")),
                                            Array("NAME:ModesCalculator",
                                                 "Frequency:=", "<Value>GHz",
                                                 "FrequencyChanged:=", <Boolean>,
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
                                         "PhiStart:=", "<num>deg",
                                         "PhiStop:=", "<num>deg",
                                         "PhiStep:=", "<num>deg",
                                         "ThetaStart:=", "<num>deg",
                                         "ThetaStop:=", "<num>deg",
                                         "ThetaStep:=", "<num>deg"),
                                    Array("NAME:ModesList",
                                         Array("NAME:Mode",
                                         "ModeNumber:=", <ModeID>,
                                         "IndexM:=", <Index>,
                                         "IndexN:=", <Index>,
                                         "KC2:=", <value>,
                                         "PropagationState:=", "Propagating",
                                         "Attenuation:=", 0,
                                         "PolarizationState:=", "TE",
                                         "AffectsRefinement:=", <Boolean>),
                                    Array("NAME:Mode",
                                         "ModeNumber:=", <ModeID>,
                                         "IndexM:=", <Index>,
                                         "IndexN:=", <Index>,
                                         "KC2:=", <value>,
                                         "PropagationState:=", "<Propagating>",
                                         "Attenuation:=", <value>,
                                         "PolarizationState:=", "<TE or TM>",
                                         "AffectsRefinement:=", <Boolean>)))
Example:
   ' ----------------------------------------------
   ' Script Recorded by Ansoft HFSS Version 13.0.0
   ' 1:54:11 PM              Jun 15, 2010
   ' ----------------------------------------------
   Dim oAnsoftApp
   Dim oDesktop
   Dim oProject
   Dim oDesign
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
         Dim oEditor
         Dim oModule
         Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInterface")
         Set oDesktop = oAnsoftApp.GetAppDesktop()
         oDesktop.RestoreWindow
         Set oProject = oDesktop.SetActiveProject("Project44")
         Set oDesign = oProject.SetActiveDesign("HFSSDesign1")
         Set oModule = oDesign.GetModule("BoundarySetup")
         oModule.AssignFloquetPort Array("NAME:FloquetPort1",
         "Faces:=", Array(7),
         "NumModes:=", 2,
         "RenormalizeAllTerminals:=", true,
         "DoDeembed:=", false,
         Array("NAME:Modes", Array("NAME:Mode1", "ModeNum:=", 1,
         "UseIntLine:=", false),
         Array("NAME:Mode2", "ModeNum:=", 2, "UseIntLine:=", false)),
         "ShowReporterFilter:=", false,
         "UseScanAngles:=", true, "Phi:=", "0deg", "Theta:=", "0deg",
         Array("NAME:LatticeAVector", "Start:=", Array("0mm", "0mm", "0.8mm"),
         "End:=", Array( "0mm", "0.6mm", "0.8mm")),
         Array("NAME:LatticeBVector", "Start:=", Array("0mm", "0mm", "0.8mm"),
         "End:=", Array("0.8mm", "0mm", "0.8mm")),
         Array("NAME:ModesCalculator", "Frequency:=", "1GHz",
         "FrequencyChanged:=", false,
         "PhiStart:=", "0deg", "PhiStop:=", "0deg", "PhiStep:=", "0deg", "The-
         taStart:=", "0deg", "ThetaStop:=", "0deg", "ThetaStep:=", "0deg"),
         Array("NAME:ModesList", Array("NAME:Mode", "ModeNumber:=", 1,
         "IndexM:=", 0, "IndexN:=", 0, "KC2:=", 0,
         "PropagationState:=", "Propagating",
         "Attenuation:=", 0,
         "PolarizationState:=", "TE",
         "AffectsRefinement:=", false),
         Array("NAME:Mode", "ModeNumber:=", 2,
         "IndexM:=", 0, "IndexN:=", 0,
         "KC2:=", 0,
         "PropagationState:=", "Propagating",
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
   "Attenuation:=", 0,
   "PolarizationState:=", "TM", "AffectsRefinement:=", false)))
          AssignHalfSpace
Use:                         Assign a Half Space boundary, dividing the background material at a
                             specified Z axis point. You also assign a material, typically to the lower half.
Command:                     Assign Half Space
Syntax:                      AssignHalfSpace Array("NAME:HalfSpacen", "ZLocation:=",
                             "<intUnits>", "Material:=", "<string>")
Return Value:                None
Parameters:                  "NAME:<stringN>"
                                    String
                             ZLocation
                                    Z value and Units
                             Materials
                                    <string> defining the material.
Example:
   oModule.AssignHalfSpace Array("NAME:HalfSpace1", "ZLocation:=",
   "2mm", "Material:=", "water_sea")
          AssignIERegion
Use:                         Assign an IE Region to a conductor contained within a FEBI Radiation
                             boundary.
Command:                     Assign IE Region
Syntax:                      AssignIERegion <"geometryName">
Return Value:                None
Parameters:                  <GeometryName>
                             Type: String
                             Name of the geometry assigned as an IE Region.
Example:
   ' ----------------------------------------------
   ' Script Recorded by Ansoft HFSS Version 14.0.0
   ' 2:26:27 PM                  Mar 07, 2011
   ' ----------------------------------------------
   Dim oAnsoftApp
   Dim oDesktop
   Dim oProject
                                                                        Boundary and Excitation Module Script Commands 14-19
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
         Dim oDesign
         Dim oEditor
         Dim oModule
         Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInterface")
         Set oDesktop = oAnsoftApp.GetAppDesktop()
         oDesktop.RestoreWindow
         Set oProject = oDesktop.SetActiveProject("Project58")
         Set oDesign = oProject.SetActiveDesign("HFSSDesign1")
         Set oModule = oDesign.GetModule("BoundarySetup")
         oModule.AssignIERegion "Box1"
              AssignImpedance
    Use:                         Creates an impedance boundary for an HFSS design.
    Command:                     HFSS>Boundaries>Assign>Impedance
    Syntax:                      AssignImpedance <ImpedanceArray>
    Return Value:                None
    Parameters:                  <ImpedanceArray>
                                      Array("NAME:<BoundName>",
                                            "Resistance:=", <value>,
                                            "Reactance:=", <value>,
                                            "InfGroundPlane:=", <bool>,
                                            "Objects:=", <AssignmentObjects>,
                                            "Faces:=", <AssignmentFaces>)
    Example:
                                 oModule.AssignImpedance Array("NAME:Imped1",_
                                      "Resistance:=", "50",_
                                      "Reactance:=", "50",_
                                      "InfGroundPlane:=", false,_
                                      "Faces:=", Array(12))
              AssignIncidentWave
    Use:                         Creates an incident wave excitation.
    Command:                     HFSS>Excitations>Assign>IncidentWave
    Syntax:                      AssignIncidentWave <IncidentWaveArray>
    Return Value:                None
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
Parameters:              <IncidentWaveArray>
                              Array("NAME:<BoundName>",
                                    "IsCartesian:=",<bool>
                                    "EoX:=", <value>,
                                    "EoY:=", <value>,
                                    "EoZ:=", <value>,
                                    "kX:=", <value>,
                                    "kY:=", <value>,
                                    "kZ:=", <value>
                                    "PhiStart:=",<value>,
                                    "PhiStop:=", <value>,
                                    "PhiPoints:=", <int>,
                                    "ThetaStart:=", <value>,
                                    "ThetaStop:=", <value>,
                                    "ThetaPoints:=", <int>,
                                    "EoPhi:=", <value>,
                                    "EoTheta:=", <value>)
                         IsCartesian
                         If true, provide the EoX, EoY, EoZ, kX, kY, kZ parameters.
                         If false, provide the PhiStart, PhiStop, PhiPoints, ThetaStart, Thet-
                         Stop, ThetaPoints, EoPhi, EoTheta parameters.
Example:
                         oModule.AssignIncidentWave Array("NAME:IncWave1",_
                              "IsCartesian:=", true,_
                              "EoX:=", "1", "EoY:=", "0", "EoZ:=", "0",_
                              "kX:=", "0", "kY:=", "0", "kZ:=", "1")
Example:
                         oModule.AssignIncidentWave Array("NAME:IncWave2",_
                              "IsCartesian:=", false,_
                              "PhiStart:=","0deg",_
                              "PhiStop:=", "90deg",_
                              "PhiPoints:=", 2,_
                              "ThetaStart:=", "0deg",_
                              "ThetaStop:=", "180deg",_
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                      "ThetaPoints:=", 3, _
                                      "EoPhi:=", "1", "EoTheta:=", "0")
              AssignLayeredImp
    Use:                         Creates a layered impedance boundary.
    Command:                     HFSS>Boundaries>Assign>Layered Impedance
    Syntax:                      AssignLayeredImp <LayeredImpArray>
    Return Value:                None
    Parameters:                  <LayeredImpArray>
                                      Array("NAME:<BoundName>",
                                            "Frequency:=", <value>,
                                            "Roughness:=", <value>,
                                            "IsInternal:=", <bool>,
                                            <LayersArray>,
                                            "Objects:=", <AssignmentObjects>,
                                            "Faces:=", <AssignmentFaces>)
                                 <LayersArray>
                                      Array("NAME:Layers",
                                            <OneLayerArray>, <OneLayerArray>, ...)
                                 <OneLayerArray>
                                      Array("NAME:<LayerName>",
                                            "LayerType:=", <LayerType>,
                                            "Thickness:=",<value>,
                                            "Material:=", <string>)
                                 <LayerName>
                                 Type: <string>
                                 Specifies the layer number, such as "Layer1" or "Layer2"
                                 <LayerType>
                                 Type: <string>
                                 Should be specified for the last layer only.
                                 Possible values: "Infinite", "PerfectE", or "PerfectH"
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             Thickness
                             Thickness of the layer. Should be specified for all layers except the last layer.
                             Material
                             Material assigned on the layer. For the last layer, do not specify a material if the
                             LayerType is "PerfectE" or "PerfectH".
                             InfGroundPlane <boolean>
                             For HFSS designs, you can specify whether one layer is an infinite ground plane.
Example:
   Set oModule = oDesign.GetModule("BoundarySetup")
   oModule.AssignLayeredImp Array("NAME:Layered1",
           "Objects:=", Array("Rectangle1"),
                                  "Frequency:=", "10GHz",
                                  "Roughness:=", "0um",
                                  "IsInternal:=", false,
                             Array("NAME:Layers",
                             Array("NAME:Layer1",
                                  "Thickness:=",                       "1um",
                                  "Material:=", "vacuum"),
                             Array("NAME:Layer2",
                                  "LayerType:=", "Infinite",
                                  "Thickness:=",                     "1um",
                                  "Material:=", "vacuum")),
           "InfGroundPlane:=", true)
          AssignLumpedPort
Use:                         Creates a lumped port.
Command:                     HFSS>Excitations>Assign>Lumped Port
Syntax:                      AssignLumpedPort <LumpedPortArray>
Return Value:                None
Parameters:                  <LumpedPortArray>
                                  Array("NAME:<BoundName>",
                                        "Faces:=", <FaceIDArray>,
                                        "RenormalizeAllTerminals:=", <boolean>
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                           "DoDeembed:="’ <boolean"
                                           <ModesArray>,
                                           “TerminalIDList:=”, <TerminalsArray>,
                                           "FullResistance:=", <value>,
                                           "FullReactance:=", <value>,
                                           )
    Example:
                                oModule.AssignLumpedPort Array("NAME:LumpPort1",_
                                     Array("NAME:Modes",_
                                           "Resistance:=", "50Ohm",_
                                           "Reactance:=","0Ohm",_
                                           Array("NAME:Mode1",_
                                                "ModeNum:=",1,_
                                                "UseIntLine:=", true,_
                                                Array("NAME:IntLine",_
                                                     "Start:=", Array(-0.4, 0.4, -1.6),_
                                                     "End:=", Array(-0.4, 0.4, 0)),_
                                                     "CharImp:=", "Zpv")),_
                                           "Faces:=", Array(11))
    Example:
         oModule.AssignLumpedPort Array("NAME:LumpPort1", _
         "Faces:=", Array(52), "TerminalIDList:=", Array(), _
         "FullResistance:=", "50ohm", "FullReactance:=", "0ohm")
    Example:
         ' ----------------------------------------------
         ' Script Recorded by Ansoft HFSS Version 14.0.0
         ' 2:18:20 PM               May 20, 2011
         ' ----------------------------------------------
         Dim oAnsoftApp
         Dim oDesktop
         Dim oProject
         Dim oDesign
         Dim oEditor
         Dim oModule
         Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInterface")
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          AssignLumpedRLC
Use:                         Creates a lumped RLC boundary.
Command:                     HFSS>Boundaries>Assign>Lumped RLC
Syntax:                      AssignLumpedRLC <LumpedRLCArray>
Return Value:                None
Parameters:                  <LumpedRLCArray>
                                  Array("NAME:<BoundName>",
                                        "UseResist:=",<bool>,
                                        "Resistance:=", <value>,
                                        "UseInduct:=", <bool>,
                                        "Inductance:=", <value>,
                                        "UseCap:=", <bool>,
                                        "Capacitance:=", <value>,
                                        <CurrentLineArray>,
                                        "Objects:=", <AssignmentObjects>,
                                        "Faces:=", <AssignmentFaces>)
<CurrentLineArray>
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                      Array("NAME:CurrentLine", _
                                            "Start:=", <LineEndPoint>,
                                            "End:=", <LineEndPoint>)
    Example:
                                 oModule.AssignLumpedRLC Array("NAME:LumpRLC1",_
                                      "UseResist:=", true,_
                                      "Resistance:=", "10Ohm",_
                                      "UseInduct:=", true,_
                                      "Inductance:=", "10nH",_
                                      "UseCap:=", true,_
                                      "Capacitance:=","10pF",_
                                      Array("NAME:CurrentLine", _
                                            "Start:=", Array(-0.4, -1.2, -1.6),_
                                            "End:=", Array(-0.4, -1.2, 0)),
                                      "Faces:=", Array(12))
              AssignMagneticBias
    Use:                         Creates a magnetic bias source.
    Command:                     HFSS>Excitations>Assign>Magnetic Bias
    Syntax:                      AssignMagneticBias <MagneticBiasArray>
    Return Value:                None
    Parameters:                  <MagneticBiasArray>
                                      Array("NAME:<BoundName>",
                                            "IsUniformBias:=", <bool>,
                                            "Bias:=", <value>,
                                            "XAngle:=", <value>,
                                            "YAngle:=", <value>,
                                            "ZAngle:=", <value>,
                                            "Project:=",<string>,
                                            "Objects:=", <AssignmentObjects>)
                                 IsUniformBias
                                 If true, supply the Bias, XAngle, YAngle, and ZAngle parameters.
                                 If false, supply the Project parameter.
    Example:
                                 oModule.AssignMagneticBias Array("NAME:MagBias1",_
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                                  "IsUniformBias:=", true,_
                                  "Bias:=", "1",_
                                  "XAngle:=", "10deg",_
                                  "YAngle:=", "10deg",_
                                  "ZAngle:=", "10deg",_
                                  "Objects:=", Array("Box2"))
Example:
                             oModule.AssignMagneticBias Array("NAME:MagBias2",_
                                  "IsUniformBias:=", false,_
                                  "Project:=","D:/Maxwell/testing/m3dfs.pjt",_
                                  "Objects:=", Array("Box2"))
          AssignMaster
Use:                         Creates a master boundary.
Command:                     HFSS>Boundaries>Assign>Master
Syntax:                      AssignMaster <MasterArray>
Return Value:                None
Parameters:                  <MasterArray>
                                  Array("NAME:<BoundName>",
                                        <CoordSysArray>,
                                        "ReverseV:=", <bool>,
                                        "Faces:=", <AssignmentFaces>)
                             <CoordSysArray>
                                  Array("NAME:CoordSysVector",
                                        "Origin:=", <CoordSysPoint>,
                                        "UPos:=", <LineEndPoint>)
Example:
                             oModule.AssignMaster Array("NAME:Master1",_
                                  Array("NAME:CoordSysVector",_
                                        "Origin:=", Array(-1.4, -1.4, -0.8),_
                                        "UPos:=", Array(-1.4, -1.4, 0)),_
                                  "ReverseV:=", false,_
                                  "Faces:=", Array(12))
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              AssignPerfectE
    Use:                         Creates a perfect E boundary.
    Command:                     HFSS>Boundaries>Assign>Perfect E
    Syntax:                      AssignPerfectE <PerfectEArray>
    Return Value:                None
    Parameters:                  <PerfectEArray>
                                      Array("NAME:<BoundName>",
                                            "InfGroundPlane:=", <bool>,
                                            "Objects:=", <AssignmentObjects>,
                                            "Faces:=", <AssignmentFaces>)
    Example:
                                 oModule.AssignPerfectE Array("NAME:PerfE1",_
                                      "InfGroundPlane:=", false,_
                                      "Faces:=", Array(12))
              AssignPerfectH
    Use:                         Creates a perfect H boundary.
    Command:                     HFSS>Boundaries>Assign>PerfectH
    Syntax:                      AssignPerfectH <PerfectHArray>
    Return Value:                None
    Parameters:                  <PerfectHArray>
                                      Array("Name:<BoundName>",
                                            "Objects:=", <AssignmentObjects>,
                                            "Faces:=", <AssignmentFaces>)
    Example:
                                 oModule.AssignPerfectH Array("NAME:PerfH1",_
                                      "Faces:=", Array(12))
              AssignRadiation
    Use:                         Creates a radiation boundary.
    Command:                     HFSS>Boundaries>Assign>Radiation
    Syntax:                      AssignRadiation <RadiationArray>
    Return Value:                None
    Parameters:                  <RadiationArray>
                                      Array("NAME:<BoundName>",
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
                                    "Objects:=", <AssignmentObjects>,
                                    "Faces:=", <AssignmentFaces>
                                    "IsIncidentField:=", <boolean>, _
                                    "IsEnforcedHField:=", <boolean>, _
                                    "IsEnforcedEField:=", <boolean>, _
                                    "IsFssReference:=", <boolean>, _
                                    "IsForPML:=", <boolean>, _
                                    "UseAdaptiveIE:=", <boolean>, _
                                    "IncludeInPostproc:=", <boolean>))
Example:
   ' ----------------------------------------------
   ' Script Recorded by Ansoft HFSS Version 14.0.0
   ' 2:27:20 PM              Sep 13, 2011
   ' ----------------------------------------------
   Dim oAnsoftApp
   Dim oDesktop
   Dim oProject
   Dim oDesign
   Dim oEditor
   Dim oModule
   Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInterface")
   Set oDesktop = oAnsoftApp.GetAppDesktop()
   oDesktop.RestoreWindow
   Set oProject = oDesktop.SetActiveProject("Project59")
   Set oDesign = oProject.SetActiveDesign("HFSSDesign1")
   Set oModule = oDesign.GetModule("BoundarySetup")
   oModule.AssignRadiation Array("NAME:Rad1", _
   "Objects:=", Array("Box1"), _
   "IsIncidentField:=", false, _
   "IsEnforcedField:=", false, _
   "IsFssReference:=", false, _
   "IsForPML:=", false, _
   "UseAdaptiveIE:=", true, _
   "IncludeInPostproc:=", true)
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              AssignScreeningImpedance
    Use:                         Creates a screening impedance boundary.
    Command:                     HFSS>Boundaries>Assign>Screening Impedance
    Syntax:                      AssignScreeningImpedance <ScreeningArray>
    Return Value:                None.
    Parameters:                  <ScreeningArray>
                                 Array("NAME:<name>",
                                 "Objects:=", Array( "<name>"),
                                        "IsAnisotropic:=", <Boolean>,
                                 If true, you need to specify the coordinate system
                                        "CoordSystem:=", <integer or name>,
                                        "HasExternalLink:=", <Boolean>,
                                 true or false. If False, specify XResistence and XReactance values. Also see the first
                                 example.
                                 "XResistance:=", "<value>",
                                 "XReactance:=", "<value>"
                                 If true, then specify the external link array with the project and solution to use. Also
                                 see the second example.
                                 Array("NAME:XLink",
                                        "Project:=", "<projectName>.hfss",
                                        "Design:=", "<DesignName>",
                                        "Soln:=", "Setup1 : LastAdaptive",
                                        Array("NAME:Params", "<variable>:=", "<value>"),
                                        "ForceSourceToSolve:=", <Boolean>,
                                        "PreservePartnerSoln:=", <Boolean>,
                                        "PathRelativeTo:=", "TargetProject"),
                                 Array("NAME:YLink",
                                        "Project:=", "<projectName>.hfss",
                                        "Design:=", "HFSSDesign1",
                                        "Soln:=", "Setup1 : LastAdaptive",
                                        Array("NAME:Params", "<variable>:=", "<value>"),
                                        "ForceSourceToSolve:=", <Boolean>
                                        "PreservePartnerSoln:=", <Boolean>,
                                        "PathRelativeTo:=", "TargetProject"))
    Example:
         Dim oAnsoftApp
14-30 Boundary and Excitation Module Script
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
   Dim oDesktop
   Dim oProject
   Dim oDesign
   Dim oEditor
   Dim oModule
   Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInterface")
   Set oDesktop = oAnsoftApp.GetAppDesktop()
   oDesktop.RestoreWindow
   Set oProject = oDesktop.SetActiveProject("Project53")
   Set oDesign = oProject.SetActiveDesign("HFSSDesign1")
   Set oModule = oDesign.GetModule("BoundarySetup")
   oModule.AssignScreeningImpedance Array("NAME:Screening1",
   "Faces:=", Array(12),
   "IsAnisotropic:=", false,
   "HasExternalLink:=", false,
   "XResistance:=", "377", "XReactance:=", "0")
Example:
   ' ----------------------------------------------
   ' Script Recorded by Ansoft HFSS Version 13.0.0
   ' 4:17:23 PM              Oct 29, 2010
   ' ----------------------------------------------
   Dim oAnsoftApp
   Dim oDesktop
   Dim oProject
   Dim oDesign
   Dim oEditor
   Dim oModule
   Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInterface")
   Set oDesktop = oAnsoftApp.GetAppDesktop()
   oDesktop.RestoreWindow
   Set oProject = oDesktop.SetActiveProject("Project53")
   Set oDesign = oProject.SetActiveDesign("HFSSDesign1")
   Set oModule = oDesign.GetModule("BoundarySetup")
   oModule.AssignScreeningImpedance Array("NAME:Screening1",
   "Objects:=", Array( "Rectangle1"),
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
         "IsAnisotropic:=", true,
         "CoordSystem:=", 1,
         "HasExternalLink:=", true,
         Array("NAME:XLink",
         "Project:=", "mydesign.hfss",
         "Design:=", "HFSSDesign1",
         "Soln:=", "Setup1 : LastAdaptive",
         Array("NAME:Params", "bend_angle:=", "50deg"),
         "ForceSourceToSolve:=", false,
         "PreservePartnerSoln:=", false,
         "PathRelativeTo:=", "TargetProject"),
         Array("NAME:YLink", "Project:=", "mydesign.hfss",
         "Design:=", "HFSSDesign1",
         "Soln:=", "Setup1 : LastAdaptive",
         Array("NAME:Params", "bend_angle:=", "50deg"),
         "ForceSourceToSolve:=", true,
         "PreservePartnerSoln:=", true,
         "PathRelativeTo:=", "TargetProject"))
              AssignSlave
    Use:                         Creates a slave boundary.
    Command:                     HFSS>Boundaries>Assign>Slave
    Syntax:                      AssignSlave <SlaveArray>
    Return Value:                None
    Parameters:                  <SlaveArray>
                                      Array("NAME:<BoundName>",
                                            <CoordSysArray>,
                                            "ReverseV:=", <bool>,
                                            "Master:=", <string>,
                                            "UseScanAngles:=", <bool>,
                                            "Phi:=", <value>,
                                            "Theta:=", <value>,
                                            "Phase:=", <value>,
                                            "Objects:=", <AssignmentObjects>,
                                            "Faces:=", <AssignmentFaces>)
                                 <UseScanAngles>
                                 If UseScanAngles is True, then Phi and Theta should be specified.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
"Faces:=", Array(12))
              AssignTerminal
    Use:                         Assigning terminals to a port.
    Command:                     HFSS>Excitations>Assign>Terminal
    Syntax:                      AssignTerminal <TerminalArray>
    Return Value:                None
    Parameters:                  <TerminalArray>
                                 Array(“NAME: <TerminalName>, “Edges:”, <EdgeIDArray>, “ParentBndID”:= ,
                                 “<PortName>”, “TeminalResistance:=”, <value>)
                                 <TerminalName>
                                 Type: String
                                 <EdgeIDArray>
                                 Type: Array of strings
                                 <PortName>
                                 Type: String
                                 Name of Port.
                                 <value>
                                 Type: string
                                 Value and units for the resistance.
    Example:
         oModule.AssignTerminal Array("NAME:Rectangle1_T1", _
         "Edges:=", Array(36), "ParentBndID:=",                                              _
            "WavePort1", "TerminalResistance:=", "50ohm")
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                                  1D>)),
                                  "Name:DeleteList", <Name Array>)
Return Value:                None
Example:                     Set oModule = oDesign.GetModule("BoundarySetup")
   oModule.AssignTerminals Array("NAME:AssignTerminals",
   Array("NAME:SourceList", Array("NAME:Polyline2", "Objects:=", Array(
   "Polyline2"), "ParentBndID:=", "Box1", "Net:=", "Box1"),
   Array("NAME:Rectangle1", "Objects:=", Array(   "Rectangle1"),
   "ParentBndID:=", "Box1", "Net:=", "Box1")), Array("NAME:SinkList"),
   "DeleteList:=", _ "")
          AssignVoltage
Use:                         Creates a voltage source.
Command:                     HFSS>Excitations>Assign>Voltage
Syntax:                      AssignVoltage <VoltageArray>
Return Value:                None
Parameters:                  <VoltageArray>
                                  Array("NAME:<BoundName>",
                                        "Voltage:=", <value>,
                                        <DirectionArray>,
                                        "Objects:=", <AssignmentObjects>,
                                        "Faces:=", <AssignmentFaces>)
                             <DirectionArray>
                                  Array("NAME:Direction",_
                                        "Start:=",<LineEndPoint>,
                                        "End:=", <LineEndPoint>)
Example:
                             oModule.AssignVoltage Array("NAME:Voltage1",_
                                  "Voltage:=", "1000mV",_
                                  Array("NAME:Direction",_
                                        "Start:=", Array(-0.4, -1.2, 0),_
                                        "End:=", Array(-1.4, -1.2, 0)),_
                                  "Faces:=", Array(7))
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              AssignWavePort
    Use:                         Creates a wave port.
    Command:                     HFSS>Excitations>Assign>Wave Port
    Syntax:                      AssignWavePort <WavePortArray>
    Return Value:                None
    Parameters:                  <WavePortArray>
                                      Array("NAME:<BoundName>",
                                            "Faces:=", <FaceIDArray>,
                                            "NumModes:=", <int>,
                                            "PolarizeEField:=",<bool>,
                                            "DoDeembed:=", <bool>,
                                            "DeembedDist:=", <value>,
                                            "DoRenorm:=", <bool>,
                                            "RenormValue:=",<value>,
                                            <ModesArray>,
                                            “TerminalIDList:=”, <TerminalsArray>
                                            )
                                 NumModes
                                 Number of modes for modal problems.
                                 Number of terminals for terminal problems.
                                 <ModesArray>
                                 Specify for modal problems.
                                      Array("NAME:Modes",
                                            <OneModeArray>, <OneModeArray>, ...)
                                 <OneModeArray>
                                      Array("NAME:<ModeName>",
                                            "ModeNum:=", <int>,
                                            "UseIntLine:=", <bool>,
                                            <IntLineArray>)
                                 <ModeName>
                                 Type: <string>
                                 Name of the mode. Format is "Mode<int>". For example "Mode1".
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
                         <IntLineArray>
                              Array("NAME:IntLine",
                                    "Start:=", <LineEndPoint>,
                                    "End:=", <LineEndPoint>,
                                    "CharImp:=", <string>)
                         CharImp
                         Characteristic impedance of the mode. Possible values are "Zpi", "Zpv", or
                         "Zvi"
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                      "PolarizeEField:=", false,_
                                      "DoDeembed:=", false,
                                      “TeminalIDList:=”, Array()
                                      )
              EditCurrent
    Use:                         Modifies a current source.
    Command:                     Double-click the excitation in the project tree to modify its settings.
    Syntax:                      EditCurrent <BoundName> <CurrentArray>
    Return Value:                None
              EditDiffPairs
    Use:                         Edits the properties of differential pairs defined from terminal excitations
                                 on wave ports.
    Command:                     HFSS>Excitations>Differential Pairs
    Syntax:                      EditDiffPairs <DifferentialPairsArray>
    Return Value:                None
    Parameters:                  <DifferentialPairsArray>
                                      Array("NAME:EditDiffPairs",
                                            <OneDiffPairArray>, <OneDiffPairArray>,...)
                                 <OneDiffPairArray>
                                      Array("NAME:Pair1",_
                                            "PosBoundary:=", <string>,
                                            "NegBoundary:=", <string>,
                                            "CommonName:=", <string>,
                                            "CommonRefZ:=", <value>,
                                            "DiffName:=", <string>,
                                            "DiffRefZ:=", <value>,
                                            “IsActive:=”, <boolean>)
                                 PosBoundary
                                 Name of the terminal to use as the positive terminal.
NegBoundary
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             CommonName
                             Name for the common mode.
                             CommonRefZ
                             Reference impedance for the common mode.
                             DiffName
                             Name for the differential mode.
                             DiffRefZ
                             Reference impedance for the differential mode.
Example:
   oModule.EditDiffPairs Array("NAME:EditDiffPairs", Array("NAME:Pair1",
   "PosBoundary:=", _
       "Rectangle1_T1", "NegBoundary:=", "Rectangle2_T1", _
   "CommonName:=", "Comm1", "CommonRefZ:=", "25ohm", _
   "DiffName:=", "Diff1", "DiffRefZ:=", "100ohm", "IsActive:=", true))
          EditFiniteCond
Use:                         Modifies a finite conductivity boundary.
Command:                     Double-click the boundary in the project tree to modify its settings.
Syntax:                      EditFiniteCond <BoundName> <FiniteCondArray>
Return Value:                None
Parameters:                  <FiniteCondArray>
                                  Array("NAME:<BoundName>",
                                        "UseMaterial:=",<bool>,
                                        "Material:=", <string>,
                                        "Conductivity:=", <value>,
                                        "Permeability:=", <value>,
                                        "Roughness:=" <value>,
                                        "InfGroundPlane:=", <bool>,
                                        "Objects:=", <AssignmentObjects>,
                                        "Faces:=", <AssignmentFaces>
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                UseMaterial
                          If True, provide Material parameter.
                          If False, provide Conductivity and Permeability parameters.
                          For Huray Roughness, use Radius and Ratio. For Groisse roughness model, use Rough-
                          ness.
    Parameters:
    Example:
         ' ----------------------------------------------
         ' Script Recorded by Ansoft HFSS Version 14.0.0
         ' 2:12:43 PM               May 20, 2011
         ' ----------------------------------------------
         Dim oAnsoftApp
         Dim oDesktop
         Dim oProject
         Dim oDesign
         Dim oEditor
         Dim oModule
         Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInterface")
         Set oDesktop = oAnsoftApp.GetAppDesktop()
         oDesktop.RestoreWindow
         Set oProject = oDesktop.SetActiveProject("Project56")
         Set oDesign = oProject.SetActiveDesign("HFSSDesign1")
         Set oModule = oDesign.GetModule("BoundarySetup")
         oModule.EditFiniteCond "FiniteCond1", Array("NAME:FiniteCond1",
         "UseMaterial:=", true,
         "Material:=", "copper",
         "UseThickness:=", false,
         "Radius:=", "0.4um",
         "Ratio:=", "2.9",
         "InfGroundPlane:=", true)
             EditHalfSpace
    Use:                        Edit a Half Space boundary name, Z location, and or materials.
    Command:                    Edit Properties
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          EditIncidentWave
Use:                         Modifies an incident wave excitation.
Command:                     Double-click the excitation in the project tree to modify its settings.
Syntax:                      EditIncidentWave <BoundName> <IncidentWaveArray>
Return Value:                None
Parameters:
Example:
   Dim oAnsoftApp
   Dim oDesktop
   Dim oProject
   Dim oDesign
   Dim oEditor
   Dim oModule
   Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInterface")
   Set oDesktop = oAnsoftApp.GetAppDesktop()
   oDesktop.RestoreWindow
   Set oProject = oDesktop.SetActiveProject("Cube_RCS_00a")
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              EditLayeredImpedance
    Use:                         Modifies a layered impedance boundary.
    Command:                     Double-click the boundary in the project tree to modify its settings.
    Syntax:                      EditLayeredImp <BoundName> <LayeredImpArray>
    Return Value:                None
              EditMaster
    Use:                         Modifies a master boundary.
    Command:                     Double-click the boundary in the project tree to modify its settings.
14-42 Boundary and Excitation Module Script
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          EditPerfectE
Use:                         Modifies a perfect E boundary.
Command:                     Double-click the boundary in the project tree to modify its settings.
Syntax:                      EditPerfectE <BoundName>, <PerfectEArray>
Return Value:                None
          EditPerfectH
Use:                         Modifies a perfect H boundary.
Command:                     Double-click the boundary in the project tree to modify its settings.
Syntax:                      EditPerfectH <BoundName> <PerfectHArray>
Return Value:                None
          EditLumpedPort
Use:                         Modifies a lumped port.
Command:                     Double-click the excitation in the project tree to modify its settings.
Syntax:                      EditLumpedPort <BoundName> <LumpedPortArray>
Parameters:                  <LumpedPortArray>
                                  Array("NAME:<BoundName>",
                                        "Faces:=", <FaceIDArray>,
                                        "RenormalizeAllTerminals:=", <boolean>
                                        "DoDeembed:="’ <boolean"
                                        <ModesArray>,
                                        “TerminalIDList:=”, <TerminalsArray>,
                                        "FullResistance:=", <value>,
                                        "FullReactance:=", <value>,
                                        )
Return Value:                None
Example:
' ----------------------------------------------
' Script Recorded by Ansoft HFSS Version 14.0.0
' 2:18:20 PM May 20, 2011
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    ' ----------------------------------------------
    Dim oAnsoftApp
    Dim oDesktop
    Dim oProject
    Dim oDesign
    Dim oEditor
    Dim oModule
    Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInterface")
    Set oDesktop = oAnsoftApp.GetAppDesktop()
    oDesktop.RestoreWindow
    Set oProject = oDesktop.SetActiveProject("calib_modal_test")
    Set oDesign = oProject.SetActiveDesign("HFSSDesign1")
    Set oModule = oDesign.GetModule("BoundarySetup")
    oModule.EditLumpedPort "lp2", Array("NAME:lp2", "RenormalizeAllTerminals:=", true, "DoDeem-
    bed:=", _
     true, Array("NAME:Modes", Array("NAME:Mode1", "ModeNum:=", 1, "UseIntLine:=", true,
    Array("NAME:IntLine", "Start:=", Array( _
      "120mm", "50mm", "40mm"), "End:=", Array("120mm", "50mm", "120mm")), "CharImp:=", _
      "Zpi")), "ShowReporterFilter:=", false, "ReporterFilter:=", Array(true), "FullResistance:=", _
      "50ohm", "FullReactance:=", "0ohm")
              EditLumpedRLC
    Use:                         Modifies a lumped RLC boundary.
    Command:                     Double-click the boundary in the project tree to modify its settings.
    Syntax:                      EditLumpedRLC <BoundName> <LumpedRLCArray>
    Return Value:                None
              EditMagneticBias
    Use:                         Modifies a magnetic bias excitation.
    Command:                     Double-click the excitation in the project tree to modify its settings.
    Syntax:                      EditMagneticBias <BoundName> <MagneticBiasArray>
    Return Value:                None
    Parameters:
              EditRadiation
    Use:                         Modifies a radiation boundary.
14-44 Boundary and Excitation Module Script
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Command:                     Double-click the boundary in the project tree to modify its settings.
Syntax:                      EditRadiation <BoundName> <RadiationArray>
Return Value:                None
Parameters:                  <RadiationArray>
                                  Array("NAME:<BoundName>",
                                        "Objects:=", <AssignmentObjects>,
                                        "Faces:=", <AssignmentFaces>
                                        "IsIncidentField:=", <boolean>, _
                                        "IsEnforcedHField:=", <boolean>, _
                                        "IsEnforcedEField:=", <boolean>, _
                                        "IsFssReference:=", <boolean>, _
                                        "IsForPML:=", <boolean>, _
                                        "UseAdaptiveIE:=", <boolean>, _
                                        "IncludeInPostproc:=", <boolean>))
Example:
   ' ----------------------------------------------
   ' Script Recorded by Ansoft HFSS Version 14.0.0
   ' 2:34:08 PM                  Sep 13, 2011
   ' ----------------------------------------------
   Dim oAnsoftApp
   Dim oDesktop
   Dim oProject
   Dim oDesign
   Dim oEditor
   Dim oModule
   Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInterface")
   Set oDesktop = oAnsoftApp.GetAppDesktop()
   oDesktop.RestoreWindow
   Set oProject = oDesktop.SetActiveProject("Project59")
   Set oDesign = oProject.SetActiveDesign("HFSSDesign1")
   Set oModule = oDesign.GetModule("BoundarySetup")
   oModule.EditRadiation "Rad1", _
   Array("NAME:Rad1", _
   "IsIncidentField:=", true, _
   "IsEnforcedField:=", false, _
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
         "IsFssReference:=", false, _
         "IsForPML:=", false, _
         "UseAdaptiveIE:=", false, _
         "IncludeInPostproc:=", true)
              EditSlave
    Use:                         Modifies a slave boundary.
    Command:                     Double-click the boundary in the project tree to modify its settings.
    Syntax:                      EditSlave <BoundName> <SlaveArray>
    Return Value:                None
              EditSymmetry
    Use:                         Modifies a symmetry boundary.
    Command:                     Double-click the boundary in the project tree to modify its settings.
    Syntax:                      EditSymmetry <BoundName> <SymmetryArray>
    Return Value:                None
              EditTerminal
    Use:                         Modifies properties of a terminal
    Command:                     Edit Properties for a selected terminal
    Syntax:                      EditTerminal <TerminalArray>)
    Return Value:                None
    Parameters:                  <TerminalArray>
                                 Array(“NAME: <TerminalName>”, “ParentBndID:=”, “<PortName>”, “Terminal-
                                 Resistance:=,” <value>”)
                                 <TerminalName>
                                 Type:String
                                 <PortName>
                                 Type: String
                                 <value>
                                 Type: <string>
                                 Value and units of resistance.
    Example:
         Set oModule = oDesign.GetModule("BoundarySetup")
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          EditVoltage
Use:                         Modifies a voltage source.
Command:                     Double-click the excitation in the project tree to modify its settings.
Syntax:                      EditVoltage <BoundName> <VoltageArray>
Return Value:                None
          EditWavePort
Use:                         Modifies a wave port.
Command:                     Double-click the excitation in the project tree to modify its settings.
Syntax:                      EditWavePort <BoundName> <WavePortArray>
Return Value:                None
Example:
          SetTerminalReferenceImpedances
Use:                         To set the reference impedance for all terminals within a specified port.
Command:                     HFSS>Excitations>Set Terminal Reference Impedances or HFSS-
                             IE>Excitations>Set Terminal Reference Impedances
Syntax:                      SetTerminalReferenceImpedances <value>, <PortName>
Return Value:                None
Parameters:                  <value>
                             Type: <string>
                             The value and units for the the impedance
                             <PortName>
                             Type: <string>
                             The name of the port.
Example:
   Set oDesign = oProject.SetActiveDesign("HFSSDesign1")
   Set oModule = oDesign.GetModule("BoundarySetup")
   oModule.SetTerminalReferenceImpedances "75ohm", "WavePort1"
          UnassignIERegions
Use:                         Unassign one or more IE Regions assigned to conducting objects.
Command:                     Unassign IE Regions
                                                                        Boundary and Excitation Module Script Commands 14-47
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
         ' ----------------------------------------------
         ' Script Recorded by Ansoft HFSS Version 14.0.0
         ' 2:51:43 PM                Mar 07, 2011
         ' ----------------------------------------------
         Dim oAnsoftApp
         Dim oDesktop
         Dim oProject
         Dim oDesign
         Dim oEditor
         Dim oModule
         Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInterface")
         Set oDesktop = oAnsoftApp.GetAppDesktop()
         oDesktop.RestoreWindow
         Set oProject = oDesktop.SetActiveProject("Project58")
         Set oDesign = oProject.SetActiveDesign("HFSSDesign1")
         Set oModule = oDesign.GetModule("BoundarySetup")
         oModule.UnassignIERegions Array("Box1")
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          AssignFiniteCond [HFSS-IE]
Use:                         Creates a finite conductivity boundary.
Command:                     HFSS-IE>Boundaries>Assign>Finite Conductivity
Syntax:                      AssignFiniteCond <FiniteCondArray>
Return Value:                None
Parameters:                  <FiniteCondArray>
                                  Array("NAME:<BoundName>",
                                        "Objects:=", <AssignmentObjects>,
                                        "UseMaterial:=",<bool>,
                                                                        Boundary and Excitation Module Script Commands 14-49
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                            "Material:=", <string>,
                                            "Conductivity:=", <value>,
                                            "Permeability:=", <value>,
                                            "InfGroundPlane:=", <bool>,
                                            "Faces:=", <AssignmentFaces>)
                                 UseMaterial
                                 If True, provide Material parameter.
                                 If False, provide Conductivity and Permeability parameters.
    Example:
                                 oModule.AssignFiniteCond Array("NAME:FiniteCond1",_
                                      "Objects:=", Array("Rectangle2"), _
                                      "UseMaterial:=", false, _
                                      "Conductivity:=", "58000000", _
                                      "Permeability:=", "1", _
                                      "Roughness:=", "0um", _
                                      "UseThickness:=", false)
              AssignHalfSpace [HFSS-IE]
    Use:                         Creates a Half Space boundary for an HFSS-IE design.
    Command:                     HFSS-IE>Boundaries>Assign>Half Space
    Syntax:                      AssignHalfSpace Array("NAME:HalfSpacen", "ZLocation:=,
                                 <Value><Units>", "Material:=", <string>")
    Return Value:                None
    Parameters:                  Zlocation
                                 Z Coordinate and units for the definition of the half space boundary.
                                 Material
                                 String identifying the material for the lower half of the space.
    Example:
         ' ----------------------------------------------
         ' Script Recorded by ANSYS Electronics Desktop Version 2015.0.0
         ' 14:20:17              Aug 25, 2014
         ' ----------------------------------------------
         Dim oAnsoftApp
         Dim oDesktop
         Dim oProject
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
   Dim oDesign
   Dim oEditor
   Dim oModule
   Set oAnsoftApp = CreateObject("Ansoft.ElectronicsDesktop")
   Set oDesktop = oAnsoftApp.GetAppDesktop()
   oDesktop.RestoreWindow
   Set oProject = oDesktop.SetActiveProject("Project2")
   Set oDesign = oProject.SetActiveDesign("IEDesign1")
   Set oModule = oDesign.GetModule("BoundarySetup")
   oModule.AssignHalfSpace Array("NAME:HalfSpace1", "ZLocation:=",
   "0mm", "Material:=", "water_sea")
          AssignImpedance [HFSS-IE]
Use:                         Creates an impedance boundary for an HFSS-IE design.
Command:                     HFSS-IE>Boundaries>Assign>Impedance
Syntax:                      AssignImpedance <ImpedanceArray>
Return Value:                None
Parameters:                  <ImpedanceArray>
                                  Array("NAME:<BoundName>",
                                        "Resistance:=", <value>,
                                        "Reactance:=", <value>,
                                        "Objects:=", <AssignmentObjects>,
                                        "Faces:=", <AssignmentFaces>)
Example:
                             oModule.AssignImpedance Array("NAME:Imped1",_
                                  "Resistance:=", "50",_
                                  "Reactance:=", "50",_
                                  "Faces:=", Array(12))
          AssignInfiniteGroundPlane [HFSS-IE]
Use:                         Creates an infinite ground plane in HFIE.
Command:                     HFSS-IE>Boundaries>Assign>Infinite Ground Plane
Syntax:                      AssignInfGndPlane <Array>
Return Value:                None
Parameters:                  <Array>
                             "NAME:"<InfGndPlaneName>
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 "ZLocation:=", <value>
                                 "Roughness:=", <value>
                                 "Material:=", "<name>"
    Example:
         Set oModule = oDesign.GetModule("BoundarySetup")
         oModule.AssignInfGndPlane Array("NAME:InfGndPlane1", _
         "ZLocation:=", "0mm", _
         "Roughness:=", "0mm", _
         "Material:=", "Copper")
              AssignLumpedPort [HFSS-IE]
    Use:                         Creates a lumped port.
    Command:                     HFSS>Excitations>Assign>Lumped Port
    Syntax:                      AutoIdentifyPorts <LumpedPortArray>
    Return Value:                None
    Parameters:                  Array
    Example:
         Set oDesign = oProject.SetActiveDesign("HFSSIEDesign1")
         Set oModule = oDesign.GetModule("BoundarySetup")
         oModule.AutoIdentifyPorts Array("NAME:Faces", 12), _
         Array("NAME:ReferenceConductors", "Box1"), _
         "LumpPort1", true
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                     "RadDist:=", <value>,
                                     "UseFreq:=", <bool>,
                                     "MinFreq:=", <value>,
                                     "MinBeta:=", <double>)
                                     "RadIncidentField:=", <bool>
                                     "RadFssReference:=", <bool>
    Parameters:                 PMLObj
                                Name of the object to use as the PML cover.
                          BaseObj
                                Name of the base object touching the PML cover object.
                          Orientation
                                String representing the orientation of the PML.
                                Possible values are: "XAxis", "YAxis", and "ZAxis"
                                UseFreq
                                If true, provide the MinFreq parameter.
                                If false, provide the MinBeta parameter.
    Example:
                                oModule.CreatePML Array("UserDrawnGroup:=", false,_
                                     "PMLFaces:=", Array(120), "CreateJoiningObjs:=",_
                                     true,_
                                     "Thickness:=", "0.33mm", "RadDist:=", "1.6mm",_
                                     "UseFreq:=", true, "MinFreq:=", "1GHz")
    Example:
                                oModule.CreatePML Array("UserDrawnGroup:=", true,_
                                     "PMLObj:=", "Box1", "BaseObj:=", "Box2", _
                                     "Thickness:=", "0.3mm", "Orientation:=", "ZAxis", _
                                     "RadDist:=", "1.6mm", "UseFreq:=", false, _
                                     "MinBeta:=", "2")
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ModifyPMLGroup
Use:                         Command to modify a PML group. Note: This is the scripting equivalent to
                             clicking Update in the PML Setup wizard. This does not actually modify the
                             materials. It only modifies the data stored by the PML Setup wizard.
Command:                     None
Syntax:                      ModifyPMLGroup Array("NAME:<GroupName>",
                                  "RadDist:=", <value>,
                                  "UseFreq:=", <bool>,
                                  "MinFreq:=", <value>,
                                  "MinBeta:=", <double>)
Return Value:                None
Parameters:                  <GroupName>
                             Name of the PML group to modify.
                             UseFreq
                             If true, provide the MinFreq argument.
                             If false, provide the MinBeta argument.
Example:
                             oModule.ModifyPMLGroup Array("NAME:PMLGroup1",
                                  "RadDist:=", "1.166666667mm",
                                  "UseFreq:=", false, "MinBeta:=", 2)
          PMLGroupCreated
Use:                         Command added by HFSS after a PML has been created. It is not responsible
                             for creating the PML objects and materials. It just contains the information
                             needed by the PML Setup wizard for future modification of the PML. This
                             script command is not intended to be modified by you. Removing this
                             command from the script will prevent future modification of the PML
                             through the user interface after the script is played back.
Command:                     HFSS>Boundaries>Assign>PML Setup Wizard
Syntax:                      PMLGroupCreated <args>
Return Value:                None
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              PMLGroupModified
    Use:                         Command added by HFSS after a PML’s parameters are modified. This
                                 updates the PML Setup wizard’s data. This script command is not intended
                                 to be modified by you. Removing this command from the script will prevent
                                 future modification of the PML through the user interface after the script is
                                 played back.
    Command:                     Modify existing PML in the PML Setup wizard.
    Syntax:                      PMLGroupModified <args>
    Return Value:                None
              RecalculatePMLMaterials
    Use:                         Scripting equivalent to clicking Recalculate Materials in the PML Setup
                                 wizard. This will update the PML materials to match the current state of the
                                 PML Setup wizard data.
    Command:                     None
    Syntax:                      RecalculatePMLMaterials
    Return Value:                None
    Example:
                                 oModule.RecalculatePMLMaterials
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
•   AutoAssignSignals
•   AssignSingleSignalLine
•   AssignSingleNonIdealGround
•   AssignSingleReferenceGround
•   AssignSingleSurfaceGround
•   AssignSingleFloatingLine
•   AssignMultiFloatingLine
•   AssignMultiSignalLine
•   AssignMultiNonIdealGround
•   ToggleConductor
•   EditSignalLine
•   EditNonIdealGround
•   EditReferenceGround
•   EditSurfaceGround
•   EditFloatingLine
•   GetNumExcitations (2D Extractor)
•   GetExcitationAssignment (2D Extractor)
•   GetExcitations (2D Extractor)
•   SetConductivityThreshold (2D Extractor)
•   AssignFiniteConductivity
•   EditFiniteConductivity
          AutoAssignSignals
Use:                         Automatically assigns conducting objects to be "Signal" conductor.
Command:                     2D Extractor>Conductor>Auto Assign Signals
Syntax:                      AutoAssignSignals
Return Value:                None
Command:                     oModule.AutoAssignSignals
          AssignSingleSignalLine
Use:                         Assigns a single "Signal Line" on an object.
Command:                     2D Extractor>Conductor>Assign>Signal Line
Syntax:                      AssignSingleSignalLine <AssignmentParameters>
Return Value:                None
                                                                        Boundary and Excitation Module Script Commands 14-57
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Parameters:                  <AssignmentParameters>
                                      Array("NAME:<SourceName>", "Objects:=", <AssignmentOb-
                                      jects>)
                                      "SolveOptions:=<SolveOptions>", "Thickness:=<Thick-
                                      ness>")
                                      <SourceName>
                                            Type:<String>
                                            Name of the conductor
                                      <AssignmentObjects>
                                            Type:<String>
                                            Name of the object or body in geometry.
                                      <SolveOptions>
                                            Type: <String>
                                            Value: one of the following - "SolveInside", "Solve-
                                            OnBoundary", "Automatic".
                                      <Thickness>
                                            Type: String
                                            Value: a double value with units of length.
    Example:                     oModule.AssignSingleSignalLine Array("NAME:Rectangle1",
                                 "Objects:=", Array( _ "Rectangle1"), "SolveOption:=",
                                 "Boundary", "Thickness:=", "0.171428571428571mm"))
              AssignSingleNonIdealGround
    Use:                         Assigns a single "NonIdealGround" on an object.
    Command:                     2D Extractor>Conductor>Assign>Non Ideal Ground
    Syntax:                      AssignSingleNonIdealGround <AssignmentParameters>
    Return Value:                None
    Parameters:                  <AssignmentParameters>
                                      Array("NAME:<SourceName>", "Objects:=", <AssignmentOb-
                                      jects>)
                                      "SolveOptions:=<SolveOptions>", "Thickness:=<Thick-
                                      ness>")
                                      <SourceName>
                                            Type:<String>
                                            Name of the conductor
                                      <AssignmentObjects>
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                                        Type:<String>
                                        Name of the object or body in geometry.
                                  <SolveOptions>
                                        Type: <String>
                                        Value: one of the following - "SolveInside", "Solve-
                                        OnBoundary", "Automatic".
                                  <Thickness>
                                        Type: String
                                        Value: a double value with units of length.
Example:                     oModule.AssignSingleNonIdealGround
                             Array("NAME:Rectangle1", "Objects:=", Array( _
                             "Rectangle1"), "SolveOption:=", "Boundary",
                             "Thickness:=", "0.171428571428571mm")
          AssignSingleReferenceGround
Use:                         Assigns a single "Reference Ground" on an object.
Command:                     2D Extractor>Conductor>Assign>Reference Ground
Syntax:                      AssignSingleReferenceGround <AssignmentParameters>
Return Value:                None
Parameters:                  <AssignmentParameters>
                                  Array("NAME:<SourceName>", "Objects:=", <AssignmentOb-
                                  jects>)
                                  "SolveOptions:=<SolveOptions>", "Thickness:=<Thick-
                                  ness>")
                                  <SourceName>
                                        Type:<String>
                                        Name of the conductor
                                  <AssignmentObjects>
                                        Type:<String>
                                        Name of the object or body in geometry.
                                  <SolveOptions>
                                        Type: <String>
                                        Value: one of the following - "SolveInside", "Solve-
                                        OnBoundary", "Automatic".
                                  <Thickness>
                                        Type: String
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              AssignSingleSurfaceGround
    Use:                         Assigns a single "SurfaceGround" on an object.
    Command:                     2D Extractor>Conductor>Assign>Surface Ground
    Syntax:                      AssignSingleSurfaceGround <AssignmentParameters>
    Return Value:                None
    Parameters:                  <AssignmentParameters>
                                      Array("NAME:<SourceName>", "Objects:=", <AssignmentOb-
                                      jects>)
                                      "SolveOptions:=<SolveOptions>", "Thickness:=<Thick-
                                      ness>")
                                      <SourceName>
                                            Type:<String>
                                            Name of the conductor
                                      <AssignmentObjects>
                                            Type:<String>
                                            Name of the object or body in geometry.
                                      <SolveOptions>
                                            Type: <String>
                                            Value: one of the following - "SolveInside", "Solve-
                                            OnBoundary", "Automatic".
                                      <Thickness>
                                            Type: String
                                            Value: a double value with units of length.
    Example:                     oModule.AssignSingleSurfaceGround
                                 Array("NAME:Rectangle1", "Objects:=", Array( _
                                 "Rectangle1"), "SolveOption:=", "Boundary",
                                 "Thickness:=", "0.171428571428571mm")
              AssignSingleFloatingLine
    Use:                         Assigns a single "FloatingLine" on an object.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          AssignMultiFloatingLine
Use:                         Assigns multiple "Floating Line" on selected objects (each per object).
Command:                     2D Extractor>Conductor>Assign>Floating Line
Syntax:                      AssignMultiFloatingLine <MultiAssignmentParameters>
Return Value:                None
Parameters:                  <MultiAssignmentParameters>
                                        Array(<ConductorName>,<ConductorName>..), <Assign-
                                        mentParameters>
                             <ConductorName>
                                  Type:<String>
                                  Name of the assigned conductors.
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 <AssignmentParameters>
                                      Array("NAME:<SourceName>", "Objects:=", <AssignmentOb-
                                      jects>)
                                      "SolveOptions:=<SolveOptions>", "Thickness:=<Thick-
                                      ness>")
                                      <SourceName>
                                            Type:<String>
                                            Name of the conductor
                                      <AssignmentObjects>
                                            Type:<String>
                                            Name of the object or body in geometry.
                                      <SolveOptions>
                                            Type: <String>
                                            Value: one of the following - "SolveInside", "Solve-
                                            OnBoundary", "Automatic".
                                      <Thickness>
                                            Type: String
                                            Value: a double value with units of length.
    Example:                     oModule.AssignMultiSignalLine Array("Rectangle3",
                                 "Rectangle4"), Array("NAME:Rectangle1", "Objects:=",
                                 Array( _ "Rectangle1"), "SolveOption:=", "Boundary",
                                 "Thickness:=", "0.171428571428571mm")
              AssignMultiSignalLine
    Use:                         Assigns multiple "Signal Line" on selected objects (each per object).
    Command:                     2D Extractor>Conductor>Assign>Signal Line
    Syntax:                      AssignMultiSignalLine                             <MultiAssignmentParameters>
    Return Value:                None
    Parameters:                  <MultiAssignmentParameters>
                                            Array(<ConductorName>,<ConductorName>..), <Assign-
                                            mentParameters>
                                 <ConductorName>
                                      Type:<String>
                                      Name of the assigned conductors.
                                 <AssignmentParameters>
                                      Array("NAME:<SourceName>", "Objects:=", <AssignmentOb-
                                      jects>)
14-62 Boundary and Excitation Module Script
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                                  "SolveOptions:=<SolveOptions>", "Thickness:=<Thick-
                                  ness>")
                                  <SourceName>
                                        Type:<String>
                                        Name of the conductor
                                  <AssignmentObjects>
                                        Type:<String>
                                        Name of the object or body in geometry.
                                  <SolveOptions>
                                        Type: <String>
                                        Value: one of the following - "SolveInside", "Solve-
                                        OnBoundary", "Automatic".
                                  <Thickness>
                                        Type: String
                                        Value: a double value with units of length.
Example:                     oModule.AssignMultiFloatingLine Array("Rectangle3",
                             "Rectangle4"), Array("NAME:Rectangle1", "Objects:=",
                             Array( _ "Rectangle1"), "SolveOption:=", "Boundary",
                             "Thickness:=", "0.171428571428571mm")
          AssignMultiNonIdealGround
Use:                         Assigns multiple "Non Ideal Ground" on selected objects (each per object).
Command:                     2D Extractor>Conductor>Assign>Non Ideal Ground
Syntax:                      AssignMultiNonIdealGround <MultiAssignmentParameters>
Return Value:                None
Parameters:                  <MultiAssignmentParameters>
                                        Array(<ConductorName>,<ConductorName>..), <Assign-
                                        mentParameters>
                             <ConductorName>
                                  Type:<String>
                                  Name of the assigned conductors.
                             <AssignmentParameters>
                                  Array("NAME:<SourceName>", "Objects:=", <AssignmentOb-
                                  jects>)
                                  "SolveOptions:=<SolveOptions>", "Thickness:=<Thick-
                                  ness>")
                                  <SourceName>
                                                                        Boundary and Excitation Module Script Commands 14-63
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                            Type:<String>
                                            Name of the conductor
                                      <AssignmentObjects>
                                            Type:<String>
                                            Name of the object or body in geometry.
                                      <SolveOptions>
                                            Type: <String>
                                            Value: one of the following - "SolveInside", "Solve-
                                            OnBoundary", "Automatic".
                                      <Thickness>
                                            Type: String
                                            Value: a double value with units of length.
    Example:                     oModule.AssignMultiNonIdealGround Array("Rectangle3",
                                 "Rectangle4"), Array("NAME:Rectangle1", "Objects:=",
                                 Array( _ "Rectangle1"), "SolveOption:=", "Boundary",
                                 "Thickness:=", "0.171428571428571mm")
              ToggleConductor
    Use:                         Toggles between one conductor to other.
    Command:                     Click a conductor in the project tree, and then click Toggle on the shortcut
                                 menu.
    Syntax:                      ToggleConductor <TerminalName>, <NewType>
    Return Value:                None
    Parameters:                  <ConductorName>
                                      Type: <string>
                                      Conductor name that is selected.
                                 <NewType>
                                      Type: <String>
                                      New type of conductor to be toggled.
    Example:                     oModule.ToggleConductor "Rectangle5", "ReferenceGround"
              EditSignalLine
    Use:                         Edits the properties of a signal line conductor.
    Command:                     Double-click a conductor.
    Syntax:                      EditSignalLine <ConductorName> , <ConductorParameters>
    Return Value:                None
14-64 Boundary and Excitation Module Script
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Parameters:                  <ConductorName>
                                  Type: <string>
                                  Conductor name that is selected.
                             <ConductorParameters>
                                  Array(("Name:=<NewName>", "SolveOptions:=<SolveOp-
                                  tions>", "Thickness:=<Thickness>"))
                                  <SolveOptions>
                                        Type: <String>
                                        Value: one of the following, "SolveInside", "SolveO-
                                        nBoundary", "Automatic"
                                  <Thickness>
                                        Type: String
                                        Value: a double value with units of length.
                                  <NewName>
                                        Type: <String>
                                        New name of conductor to be toggled.
Example:                     oModule.EditSignalLine "Rectangle6",
                             Array("NAME:Rectangle6_1", "SolveOption:=", "Automatic",
                             "Thickness:=", "0.179464285714286mm")
          EditNonIdealGround
Use:                         Edits the properties of a non ideal ground conductor.
Command:                     Double-click a conductor.
Syntax:                      EditNonIdealGround <ConductorName> ,
                             <ConductorParameters>
Return Value:                None
Parameters:                  <ConductorName>
                                  Type: <string>
                                  Conductor name that is selected.
                             <ConductorParameters>
                                  Array(("Name:=<NewName>", "SolveOptions:=<SolveOp-
                                  tions>", "Thickness:=<Thickness>"))
                                  <SolveOptions>
                                        Type: <String>
                                        Value: one of the following, "SolveInside", "SolveO-
                                        nBoundary", "Automatic"
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                      <Thickness>
                                            Type: String
                                            Value: a double value with units of length.
                                      <NewName>
                                            Type: <String>
                                            New name of conductor to be toggled.
    Example:                     oModule.EditNonIdealGround "Rectangle6",
                                 Array("NAME:Rectangle6_1", "SolveOption:=", "Automatic",
                                 "Thickness:=", "0.179464285714286mm")
              EditReferenceGround
    Use:                         Edits the properties of a reference ground conductor.
    Command:                     Double-click a conductor.
    Syntax:                      EditReferenceGround <ConductorName> ,
                                 <ConductorParameters>
    Return Value:                None
    Parameters:                  <ConductorName>
                                      Type: <string>
                                      Conductor name that is selected.
                                 <ConductorParameters>
                                      Array(("Name:=<NewName>", "SolveOptions:=<SolveOp-
                                      tions>", "Thickness:=<Thickness>"))
                                      <SolveOptions>
                                            Type: <String>
                                            Value: one of the following, "SolveInside", "SolveO-
                                            nBoundary", "Automatic"
                                      <Thickness>
                                            Type: String
                                            Value: a double value with units of length.
                                      <NewName>
                                            Type: <String>
                                            New name of conductor to be toggled.
    Example:                     oModule.EditReferenceGround "Rectangle6",
                                 Array("NAME:Rectangle6_1", "SolveOption:=", "Automatic",
                                 "Thickness:=", "0.179464285714286mm")
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          EditSurfaceGround
Use:                         Edits the properties of a surface ground conductor.
Command:                     Double-click a conductor.
Syntax:                      EditSurfaceGround <ConductorName> , <ConductorParameters>
Return Value:                None
Parameters:                  <ConductorName>
                                  Type: <string>
                                  Conductor name that is selected.
                             <ConductorParameters>
                                  Array(("Name:=<NewName>", "SolveOptions:=<SolveOp-
                                  tions>", "Thickness:=<Thickness>"))
                                  <SolveOptions>
                                        Type: <String>
                                        Value: one of the following, "SolveInside", "SolveO-
                                        nBoundary", "Automatic"
                                  <Thickness>
                                        Type: String
                                        Value: a double value with units of length.
                                  <NewName>
                                        Type: <String>
                                        New name of conductor to be toggled.
Example:                     oModule.EditSurfaceGround "Rectangle6",
                             Array("NAME:Rectangle6_1", "SolveOption:=", "Automatic",
                             "Thickness:=", "0.179464285714286mm")
          EditFloatingLine
Use:                         Edits the properties of a floating line conductor.
Command:                     Double-click a conductor.
Syntax:                      EditFloatingLine                       <ConductorName> , <ConductorParameters>
Return Value:                None
Parameters:                  <ConductorName>
                                  Type: <string>
                                  Conductor name that is selected.
                             <ConductorParameters>
                                  Array(("Name:=<NewName>", "SolveOptions:=<SolveOp-
                                  tions>", "Thickness:=<Thickness>"))
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                      <SolveOptions>
                                            Type: <String>
                                            Value: one of the following, "SolveInside", "SolveO-
                                            nBoundary", "Automatic"
                                      <Thickness>
                                            Type: String
                                            Value: a double value with units of length.
                                      <NewName>
                                            Type: <String>
                                            New name of conductor to be toggled.
    Example:                     oModule.EditFloatingLine "Rectangle6",
                                 Array("NAME:Rectangle6_1") "SolveOption:=", "Automatic",
                                 "Thickness:=", "0.179464285714286mm")
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Syntax:                      GetExcitations
Return Value:                Variant array, excitation name paired with excitation type.
Example:                     oModule.GetExcitations
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              AssignFiniteCond
    Use:                         Assign a single finite conductivity boundary on selected edges.
    Command:                     2D Extractor>Boundary>Assign>Finite Conductivity
    Syntax:                      AssignFiniteCond Array("NAME:<Name>", "Edges:=",
                                 Array(<edge ids>), <FiniteCondParameters>)
    Return Value:                none
    Parameters:                  <Name>
                                      Type:<String>
                                      Name of the boundary
                                 <edge ids>
                                      Type:<integer list>
                                      List of edge ids, separated by comma.
                                 <FiniteCondParameters>
                                 Parameters:
                                      "Roughness:=", "<Roughness>", "UseCoating:=", <Use-
                                      Coating>, "LayerThickness:=", "<Thickness>", "UseMate-
                                      rial:=", <UseMaterial>, "Material:=", "<MaterialName>"
                                      <Roughness>
                                            Type: <String>
                                            Value: double with units of length
                                      <UseCoating>
                                            Type: <Boolean>
                                            Value: true or false
                                      <Thickness>
                                            Type: String
                                            Value: double with units of length
                                      <UseMaterial>
                                            Type:<Boolean>
                                            Value: true or false
                                      <MaterialName>
                                            Type: String
                                            Value: specify material name for coating.
                                      <Radius>
                                            Type: String
                                            Value: double with units of length.
                                      <Ratio>
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                                        Type: String
                                        Value: double.
                             oModule.AssignFiniteCond Array("NAME:FiniteCond1",
                             "Edges:=", Array(7, 9), "Roughness:=", _ "2um",
                             "UseCoating:=", true, "LayerThickness:=", "1.2um",
                             "UseMaterial:=", _ true, "Material:=", "Copper")
                             oModule.AssignFiniteCond Array("NAME:FiniteCond1",
                             "Edges:=", Array(7), "UseCoating:=", _ false,
                             "Radius:=", "0.5um", "Ratio:=", "2.9")
          EditFiniteCond
Use:                         Edit parameters of single finite conductivity boundary.
Command:                     Double-click finite conductivity boundary in project tree.
Syntax:                      EditFiniteCond <BoundaryName>, Array("NAME:<Name>",
                             <FiniteCondParameters>)
Return Value:                none
Parameters:                  <BoundaryName>
                                  Type: <String>
                                  Name of the boundary to edit.
                             <Name>
                                  Type:<String>
                                  Name of the boundary
                             <FiniteCondParameters>
                             Parameters:
                                  "Roughness:=", "<Roughness>", "UseCoating:=", <Use-
                                  Coating>, "LayerThickness:=", "<Thickness>", "UseMate-
                                  rial:=", <UseMaterial>, "Material:=", "<MaterialName>"
                                  <Roughness>
                                        Type: <String>
                                        Value: double with units of length
                                  <UseCoating>
                                                                        Boundary and Excitation Module Script Commands 14-71
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                           Type: <Boolean>
                                           Value: true or false
                                     <Thickness>
                                           Type: String
                                           Value: double with units of length
                                     <UseMaterial>
                                           Type:<Boolean>
                                           Value: true or false
                                     <MaterialName>
                                           Type: String
                                           Value: specify material name for coating.
    Example:                    oModule.EditFiniteCond "FiniteCond1",
                                Array("NAME:FiniteCond1", "Roughness:=", "2um",
                                "UseCoating:=", _ false)
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
15                Mesh Operations Module
              Script Commands
 ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                     of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              GetOperationNames
    Use:                         Gets the names of mesh operations defined in a design.
    Syntax:                      GetOperationNames(<OperationType>)
    Return Value:                Array of mesh operation names.
    Parameters:                  <OperationType>
                                 Type: <string>
                                 For example: "Skin Depth Based"
    Example:
                                 Set opnames = oModule.GetOperationNames("Length Based")
                                 For Each name in opnames
                                            Msgbox name
                                 Next
              RenameOp
    Use:                         Renames a mesh operation.
    Command:                     Right-click the mesh operation in the project tree, and then click Rename
                                 on the shortcut menu.
15-2 Mesh Operations Module Script Commands
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                       <NewName>
                             Type: <string>
                             New name for the mesh operation.
Example:
                             oModule.RenameOp "SkinDepth1", "NewName"
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 RefineInside
                                 If true, Objects should be specified. Implies apply restrictions to tetrahedra inside
                                 the object.
                                 If false, Faces and/or Objects can be specified. Implies apply restrictions to trian-
                                 gles on the surface of the face or object.
                                 RestrictElem
                                 If true, NumMaxElem should be specified.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             RestrictLength
                             If true, MaxLength should be specified.
Example:                     Assigning length-based operations to the inside tetrahedra of an object:
                             oModule.AssignLengthOp Array("NAME:Length1", _
                                  "RefineInside:=", true, _
                                  "Objects:=", Array("Box1"), _
                                  "RestrictElem:=", true, _
                                  "NumMaxElem:=", 1000, _
                                  "RestrictLength:=",                          true, _
                                  "MaxLength:=", "1mm")
For Q3D Extractor, the equivalent command is as follows:
Command:                     Q3D Extractor or 2D Extractor>Mesh Operations>Assign>On Selection or
                             Q3D Extractor>Mesh Operations>Assign>Inside Selection>Length Based
          AssignModelResolutionOp
Use:                         Assigns a model resolution name, value and unit for mesh operations, or
                             specify to UseAutoFeaturelength. If UseAutoFeature length is true, the
                             Defeature length is not used.
Command:                     HFFS or Q3D Extractor or 2D Extractor >Mesh Operations>Assign>Model
                             Resolution
Syntax:                      AssignModelResolutionOp Array(<ModelResParams>)
Return Value:                None
Parameters:                  Array("NAME:<string>",
                                  "Objects:=", Array( "<modelname>"), _
                                  "UseAutoLength:=", <Boolean>, _
                                  "DefeatureLength:=", "<value><units>")
Example:
   Set oDesign = oProject.SetActiveDesign("wg_combiner")
   Set oModule = oDesign.GetModule("MeshSetup")
   oModule.AssignModelResolutionOp Array("NAME:ModelResolution1",
   "Objects:=", Array( "waveguide"), _
   "UseAutoLength:=", true, _
   "DefeatureLength:=", "71.5891053163818mil")
          AssignSkinDepthOp
Use:                         Assigns a skin-depth based operations to the selection.
                                                                                     Mesh Operations Module Script Commands 15-5
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 RestrictElem
                                 If true, NumMaxElem should be specified.
    Example:
                                 oModule.AssignSkinDepthOp Array("NAME:SkinDepth1", _
                                      "Faces:=", Array(7), _
                                      "RestrictElem:=", true, _
                                      "NumMaxElem:=", 1000, _
                                      "SkinDepth:=", "1mm", _
                                      "SurfTriMaxLength:=", "1mm", _
                                      "NumLayers:=", 2)
              AssignTrueSurfOp
    Use:                         Assigns a true surface-based mesh operation on the selection.
    Command:                     HFSS or Q3D Extractor or 2D Extractor>Mesh Operations>Assign>Surface
                                 Approximation
    Syntax:                      AssignTrueSurfOp <TrueSurfOpParams>
    Return Value:                None
    Parameters:                  <TrueSurfOpParams>
                                      Array("NAME:<OpName>",
                                            "Faces:=", <AssignmentFaces>,
                                            "SurfDevChoice:=",                        <RadioOption>,
                                            "SurfDev:=", <value>,
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                                        "NormalDevChoice:=", <RadioOption>,
                                        "NormalDev:=", <value>,
                                        "AspectRatioChoice:=", <RadioOption>,
                                        "AspectRatio:=", <double>)
                             <RadioOption>
                             Type: <int>
                             0: Ignore
                             1: Use defaults
                             2: Specify the value
Example:
                             oModule.AssignTrueSurfOp Array("NAME:TrueSurf1",
                                  "Faces:=", Array(9), _
                                  "SurfDevChoice:=",                         2, _
                                  "SurfDev:=", "0.04123105626mm", _
                                  "NormalDevChoice:=", 2, _
                                  "NormalDev:=", "15deg", _
                                  "AspectRatioChoice:=", 1)
          EditLengthOp
Use:                         Edits an existing length-based operation. This cannot be used to modify
                             assignments. Instead, the mesh operation should be deleted and a new one
                             created.
Command:                     Double-click the operation in the project tree to modify its settings.
Syntax:                      EditLengthOp <OpName>, <LengthOpParams>
Return Value:                None
Example:
                             oModule.EditLengthOpK "Length1", Array("NAME:Length1", _
                                  "RefineInside:=", false, _
                                  "RestrictElem:=", false, _
                                  "RestrictLength:=", true, _
                                  "MaxLength:=", "2mm")
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              EditModelResolutionOp
    Use:                         Assigns a model resolution name, value and unit for mesh operations. If
                                 UseAutoLength is true, the Defeature length is not used.
    Command:                     Double-click the operation in the project tree to modify its settings.
    Syntax:                      EditModelResolutionOp Array(<ModelResParams>)
    Return Value:
    Parameters:                  Array("NAME:<string>",
                                      "Objects:=", Array( "<modelname>"), _
                                      "UseAutoLength:=", <Boolean>, _
                                      "DefeatureLength:=", "<value><units>")
    Example:
         Set oDesign = oProject.SetActiveDesign("wg_combiner")
         Set oModule = oDesign.GetModule("MeshSetup")
         oModule.EditModelResolutionOp "ModelResolution1", _ Array("NAME:Mod-
         elResolution1", "UseAutoLength:=", false, _
         "DefeatureLength:=", "71.5891053163818mil")
              EditSkinDepthOp
    Use:                         Modifies an existing skin-depth based mesh operation. Assignments cannot
                                 be changed using this command. To change the assignment, you must delete
                                 operation and create it using a new assignment.
    Command:                     Double-click the operation in the project tree to modify its settings.
    Syntax:                      EditSkinDepthOp <OpName>, <SkinDepthOpParams>
    Return Value:                None
    Example:
                                 oModule.EditSkinDepthOp "SkinDepth1",
                                      Array("NAME:SkinD",_
                                            "RestrictElem:=", false, _
                                            "SkinDepth:=", "2mm", _
                                            "SurfTriMaxLength:=", "1mm", _
                                            "NumLayers:=", 2)
              EditTrueSurfOp
    Use:                         Modifies an existing true surface approximation-based mesh operation.
                                 Assignments cannot be changed using this command. To change the
                                 assignment, delete this operation and create it using a new assignment.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Command:                     Double-click the operation in the project tree to modify its settings.
Syntax:                      EditTrueSurfOp <OpName>, <TrueSurfOpParams>
Return Value:                None
Example:
                             oModule.EditTrueSurfOp "TrueSurf2",
                                  Array("NAME:trusurf", _
                                        "SurfDevChoice:=", 2, _
                                        "SurfDev:=","0.03mm", _
                                        "NormalDevChoice:=", 1, _
                                        "AspectRatioChoice:=", 2, _
                                        "AspectRatio:=", 10)
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
16                Analysis Setup Module
              Script Commands
                    CopySetup
                    CopySweep
                    DeleteDrivenSweep
                    DeleteSetups
                    DeleteSweep [HFSS-IE]
                    EditFrequencySweep
                    EditSetup
                    EditSetup (2D Extractor)
                    EditSweep [HFSS-IE]
                    EditCircuitSettings
                    ExportCircuit
                    ExportCircuit (2D Extractor)
                    GetSetupCount
                    GetSetups
                    GetSweepCount
                    GetSweeps
                    InsertFrequencySweep
                    InsertSweep [HFSS-IE]
 ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                     of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 InsertSetup
                                 InsertSetup (2D Extractor)
                                 InsertSetup [HFSS-IE]
                                 InsertSetup [Transient]
                                 PasteSetup
                                 PasteSweep
                                 RenameDrivenSweep
                                 RenameSetup
                                 RenameSweep [HFSS-IE]
                                 RevertAllToInitial
                                 RevertSetupToInitial
              CopySetup
    The documented command is applicable for Q3D Extractor.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          DeleteDrivenSweep
Use:                         Deletes a frequency sweep. For HFSS-IE use DeleteSweep.
Command:                     Right-click a frequency sweep in the project tree, and then click Rename on
                             the shortcut menu.
Syntax:                      DeleteDrivenSweep <SetupName>, <SweepName>
Return Value:                None
          DeleteSetups
Use:                         Deletes one or more solution setups, which are specified by an array of
                             solution setup names.
Command:                     Right-click a solution setup in the project tree, and then click Delete on the
                             shortcut menu, or delete selected solution setups in the List dialog box.
Syntax:                      DeleteSetups <SetupArray>
Return Value:                None
Parameters:                  <SetupArray>
                                  Array(<name1>, <name2>, ...)
Example:
                             oModule.DeleteSetups Array("Setup1", "Setup2")
          DeleteSweep [HFSS-IE]
Use:                         Deletes a frequency sweep.
Command:                     Right-click a frequency sweep in the project tree, and then click Rename on
                             the shortcut menu.
Syntax:                      DeleteSweep <SetupName>, <SweepName>
Return Value:                None
For Q3D Extractor, the command details are as follows:
Use:                         Deletes a sweep.
Syntax:                      DeleteSweep <SetupName>, <SweepName>
Return Value:                None
Parameters:                  <SetupName>
                                  Type: <String>
                                  Name of solve setup.
                             <SweepName>
                                  Type: <String>
                                  Name of sweep to be deleted.
   oModule.DeleteSweep "Setup6", "Sweep1"
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              EditFrequencySweep
    Use:                         Modifies an existing frequency sweep. For HFSS-IE use EditSweep [HFSS-IE]
    Command:                     Double-click a frequency sweep in the project tree to modify its settings.
    Syntax:                      EditFrequencySweep <SetupName>, <SweepName>,
                                 <AttributesArray>
    Return Value:                None
    Parameters:                  <SetupName>
                                 Type: <string>
                                 Name of the solution setup containing the sweep to be edited.
                           <SweepName>
                                 Type: <string>
                                 Name of the sweep to be edited.
                           <Attributes Array>
                                      Array("NAME:<SweepName>",
                                            "IsEnabled:=", <boolean>,
                                            "SetupType:=", <SetupType>,
                                            <FrequencyInformation>,
                                            "Type:=", <SweepType>,
                                            <SaveFieldsList>
                                            <DCExtrapInfo>)
                           See the InsertFrequencySweep command for details.
    Example:
         oModule.EditFrequencySweep "Setup1", "Sweep3", _
         Array("NAME:Sweep3", "IsEnabled:=", true, _
         "SetupType:=", "SinglePoints", _
         "ValueList:=", Array("1GHz", "2GHz", "3GHz"), _
         "Type:=", "Discrete", _
         "SaveFieldsList:=", Array(false, false, false), _
         "ExtrapToDC:=", false)
              EditSetup
    Use:                         Modifies an existing solution setup.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Command:                     Double-click a solution setup in the project tree to modify its settings.
Syntax:                      EditSetup <SetupName>, <AttributesArray>
Return Value:                None
Parameters:                  <SetupName>
                             Type: <string>
                             Name of the solution setup being edited.
                       <AttributesArray>
                                  Array("NAME:<NewSetupName>", <NamedParameters>)
              See the InsertSetup command for details and examples.
For Q3D Extractor, the EditSetup command has the following details.
Use:                         Edit an existing solution setup.
Command:                     Double-click a setup in the project tree to edit it.
Syntax:                      EditSetup <SetupName>, Array("NAME:<NewSetupName>,
                             "Enabled:=",
                             <Enabled>,"AdaptiveFreq:=",<AdaptFreq>,<SolverParam>)
Return Value:                None
Parameters:                  <SetupName>
                                  Type: <string>
                                  Name of the solve setup being edited.
                             <NewSetupName>
                                  Type: <string>
                                  New name of the solve setup being edited
                             <SaveFields>
                                  Type: <string>
                                  Flag to indicate whether the fields are saved for last
                                  adaptive solution. (True or False).
                             <Enabled>
                                  Type: <bool>
                                  Flag to indicate whether the setup is enabled.
                             <AdaptFreq>
                                  Type: <String>
                                  Frequency with units.
                             <SolverParam>
                                  See InsertSetup for details.
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              EditSweep [HFSS-IE]
    Use:                         Modifies an existing sweep in HFSS-IE.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Command:                     Double-click a frequency sweep in the project tree to modify its settings.
Syntax:                      EditSweep <SetupName>, <SweepName>, <AttributesArray>
Return Value:                None
Parameters:                  <SetupName>
                             Type: <string>
                             Name of the solution setup containing the sweep to be edited.
                       <SweepName>
                             Type: <string>
                             Name of the sweep to be edited.
                       <Attributes Array>
                                  Array("NAME:<SweepName>",
                                        "IsEnabled:=", <boolean>,
                                        "SetupType:=", <SetupType>,
                                        <FrequencyInformation>,
                                        "Type:=", <SweepType>,
                                        <SaveFieldsList>
                                        <DCExtrapInfo>)
                       <additionalRanges>
                             Array( "SetupType:=", “<SetupType>”,
                             "StartValue:=", "<ValueUnits>",
                             "StopValue:=", "<ValueUnits", "Count:=", <value>, ...)
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              EditCircuitSettings
    Use:                         Exports equivalent circuit data.
    Command:                     Right-click the Analysis folder, and then choose Edit Circuit Settings.
    Syntax:                      EditCircuitSettings <ExportSettings>
    Return Value:                None
    Parameters:                  <ExportSettings>
                                 See ExportCircuit for details.
    Example:                     oModule.EditCircuitSettings Array("NAME:CircuitData",
                                 "MatrixName:=", "Original", "NumberOfCells:=", _ "1",
                                 "UserHasChangedSettings:=", true, "IncludeCap:=", true,
                                 "IncludeCond:=", _ true, Array("NAME:CouplingLimits",
                                 "CouplingLimitType:=", "By Fraction", "CapFraction:=", _
                                 0.01, "IndFraction:=", 0.01, "ResFraction:=", 0.01,
                                 "CondFraction:=", 0.01), "IncludeDCR:=", _ false,
                                 "IncudeDCL:=", false, "IncludeACR:=", false,
                                 "IncludeACL:=", false, "ADDResistance:=", _ true)
              ExportCircuit
    Use:                         Export equivalent circuit data.
    Command:                     Right-click a setup in the project tree or the Analysis folder and choose
                                 Export Circuit.
    Syntax:                      ExportCircuit <Solution>, <Variation>, <FileName>,
                                 <ExportSettings>, <ModelName>, <Freq>
    Return Value:                none
    Parameters:                  <Solution>
                                      <SetupName>:<SolutionName>
                                      <SetupName>
                                            Type: <string>
                                            Name of the setup where circuit is being exported
16-8 Analysis Setup Module Script Commands
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                        <SolutionName>
                              Type: <String>
                              Name of the solution.
                   <Variation>
                        Type: <string>
                        The variation where circuit is being exported
                   <FileName>
                        Type: <string>
                        The name of the file where circuit is being exported
                   <ModelName>
                        Type: <String>
                        Model name or name of the sub circuit (Optional). If
                        not specified then <FileName> is considered as model
                        name.
                   <Freq>
                        Type: <double>
                        Sweep frequecny in hz.
                   <ExportSettings>
                        Array("NAME:CircuitData", "MatrixName:=",                                                    _
                          <ReduceMatrix>, "NumberOfCells:=", <NumCell>, "User-
                        HasChangedSettings:=", <UserChangedSettings>, "Inclu-
                        deCap:=", <IncludeCap>, "IncludeCond:=",
                        <IncludeCond>, Array("NAME:CouplingLimits", <Cou-
                        plingLimitsArray>, "IncludeDCR:=", <IncludeDCR>,
                        "IncludeDCL:=", <IncludeDCL>, "IncludeACR:=",
                        <IncludeACR>, "IncludeACL:=", <IncludeACL>, "ADDResis-
                        tance:=", <AddResistance>)
                        Parameters:
                        <ReduceMatrix>
                              Type: <string>
                              One of the reduced matrix setup or "Original"
                        <NumCell>
                              Type: <string>
                              Number of cells in export. Can be a variable.
                        <UserChangedSettings>
                              Type: <bool>
                              Whether user changed settings or use default set-
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                           tings.
                                     <IncludeCap>
                                           Type: <bool>
                                           Flag indicates whether to export Capacitance matrix.
                                     <IncludeCond>
                                           Type: <bool>
                                           Flag indicates whether to export Conductance matrix.
                                     <IncludeDCR>
                                           Type: <bool>
                                           Flag indicates whether to export DC resistance
                                           matrix.
                                     <IncludeDCL>
                                           Type: <bool>
                                           Flag indicates whether to export DC Inductance
                                           matrix.
                                     <IncludeACR>
                                           Type: <bool>
                                           Flag indicates whether to export AC resistance
                                           matrix.
                                     <IncludeACL>
                                           Type: <bool>
                                           Flag indicates whether to export AC inductance
                                           matrix.
                                     <AddResistance>
                                           Type: <bool>
                                           Adds the DC and AC resistance.
Note You cannot export both AC and DC matrices unless AddResistance is selected.
                                     <CouplingLimitsArray>
                                           Array("NAME:CouplingLimits", "CouplingLimit-
                                           Type:=", _ <CouplingLimitType>, <CouplingLimitsPa-
                                           rameters>, 0.01, "CondFraction:=", 0.01)
                                           <CouplingLimitType> = "None"
                                                Argument not needed
                                           <CouplingLimitType> = "ByFraction"
                                                <CouplingLimitsParameters>
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                              when exporting.
                        <IncludeR>
                              Type:<bool>
                              Flag to tell whether to include resistance matrix
                              when exporting.
                        <IncludeL>
                              Type:<bool>
                              Flag to tell whether to include inductance matrix
                              when exporting.
                        <ExportDistributed>
                              Type: <bool>
                              Flag to tell whether to export in distributed mode or
                              Lumped mode.
                        <LumpedLength>
                              Type: <String>
                              Length of the design.
                        <RiseTime>
                              Type:<String>
                              Rise time to calculate the number of cells.
                        <CouplingLimitsArray>
                              Array("NAME:CouplingLimits", "CouplingLimit-
                              Type:=", _ <CouplingLimitType>, <CouplingLimitsPa-
                              rameters>, 0.01, "CondFraction:=", 0.01)
                              <CouplingLimitType> = "None"
                                   Argument not needed
                              <CouplingLimitType> = "ByFraction"
                                   <CouplingLimitsParameters>
                                   "CapFraction:=", <Fraction>, "IndFraction:=",
                                   <Fraction>,
                                   "ResFraction:=", <Fraction>,"CondFrac-
                                   tion:=",<Fraction>,
                                   Parameters:
                                   <Fraction>
                                        Type: <double>
                                        Fraction of the self term
                              <CouplingLimitType> = "ByValue"
                                   <CouplingLimitsParameters>
                                                                            Analysis Setup Module Script Commands 16-13
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          GetSetupCount
Use:                         Gets the number of analysis setups in a design.
Syntax:                      GetSetups()
Return Value:                Number of setups.
Parameters:                  None
Example:
                             setupcount = oModule.GetSetupCount()
          GetSetups
Use:                         Gets the names of analysis setups in a design.
Syntax:                      GetSetups()
Return Value:                Array of analysis setup names.
Parameters:                  None
Example:
                             setupnames = oModule.GetSetups()
          GetSetupNames
The documented command is valid for Q3D Extractor.
Use:                         Get the names of Q3D setups.
Command:                     None
Syntax:                      GetSetupNames()
Return Value:                An array of strings. The setup names.
Parameters:                  None.
Example:                     Set setups = oModule.GetSetupNames()
                                  numsetups = setups.Count
                                  for i=0 to numsetups-1
                                           setup = setups.Item(i)
                                           MsgBox "Setup Name = " & setup
                                  Next
          GetSweepCount
Use:                         Gets the number of sweeps in a given analysis setup.
Syntax:                      GetSweepCount(<SetupName>)
Return Value:                Number of sweeos for the named setup.
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Parameters:                  <SetupName>
                                 Type: <string>
                                 Name of the setup.
    Example:
                                 sweepcount = oModule.GetSweepCount("Setup1")
              GetSweeps
    Use:                         Gets the names of all sweeps in a given analysis setup.
    Syntax:                      GetSweeps(<SetupName>)
    Return Value:                Array of sweep names.
    Parameters:                  <SetupName>
                                 Type: <string>
                                 Name of the setup.
    Example:
                                 sweepnames = oModule.GetSweeps("Setup1")
              InsertFrequencySweep
    Use:                         Adds a frequency sweep to a Driven solution-type setup.
    Command:                     HFSS>Analysis Setup>Add Sweep
    Syntax:                      InsertFrequencySweep <SetupName>, <AttributesArray>
                                 [<additionalRanges>]
    Return Value:                None
    Parameters:                  <SetupName>
                                 Type: <string>
                                 Name of the solution setup into which the sweep will be inserted.
                           <Attributes Array>
                                      Array("NAME:<SweepName>",
                                            "IsEnabled:=", true,
                                            "SetupType:=", <SetupType>,
                                            "Type:=", <SweepType>,
                                            <FrequencyInformation>,
                                            <SaveFieldsList>
                                            <DCExtrapInfo>)
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
                         <SweepType>
                         Type: <string>
                         Ex. "Discrete", "Fast", or "Interpolating".
                         <SetupType>
                         Type: <string>
                         Ex. "LinearSetup", "LinearCount", or "SinglePoints".
                         <FrequencyInformation>
                         This will vary based on the sweep and solution type. See the examples below.
                         <DCExtrapInfo>
                         Information about whether and how to perform DC extrapolation. This parameter is
                         not used for Discrete sweeps. See the examples below.
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
"MinSolvedFreq:=", "0.1GHz")
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Example:                     A Fast sweep, specified using the starting and stopping frequencies and the
                             step count:
   oModule.InsertFrequencySweep "Setup1", Array("NAME:Sweep4", _
   "IsEnabled:=", true, "SetupType:=", "LinearCount", _
   "StartValue:=", "1GHz", _
   "StopValue:=", "10GHz", _
   "Count:=", 3, _
   "Type:=", "Fast", _
   "SaveFields:=", true, "ExtrapToDC:=", false)
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                     Parameters:
                                     <SweepName>
                                           Type: <String>
                                           Sweep name
                                     <EnableFlag>
                                           Type:<bool>
                                           Flag to tell whether sweep is enabled.
                                     <SetupType>
                                           Type:String>
                                           Values: "LinearStep", "LinearCount", "LogScale",
                                           "SinglePoints"
                                     <SetupTypeParameters>
                                           Base on the value of setup type, setup type parame-
                                           ters varies.
                                           <LinearStepParameters>
                                                StartValue:=", <StartValue>, "StopValue:=",
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                                     "ValueList:=", Array(<FrequencyPoint>,<Frequen-
                                                     cyPoint> ..),
                                                     <FrequencyPoint>
                                                     Type: <String>
                                                     Single frequency point.
                                     <SweepType>
                                           Type:<String>
                                           Values: "Discrete", "Interpolating"
                                           Type of sweep.
                                     <SaveFields>
                                           Type:<bool>
                                           Flag, whether to save fields for the frequency
                                           points.
                                     <SaveFieldsListParameters>
                                           "SaveFieldsList:=", Array(<SaveFields>,<Save-
                                           Fields>,…)
                                           Type:Array of flags.
                                     <InterpSweepParameter>
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                                        <Tolerance>
                                             Type: <double>
                                             Tolerance for interpolating sweep.
                                        <MaxSolutions>
                                             Type:<Integer>
                                             Maximum basis points for interpolating sweep.
                                        <MinSolutions>
                                             Type:<Integer>
                                             Minimum basis points for interpolating sweep.
                                        <InterpMinSubRanges>
                                             Type:<Integer>
                                             Minimum number of subranges in the interpolator.
Example:                     oModule.InsertSweep "Setup4", Array("NAME:Sweep2",
                             "IsEnabled:=", true, "SetupType:=", _ "LinearStep",
                             "StartValue:=", "1GHz", "StopValue:=", "10GHz",
                             "StepSize:=", _ "1GHz", "Type:=", "Interpolating",
                             "SaveFields:=", false, "InterpTolerance:=", _ 0.01,
                             "InterpMaxSolns:=", 9, "InterpMinSolns:=", 4,
                             InterpMinSubranges:=", 2
Example:                     oModule.InsertSweep "Setup4", Array("NAME:Sweep1",
                             "IsEnabled:=", true, "SetupType:=", _
                               "LinearStep", "StartValue:=", "1GHz", "StopValue:=",
                             "10GHz", "StepSize:=", _
                                  "1GHz", "Type:=", "Discrete", "SaveFields:=", true)
Example:                     oModule.InsertSweep "Setup4", Array("NAME:Sweep2",
                             "IsEnabled:=", true, "SetupType:=", _
                               "LinearStep", "StartValue:=", "1GHz", "StopValue:=",
                             "10GHz", "StepSize:=", _
                 "1GHz", "Type:=", "Interpolating", "SaveFields:=",
               false, "InterpTolerance:=", _
  0.01, "InterpMaxSolns:=", 9, "InterpMinSolns:=", 4)
          InsertSetup
Use:                         Adds a new solution setup.
Command:                     HFSS>Analysis Setup>Add Solution Setup
Syntax:                      InsertSetup <SetupType>, <AttributesArray>
Return Value:                None
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Parameters:                 <SetupType>
                                Type: <string>
                                "HfssDriven" or "HfssEigen". Must match the HFSS solution type.
                                <AttributesArray>
                                Array("NAME:<SetupName>", <Named Parameters>)
                                <Named Parameters>
                                The named parameters will vary according to the solution type. To see the required
                                parameters for a specific set of parameters and their format, use the record script
                                function, and view the resulting script in a text edtor. See the examples below.
    Example:                    A Driven solution type with a mesh link. References to dependent solve in
                                old scripts are converted to mesh link form.
         Set oModule = oDesign.GetModule("AnalysisSetup")
         oModule.InsertSetup "HfssDriven",
         Array("NAME:Setup1",
         "Frequency:=", "1GHz",
         "MaxDeltaE:=", 0.1,
         "MaximumPasses:=", 6,
         "MinimumPasses:=", 1,
         "MinimumConvergedPasses:=", 1,
         "PercentRefinement:=", 30,
         "IsEnabled:=", true,
         Array("NAME:MeshLink",
         "Project:=", "Tee.hfss",
         "Design:=", "TeeModel",
         "Soln:=", "Setup1 : LastAdaptive",
         Array("NAME:Params", "offset:=", "0in"),
         "ForceSourceToSolve:=", false,
         "PreservePartnerSoln:=", false,
         "PathRelativeTo:=", "SourceProduct",
         "ApplyMeshOp:=", true),
         "BasisOrder:=", 1,
         "UseIterativeSolver:=", false,
         "DoLambdaRefine:=", false,
         "DoMaterialLambda:=", true,
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
   "SetLambdaTarget:=", false,
   "Target:=", 0.3333,
   "UseMaxTetIncrease:=", false,
   "MaxTetIncrease:=", 1000000,
   "EnableSolverDomains:=", false,
   "ThermalFeedback:=", false,
   "UsingConstantDelta:=", 0,
   "ConstantDelta:=", "0s",
   "NumberSolveSteps:=", 1)
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
         "EnableSolverDomains:=", false,
         "ThermalFeedback:=", false,
         "UsingConstantDelta:=", 0,
         "ConstantDelta:=", "0s",
         "NumberSolveSteps:=", 1)
    Example:                    An Eigenmode solution type:
         Set oProject = oDesktop.SetActiveProject("cavity")
         Set oDesign = oProject.SetActiveDesign("HFSSModel1")
         Set oModule = oDesign.GetModule("AnalysisSetup")
         oModule.InsertSetup "HfssEigen",
         Array("NAME:Setup2",
         "MinimumFrequency:=", "1.77347GHz",
         "NumModes:=", 1,
         "MaxDeltaFreq:=", 10,
         "ConvergeOnRealFreq:=", true,
         "MaximumPasses:=", 3,
         "MinimumPasses:=", 1,
         "MinimumConvergedPasses:=", 1,
         "PercentRefinement:=", 30,
         "IsEnabled:=", true,
         "BasisOrder:=", 1,
         "UseIterativeSolver:=", false,
         "DoLambdaRefine:=", true,
         "DoMaterialLambda:=", true,
         "SetLambdaTarget:=", false,
         "Target:=", 0.2,
         "UseMaxTetIncrease:=", false,
         "MaxTetIncrease:=", 1000000,
         "UsingConstantDelta:=", 0,
         "ConstantDelta:=", "0s",
         "NumberSolveSteps:=", 1)
    Example:
         A Driven solution type with ports and matrix convergence:
         Set oDesign = oProject.SetActiveDesign("packagehfss")
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
       ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                                        "PerRefine:=", <PerRefine>
                                        Parameters:
                                        <MaxPass>
                                             Type: <int>
                                             Maximum pass for a solution
                                        <PerError>
                                             Type: <double>
                                             Percentage error as stopping criteria.
                                        <PerRefine>
                                             Type: <double>
                                             Mesh refinement at each pass in percentage.
Example:
   oModule.InsertSetup "Matrix", Array("NAME:Setup1", "AdaptiveFreq:=",
   "1GHz", "EnableDistribProbTypeOption:=", _ false, "SaveFields:=",
   "true", "Enabled:=", true, Array("NAME:Cap", "MaxPass:=", 10, "Min-
   Pass:=", 1, "MinConvPass:=", _ 1, "PerError:=", 1, "PerRefine:=",
   30, "AutoIncreaseSolutionOrder:=", false, "SolutionOrder:=", _ "Nor-
   mal"), Array("NAME:DC", "Residual:=", 1E-005, "SolveResOnly:=", _
   false, Array("NAME:Cond", "MaxPass:=", 10, "MinPass:=", 1, "MinConv-
   Pass:=", 1, "PerError:=", _ 1, "PerRefine:=", 30),
   Array("NAME:Mult", "MaxPass:=", 1, "MinPass:=", 1, "MinConvPass:=",
   _ 1, "PerError:=", 1, "PerRefine:=", 30)), Array("NAME:AC", "Max-
   Pass:=", 10, "MinPass:=", _ 1, "MinConvPass:=", 1, "PerError:=", 1,
   "PerRefine:=", 30))
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                           and RL.
                                     <Enabled>
                                           Type: <bool>
                                     Array("NAME:CGDataBlock", <AdaptParam>),
                                     Array("NAME:RLDataBlock", ", <AdaptParam>),
                                     Parameters:
                                     <AdaptParam>
                                           "MaxPass:=",10, "MinPass:=",                                    _
                                             1, "MinConvPass:=", 1, "PerError:=", 1, "PerRe-
                                           fine:=", 30, "SolverResidual:=", _
                                             1E-005, "SolverChoice:=", "Auto", "DataType:=",
                                           "RL", "Included:=", true, "UseParamConv:=", _
                                             false, "UseLossyParamConv:=", false, "PerError-
                                           ParamConv:=", 1
                                           Parameters:
                                                <MaxPass>
                                                     Type: <int>
                                                     Maximum pass for a solution
                                                <MinPass>
                                                     Type: <int>
                                                     Minimum pass for a solution
                                                <MinConvPass>
                                                     Type: <int>
                                                     Minimum converged                        pass for a solution
                                                <PerError>
                                                     Type: <double>
                                                     Percentage error as stopping criteria
                                                <PerRefine>
                                                     Type: <double>
                                                     Mesh refinement at each pass in percentage
                                                <DataType>
                                                     Type: <String> , values are "RL" and "CG"
                                                     Type of data.
                                                <Included>
                                                     Type: <bool>
                                                     Flag that tells whether to extract a particular
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                                                  data or not.
                                             <UserParamConv>
                                                  <Type>: <bool>
                                                  Flag to tell whether to include the parameter
                                                  convergence.
                                             <UseLossyParamConv>
                                                  Type: <bool>
                                                  Flag, to include lossy parameters (G and R)
                                                  while calculating convergence.
                                             <PerErrorParamConv>
                                                  Type:<double>
                                                  Percent error for parameter convergence.
                                             <UseLossConv>
                                                  Type: <bool>
                                                  Flag, to include loss in convergence criterion.
Example:                     oModule.InsertSetup "Matrix", Array("NAME:Setup1",
                             "AdaptiveFreq:=", "1GHz", "Enabled:=", _ true,
                             Array("NAME:CGDataBlock", "MaxPass:=", 5, "MinPass:=", 1,
                             "MinConvPass:=", 1, "PerError:=", _ 1, "PerRefine:=",
                             30"DataType:=", _ "CG", "Included:=", true,
                             "UseParamConv:=", false, "UseLossyParamConv:=", _ false,
                             "PerErrorParamConv:=", 1, "UseLossConv:=", false),
                             Array("NAME:RLDataBlock", "MaxPass:=", 10, "MinPass:=",
                             _ 1, "MinConvPass:=", 1, "PerError:=", 1, "PerRefine:=",
                             30, "DataType:=", "RL", "Included:=", true,
                             "UseParamConv:=", _ false, "UseLossyParamConv:=", false,
                             "PerErrorParamConv:=", 1, "UseLossConv:=", false))
          InsertSetup [HFSS-IE]
Use:                         Adds a new HFSS-IE solution setup.
Command:                     HFSS>Analysis Setup>Add Solution Setup
Syntax:                      InsertSetup <SetupType>, <AttributesArray>
                             [<AdditionalSetups>]
Return Value:                None
Parameters:                  <SetupType>
                             Type: <string>
                             “HFIESetup”. Must match the HFSS solution type.
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 <AttributesArray>
                                 Array("NAME:<SetupName>", <Named Parameters>)
                                 <Named Parameters>
                                 The named parameters will vary according to the solution type. To see the required
                                 parameters for a specific set of parameters and their format, use the record script
                                 function, and view the resulting script in a text edtor. See the HFSS-IE example
                                 below.
                           <additionalRanges>
                                 Array( "SetupType:=", “<SetupType>”,
                                 "StartValue:=", "<ValueUnits>",
                                 "StopValue:=", "<ValueUnits", "Count:=", <value>, ...)
    Example:
         oModule.InsertSetup "HFIESetup", Array("NAME:Setup3",
         "MaximumPasses:=", 6,
         "MinimumPasses:=", 1,
         "MinimumConvergedPasses:=", 1,
         "PercentRefinement:=", 30,
         "Enabled:=", true,
         "AdaptiveFreq:=", "1GHz",
         "DoLambdaRefine:=", true,
         "UseDefaultLambdaTarget:=", true,
         "Target:=", 0.25,
         "DoMaterialLambda:=", true,
         "MaxDeltaS:=", 0.02,
         "MaxDeltaE:=", 0.1,
         "UsePOSolver:=", true)
              InsertSetup [Transient]
    Use:                         Add a new solution setup to a Transient design
    Command:                     FSS>Analysis Setup>Add Solution Setup
    Syntax:                      InsertSetup <SetupType>, <AttributesArray>
    Return Value:                None
    Parameters:                  <SetupType>
                                 Type: <string>
                                 "HfssTransient". Must match the HFSS solution type.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
                         <AttributesArray>
                         Array("NAME:<SetupName>", <Named Parameters>)
                         <Named Parameters>
                         The named parameters will vary according to the solution type. To see the required
                         parameters for a specific set of parameters and their format, use the record script
                         function, and view the resulting script in a text edtor. See the examples below.
                   <additionalRanges>
                         Array( "SetupType:=", “<SetupType>”,
                         "StartValue:=", "<ValueUnits>",
                         "StopValue:=", "<ValueUnits", "Count:=", <value>, ...)
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
         "MaxDeltaE:=", 0.1,
         "MaximumPasses:=", 20,
         "IsEnabled:=", true,
         "BasisOrder:=", -1,
         "NoAdditionalRefinementOnImport:=", true,
         Array("NAME:Transient", "TimeProfile:=", "TDR",
         "HfssFrequency:=", "0.55GHz",
         "MinFreq:=", "0Hz",
         "MaxFreq:=", "25028.5714285714MHz",
         "NumFreqsExtracted:=", 401,
         "RiseTime:=", "35ps",
         "SyncTDRMidpoint:=", 1,
         "TDRMidpoint:=", "17.5ps",
         "UseAutoTermination:=", 0,
         "TerminateOnMaximum:=", 1,
         "UseMaxTime:=", 1,
         "MaxTime:=", "20000ps"))
              InsertSweep [HFSS-IE]
    Use:                         Adds a frequency sweep to a Driven solution-type setup in HFSS-IE.
    Command:                     HFSS-IE>Analysis Setup>Add Sweep
    Syntax:                      InsertSweep <SetupName>, <AttributesArray>
    Return Value:                None
    Parameters:                  <SetupName>
                                 Type: <string>
                                 Name of the solution setup into which the sweep will be inserted.
                           <Attributes Array>
                                      Array("NAME:<SweepName>",
                                            "IsEnabled:=", true,
                                            "SetupType:=", <SetupType>,
                                            "Type:=", <SweepType>,
                                            <FrequencyInformation>,
                                            <SaveFieldsList>
                                            <DCExtrapInfo>)
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
                         <SweepType>
                         Type: <string>
                         Ex. "Discrete", "Fast", or "Interpolating".
                         <SetupType>
                         Type: <string>
                         Ex. "LinearSetup", "LinearCount", or "SinglePoints".
                         <FrequencyInformation>
                         This will vary based on the sweep and solution type. See the examples below.
                         <DCExtrapInfo>
                         Information about whether and how to perform DC extrapolation. This parameter is
                         not used for Discrete sweeps. See the examples below.
                   <additionalRanges>
                         Array( "SetupType:=", “<SetupType>”,
                         "StartValue:=", "<ValueUnits>",
                         "StopValue:=", "<ValueUnits", "Count:=", <value>, ...)
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
         "StartValue:=", "0GHz", _
         "StopValue:=", "20.4GHz", _
         "StepSize:=", "0.1GHz", _
         "Type:=", "Fast", "SaveFields:=", true, _
         "ExtrapToDC:=", true, _
         "MinSolvedFreq:=", "0.1GHz")
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Example:                     A Fast sweep, specified using the starting and stopping frequencies and the
                             step count:
   oModule.InsertSweep "Setup1", Array("NAME:Sweep4", _
   "IsEnabled:=", true, "SetupType:=", "LinearCount", _
   "StartValue:=", "1GHz", _
   "StopValue:=", "10GHz", _
   "Count:=", 3, _
   "Type:=", "Fast", _
   "SaveFields:=", true, "ExtrapToDC:=", false)
          PasteSetup
Use:                         Paste a solve setup.
Syntax:                      PasteSetup
Return Value:                None
Example:                     oModule.PasteSetup
          PasteSweep
Use:                         Paste a sweep.
Syntax:                      PasteSweep <SetupName>
Return Value:                None
Parameters:                  <SetupName>
                                  Type: <String>
                                  Name of solve setup where the copied sweep is pasted.
Example:                     oModule.PasteSweep "Setup6"
          RenameDrivenSweep
Use:                         Renames an existing frequency sweep in HFSS. For HFSS-IE use
                             RenameSweep.
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Command:                     Right-click a frequency sweep in the project tree, and then click Rename on
                                 the shortcut menu.
    Syntax:                      RenameDrivenSweep <SetupName>, <OldSweepName>,
                                      <NewSweepName>
    Return Value:                None
    Example:
                                 oModule.RenameDrivenSweep "Setup1", "Sweep1", _
                                      "MySweep"
              RenameSetup
    Use:                         Renames an existing solution setup.
    Command:                     Right-click a solution setup in the project tree, and then click Rename on
                                 the shortcut menu.
    Syntax:                      RenameSetup <OldName>, <NewName>
    Return Value:                None
    Parameters:                  <OldName>
                                 Type: <string>
                                 Name of the solution setup being renamed.
                           <NewName>
                                 Type: <string>
                                 New name for the solution setup.
    Example:                     oModule.RenameSetup "Setup1", "Setup2"
              RenameSweep [HFSS-IE]
    Use:                         Renames an existing frequency sweep in HFSS-IE.
    Command:                     Right-click a frequency sweep in the project tree, and then click Rename on
                                 the shortcut menu.
    Syntax:                      RenameSweep <SetupName>, <OldSweepName>,
                                      <NewSweepName>
    Return Value:                None
    Example:
                                 oModule.RenameSweep "Setup1", "Sweep1", _
                                      "MySweep"
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          RevertAllToInitial
Use:                         Marks the current mesh for all solution setups as invalid. This will force the
                             next simulation to begin with the initial mesh.
Command:                     HFSS>Analysis Setup>Revert to Initial Mesh
Syntax:                      RevertAllToInitial
Return Value:                None
For Q3D Extractor and 2D Extractor, the command details are as follows:
Use:                         Marks the current mesh for all solution setups as invalid. This will force the
                             next simulation to begin with the initial mesh.
Command:                     Q3D Extractor or 2D Extractor>Analysis Setup>Revert to Initial Mesh
Syntax:                      RevertAllToInitial
Return Value:                None
Example:                     oModule.RevertAllToInitial
          RevertSetupToInitial
Use:                         Marks the current mesh for a solution setup as invalid. This will force the
                             next simulation to begin with the initial mesh.
Command:                     Right-click a setup in the project tree, and then click Revert to Initial Mesh
                             on the shortcut menu.
                                                                                      Analysis Setup Module Script Commands 16-39
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              SetMPIVendor
    The documented command is applicable for Q3D Extractor.
    Use:                         Specify vendor name.
    Syntax:                      SetMPIVendor <vendorname>, <product name>
    Return Value:                None
    Parameters:                  <vendorname>
                                      Type: <String>
                                      Name of MPI vendor. Possible values are "Intel", "Plat-
                                      formComputing"
                                 <product name>
                                      Type: <String>
                                      Valid value is "Q3D Extractor". It is optional input,
                                      if not specified the default value is "Q3D Extractor"
                                 oAnsoftApp.SetMPIVendor "Intel", "Q3D Extractor"
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
17               Optimetrics Module Script
              Commands
                    <VarName>
                    Type: <string>
                    Name of a variable.
                    <VarValue>
                    Type: <string>
                    Value with unit (i.e., <value>, but cannot be an expression).
                    <StartV>
                    Type: <VarValue>
                    The starting value of a variable.
 ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                     of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                <StopV>
                                Type: <VarValue>
                                The stopping value of a variable.
                                <MinV>
                                Type: <VarValue>
                                The minimum value of a variable.
                                <MaxV>
                                Type: <VarValue>
                                The maximum value of a variable.
                                <IncludeVar>
                                Type: <bool>
                                Specifies whether the variable is included in the analysis.
                                <StartingPoint>
                                     Array("NAME:StartingPoint",                                    "<VarName>:=",
                                           <VarValue>, .... "<VarName>:=", <VarValue>)
                                <SaveField>
                                Type: <bool>
                                Specifies whether HFSS will remove the non-nominal field solution.
                                <MaxIter>
                                Type: <int>
                                Maximum iteration allowed in an analysis.
                                <PriorSetup>
                                Type: <string>
                                The name of the embedded parametric setup.
                                <Precede>
                                Type: <bool>
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   <Constraint>
                        Array("NAME:LCS",
                              "lc:=", Array("<VarName>:=",
                                   <Coeff>, …"<VarName>:=", <Coeff>,                                          "rel:=",
                                   <Cond>, "rhs:=", <Rhs>), ...
                              "lc:=", Array("<VarName>:=", <Coeff>, ..."
                                   <VarName>:=", <Coeff>, "rel:=", <Cond>, "rhs:=",
                                   <Rhs>))
                   <Coeff>
                   Type: <double>
                   Coefficient for a variable in the linear constraint.
                   <Cond>
                   Type: <string>
                   Inequality condition.
                   <Rhs>
                   Type: <double>
                   Inequality value.
                   <OptiGoalSpec>
                        "Solution:=", <Soln>, "Calculation:=", <Calc>,
                        "Context:=, <Geometry>
                        Array("NAME:Ranges",
                              "Range:", Array("Var:=",
                                   <VarName>, "Type:=", <RangeType>, "Start:=",
                                   <StartV>, "Stop:=", <StopV>), ...
                              "Range:", Array("Var:=", <VarName>, "Type:=",
                                   <RangeType>, "Start:=", <StartV>, "Stop:=",
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
<StopV>))
                                <Soln>
                                Type: <string>
                                Name of the HFSS solution.
                                <Calc>
                                Type: <string>
                                An expression that is composed of a basic solution quantity and an
                                output variable.
                                <ContextName>
                                Type: <string>
                                Name of context needed in the evaluation of <Calc>.
                                <Geometry>
                                Type: <string>
                                Name of geometry needed in the evaluation of <Calc>.
                                <RangeType>
                                Type: <string>
                                if "r", start and stop values specify a range for the variable.
                                if "s", start values specify the single value for the variable.
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          DeleteSetups [Optimetrics]
Use:                         Deletes the specified Optimetrics setups.
Command:                     Right-click the setup in the project tree, and then click Delete on the
                             shortcut menu.
Syntax:                      DeleteSetups <NameArray>
Return Value:                None
Parameters:                  <NameArray>
                             Type: Array of strings.
                             An array of setup names.
Example:
                                                                                            Optimetrics Module Script Commands 17-5
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
oModule.DeleteSetups Array("OptimizationSetup1")
              DistributedAnalyzeSetup
    Use:                         Distributes all variable value instances within a parametric sweep to
                                 different machines already specified from within the user interface
    Command:                     Right-click the parametric setup name in the project tree and select
                                 Distribute Analysis.
    Syntax:                      DistributedAnalyzeSetup <ParametricSetupName>
    Return Value:                None
    Parameters:                  <ParametricSetupName>
                                 Type: <string>
    Example:
                                 oModule.DistributedAnalyzeSetup "ParametricSetup1"
              ExportDXConfigFile
    Use:                         Create an xml file with the setup information for Design Xplorer.
    Command:                     Right click on the Design Xplorer setup in the project tree and choose
                                 Export External Connector Addin Configuration…
    Syntax:                      ExportDXConfigFile <SetupName>, <FileName>
    Return Value:                None
    Parameters:                  <SetupName>
                                 Type: <string>
                                 Must be one of existing DesignExplorer setup names.
                                 <FileName>
                                 Type : <string: file path>
                                 Must be a valid file path and name.
    Example:                     oModule.ExportDXConfigFile "DesignXplorerSetup1",
                                 "c:/exportdir/DXSetup1.xml")
              ExportOptimetricsProfile
    Use:                         Export Optimetrics profile data.
    Command:                     Right click on the Optimetrics setup in the project tree and choose View
                                 Analysis Result… On the Post Analysis Display dialog, click the Profile tab
                                 and click on the Export button.
    Syntax:                      ExportOptimetricsProfile <SetupName>, <FileName>,
                                 [profileNum]
17-6 Optimetrics Module Script Commands
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ExportParametricResults
    Use:                         Export existing Parametric results.
    Command:                     Right click on the desired Parametric setup in the project tree and choose
                                 View Analysis Result… On the Post Analysis Display dialog, click the Result
                                 tab, then select Table view, and click on the Export button.
    Syntax:                      ExportParametricResults <SetupName>, <FileName>,
                                 <bOutputUnits>
    Return Value:                None
    Parameters:                  <SetupName>
                                 Type: <string>
                                 Must be one of the existing Parametric setup names.
                                 <FileName>
                                 Type : <string: file path>
                                 Must be a valid file path and name with extension of csv, tab, dat, or txt..
                                 <bOutputUnits>
                                 Type : <boolean>
                                 If set to true values will be printed with units.
    Example:                     oModule. ExportParametricResults "ParametricSetup1", "c:/
                                 exportdir/test.csv", false
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          GetSetupNamesByType [Optimetrics]
Use:                         Gets a list of Optimetrics setup names by type.
Syntax:                      GetSetupNamesByType(<Optimetrics type>)
Return Value:                Collection of Optimetrics setup names of the given type.
Parameters:                  <Optimetrics type>
                             Type: String
                             Examples: parametric, optimization, statistical, sensitivity
Example:                     For each name in
                             oModule.GetSetupNamesByType(“optimization”)
                             Msgbox name
                             Next
          ImportSetup
Use:                         Import an Optimetric setup from a file.
Command:                     None
Syntax:                      ImportSetup <SetupTypeName>, <SetupInfo>
Return Value:                None
Parameters:                  SetupTypeName
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 Type: <string>
                                 Must be one of "OptiParametric" , "OptiOptimization", "OptiSensitivity", "OptiSta-
                                 tistical", or "OptiDesignExplorer".
                                 <SetupInfo>
                                      Array("NAME:<SetupName>", "FilePath")
                                      <SetupName>
                                            Type: <string>
                                            Name of the setup.
                                      FilePath
                                            Type : <string: file path>
                                            Must be a valid file path and name.
    Example:                     oModule.ImportSetup "OptiStatistical",
                                 Array("NAME:StatisticalSetup1",
                                 "c:/importdir/mySetupInfoFile")
              PasteSetup [Optimetrics]
    The documented command is applicable for Designer.
    Use:                         Pastes the specified Optimetrics setup.
    Command:                     None
    Syntax:                      SolveSetup <SetupName>
    Return Value:                None
    Parameters:                  SetupName
                                 Type: <string>
    Example:                     oModule.PasteSetup “OptimizationSetup1” “MyOptimization”
              RenameSetup [Optimetrics]
    Use:                         Renames the specified Optimetrics setup.
    Command:                     Right-click the setup in the project tree, and then click Rename on the
                                 shortcut menu.
    Syntax:                      RenameSetup <OldName> <NewName>
    Return Value:                None
    Parameters:                  <OldName>
                                 Type: <string>
                                 <NewName>
                                 Type: <string>
    Example:
17-10 Optimetrics Module Script Commands
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          SolveSetup [Optimetrics]
Use:                         Solves the specified Optimetrics setup.
Command:                     Right-click the setup in the project tree, and then click Analyze on the
                             shortcut menu.
Syntax:                      SolveSetup <SetupName>
Return Value:                None
Parameters:                  oModule.SolveSetup "OptimizationSetup1"
          SolveAllSetup
Use:                         Solves all Optimetrics setups.
Command:                     None
Syntax:                      SolveAllSetup <SetupName>
Return Value:                None
Parameters:                  SetupName
                             Type: <string>
Example:                     oModule.SolveAllSetup “OptimizationSetup1”
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              EditSetup [Parametric]
    Use:                         Modifies an existing parametric setup.
    Command:                     Right-click the setup in the project tree, and then click Properties on the
                                 shortcut menu.
    Syntax:                      EditSetup <SetupName>, <ParametricParams>
    Return Value:                None
              GenerateVariationData (Parametric)
    Use:                         Generate variation data before parametric solve for CAD integrated project
    Command:                     Right click on the parametric setup in the project tree and choose
                                 "Generate Variation Data"
    Syntax:                      GenerateVariationData <SetupName>
    Return Value:                None
    Parameters:                  <SetupName>
                                 Name of th esetup.
    Example:
         oModule.GenerateVariationData "ParametricSetup1"
              InsertSetup [Parametric]
    Use:                         Inserts a new parametric setup.
    Command:                     Right-click the Optimetrics folder in the project tree, and then click Add>
                                 Parametric on the shortcut menu.
    Syntax:                      InsertSetup "OptiParametric", <ParametricParams>
    Return Value:                None
    Parameters:                  <Parametric Params>
                                      Array("NAME:<SetupName>", "SaveFields:=",
                                      <SaveField>, <StartingPoint>, "Sim. Setups:=",
                                      <SimSetups>,
                                            <SweepDefs>, <SweepOps>,
                                            Array("NAME:Goals", Array("NAME:Goal",
17-12 Optimetrics Module Script Commands
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   <SetupName>
                   Type: <string>
                   Name of the parametric setup.
                   <SimSetups>
                   Type: Array of strings.
                   An array of HFSS or Q3D Extractor or Designer solution setup names.
                   <SweepDefs>
                        Array("NAME:Sweeps",
                              Array("NAME:SweepDefinition", "Variable:=",
                                   <VarName>, "Data:=", <SweepData>,
                                   "Synchronize:=", <SyncNum>), ...
                              Array("NAME:SweepDefinition", "Variable:=",
                                   <VarName>, "Data:=", <SweepData>,
                                   "Synchronize:=", <SyncNum>))
                   <SweepData>
                        "<SweepType>, <StartV>, <StopV>, <StepV>"
                   <SweepType>
                   Type: <string>
                   The type of sweep data.
                   <SyncNum>
                   Type: <int>
                   SweepDatas with the same value are synchronized.
                   <SweepOps>
                        Array("NAME:Sweep Operations", "<OpType>:=,
                              Array(<VarValue>, …, <VarValue>), ...
                              <OpType>:=, Array(<VarValue>, …, <VarValue>))
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                <OpType>
                                Type: <string>
                                The sweep operation type.
    Example:
                                oModule.InsertSetup "OptiParametric",
                                     Array("NAME:ParametricSetup1", _
                                           "SaveFields:=", true,                            _
                                     Array("NAME:StartingPoint"), _
                                           "Sim. Setups:=", Array("Setup1"),_
                                     Array("NAME:Sweeps", _
                                           Array("NAME:SweepDefinition", _
                                                "Variable:=", "$width", _
                                                "Data:=", "LIN 12mm 17mm 2.5mm", _
                                                "OffsetF1:=", false, _
                                                "Synchronize:=",                      0),
                                           Array("NAME:SweepDefinition", _
                                                "Variable:=", "$length", _
                                                "Data:=",              "LIN 8mm 12mm 2mm", _
                                                "OffsetF1:=", false, _
                                                "Synchronize:=", 0)),
                                           Array("NAME:Sweep Operations"), _
                                     Array("NAME:Goals", _
                                           Array("NAME:Goal", _
                                                "Solution:=",                   "Setup1 : LastAdaptive", _
                                                "Calculation:=", "returnloss", _
                                                "Context:=", "",_
                                        Array("NAME:Ranges", _
                                           "Range:=", Array("Var:=", "Freq", "Type:=", "s", _
                                                "Start:=", "8GHz", "Stop:=", "8GHz"))), _
                                     Array("NAME:Goal", _
                                           "Solution:=",                   "Setup1 : LastAdaptive",_
                                           "Calculation:=", "reflect", _
                                           "Context:=", "", _
                                           Array("NAME:Ranges", _
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              EditSetup [Optimization]
    Use:                         Modifies an existing optimization setup.
    Command:                     Right-click the setup in the project tree, and then click Properties on the
                                 shortcut menu.
    Syntax:                      EditSetup <SetupName>, <OptimizationParams>
    Return Value:                None
              InsertSetup [Optimization]
    Use:                         Inserts a new optimization setup.
    Command:                     Right-click the Optimetrics folder in the project tree, and then click
                                 Add>Optimization on the shortcut menu.
    Syntax:                      InsertSetup "OptiOptimization", <OptimizationParams>
    Return Value:                None
    Parameters:                  <OptimizationParams>
                                      Array("NAME:<SetupName>", "SaveFields:=",
                                      <SaveField>,                  <StartingPoint>, "Optimizer:=",
                                      <Optimizer>,
                                      "MaxIterations:=", <MaxIter>, "PriorPSetup:=",
                                      <PriorSetup>, "PreSolvePSetup:=", <Preceed>,
                                      <OptimizationVars>, <Constraint>,
                                      Array("NAME:Goals", Array("NAME:Goal",
                                            <OptiGoalSpec>, <OptimizationGoalSpec>), ...
                                            Array("NAME:Goal", <OptiGoalSpec>,
                                            <OptimizationGoalSpec>)),
                                      "Acceptable_Cost:=", <AcceptableCost>, "Noise:=",
                                      <Noise>, "UpdateDesignWhenDone:=", <UpdateDesign"
                                 <OptimizationVars>
                                      Array("NAME:Variables", "VarName:=", Array("i:=",
                                            <IncludeVar>, "Min:=", <MinV>, "Max:=", <MaxV>,
                                            "MinStep:=", <MinStepV>, "MaxStep:=", <MaxStepV>),
17-16 Optimetrics Module Script Commands
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   <MinStepV>
                   Type : <VarValue>
                   The minimum step of the variable.
                   <MaxStepV>
                   Type: <VarValue>
                   The maximum step of the variable.
                   <AcceptableCost>
                   Type: <double>
                   The acceptable cost value for the optimizer to stop.
                     <Noise>
                   Type: <double>
                   The noise of the design.
                     <UpdateDesign>
                   Type: <bool>
                   Specifies whether or not to apply the optimal variation to the design after the optimi-
                   zation is done.
                   <OptimizationGoalSpec>
                        "Condition:=", <OptimizationCond>,
                        Array("NAME:GoalValue", "GoalValueType:=",
                        <GoalValueType>,
                        "Format:=", <GoalValueFormat>, "bG:=",
                        Array("v:=", <GoalValue>)), "Weight:=", <Weight>)
                   <OptimizationCond>
                   Type: <string>
                   Either "<=", "==", or ">="
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                <GoalValueType>
                                Type: <string>
                                Either "Independent" or "Dependent"
                                <GoalValueFormat>
                                Type:<string>
                                Either "Real/Imag" or "Mag/Ang".
                                <GoalValue>
                                Type: <string>
                                Value in string. Value can be a real number, complex number, or expression.
    Example:
                                oModule.InsertSetup "OptiOptimization",_
                                     Array("NAME:OptimizationSetup1", _
                                           "SaveFields:=",                     false, _
                                           Array("NAME:StartingPoint", "$length:=", "8mm", _
                                           "$width:=", "14.5mm"), _
                                           "Optimizer:=",                    "Quasi Newton", _
                                           "MaxIterations:=", 100, _
                                           "PriorPSetup:=", "ParametricSetup1", _
                                           "PreSolvePSetup:=",                          true, _
                                           Array("NAME:Variables", _
                                                "$length:=", Array("i:=", true, "Min:=", "6mm", _
                                                     "Max:=", "18mm", _
                                                     "MinStep:=", "0.001mm", "MaxStep:=", _
                                                     "1.2mm"), _
                                                "$width:=", Array("i:=",                                true, "Min:=", _
                                                     "6.5mm", "Max:=", "19.5mm", _
                                                     "MinStep:=", "0.001mm", "MaxStep:=", _
                                                     "1.3mm")), _
                                           Array("NAME:LCS"), _
                                           Array("NAME:Goals", _
                                                Array("NAME:Goal", _
                                                     "Solution:=",                   "Setup1 : LastAdaptive", _
                                                     "Calculation:=", "reflect", _
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                                        "Context:=", "", _
                                        Array("NAME:Ranges", _
                                        "Range:=", Array("Var:=",                                 "Freq", _
                                        "Type:=", "s", _
                                        "Start:=", "8GHz", "Stop:=", "8GHz")), _
                                        "Condition:=",                    "<=", _
                                        Array("NAME:GoalValue", _
                                        "GoalValueType:=", "Independent", _
                                        "Format:=",                 "Real/Imag", _
                                        "bG:=", Array("v:=", "[0.0001]")), _
                                        "Weight:=", "[1]")),
                              "Acceptable_Cost:=",                           0.0002, _
                              "Noise:=", 0.0001, _
                              "UpdateDesign:=", true, _
                              "UpdateIteration:=", 5, _
                              "KeepReportAxis:=",                          true, _
                              "UpdateDesignWhenDone:=", true)
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              EditSetup [Sensitivity]
    Use:                         Modifies an existing sensitivity setup.
    Command:                     Right-click the setup in the project tree, and then click Properties on the
                                 shortcut menu.
    Syntax:                      EditSetup <SetupName>, <SensitivityParams>
    Return Value:                None
              InsertSetup [Sensitivity]
    Use:                         Inserts a new sensitivity setup.
    Command:                     Right-click Optimetrics in the project tree, and then click Add>Sensitivity
                                 on the shortcut menu.
    Syntax:                      InsertSetup "OptiSensitivity", <SensitivityParams>
    Return Value:                None
    Parameters:                  <SensitivityParams>
                                      Array("NAME:<SetupName>",
                                      "SaveFields:=", <SaveField>,
                                      <StartingPoint>,
                                      "MaxIterations:=", <MaxIter>,
                                      "PriorPSetup:=", <PriorSetup>,
                                      "PreSolvePSetup:=", <Preceed>,                                       <SensitivityVars>,
                                      <Constraint>,
                                      Array("NAME:Goals",
                                      Array("NAME:Goal", <OptiGoalSpec>), ...,
                                      Array("NAME:Goal", <OptiGoalSpec>)),
                                      "Master Goal:=". <MasterGoalID>,
                                      "MasterError:=", <MasterError>)
                                 <SensitivityVars>
                                      Array("NAME:Variables",
                                            "VarName:=", Array("i:=", <IncludeVar>,
                                                 "Min:=", <MinV>, "Max:=", <MaxV>,
17-20 Optimetrics Module Script Commands
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
                                         "IDisp:=", <InitialDisp>),...
                                    "VarName:=", Array("i:=", <IncludeVar>,
                                         "Min:=", <MinV>, "Max:=", <MaxV>,
                                         "IDisp:=", <InitialDisp>))
                         <InitialDisp>
                         Type : <VarValue>
                         The initial displacement of the variable.
                         <MasterGoalID>
                         Type: <int>
                         Index of the master goal. Index starts from zero.
                         <MasterError>
                         Type: <double>
                         Error associated with the master goal.
Example:
                         oModule.InsertSetup "OptiSensitivity", _
                              Array("NAME:SensitivitySetup1",_
                                    "SaveFields:=", true,_
                                    Array("NAME:StartingPoint"), _
                                    "MaxIterations:=", 20,_
                                    "PriorPSetup:=", "",_
                                    "PreSolvePSetup:=",                          true, _
                                    Array("NAME:Variables"), _
                                    Array("NAME:LCS"),_
                                    Array("NAME:Goals",_
                                         Array("NAME:Goal", _
                                              "Solution:=", "Setup1 : LastAdaptive",_
                                              "Calculation:=", "returnloss",_
                                              "Context:=", "",_
                                              Array("NAME:Ranges",_
                                              "Range:=", Array("Var:=", "Freq", "_
                                              Type:=", "s",_
                                              "Start:=", "8GHz", "Stop:=", "8GHz"))),_
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                                 Array("NAME:Goal",_
                                                      "Solution:=", "Setup1 : LastAdaptive",_
                                                      "Calculation:=", "reflect",_
                                                      "Context:=", "",_
                                                      Array("NAME:Ranges",_
                                                      "Range:=", Array("Var:=","Freq",_
                                                      "Type:=", "s",_
                                                      "Start:=", "8GHz", "Stop:=", "8GHz")))),_
                                            "Master Goal:=",                      1,_
                                            "MasterError:=", 0.001)
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                    Introduction to Scripting in ANSYS Electronics Desktop
Array("NAME:Variables",
"$length:=", Array("i:=", true,
"int:=", false,
"Dist:=", "Uniform",
"Tol:=", "10%", "StdD:=", "0.2mm", "Min:=", "-3",
"Max:=", "3", "Shape:=", "1", "Scale:=", "0.04mm",
"Location:=", "0.4mm",
"Dataset:=", "", "LatinHypercube:=", "true", "VarMin:=", "0.2mm",
"VarMax:=", "0.6mm", "Prob:=", "0.01",
"Mean:=", "0.4mm"),
Array("NAME:Goals", Array("NAME:Goal",
"ReportType:=", "Modal Solution Data",
"Solution:=", "Setup1 : PortOnly",
Array("NAME:SimValueContext", "Domain:=", "Sweep"),
"Calculation:=", "returnloss",
  ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                      of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
"Name:=", "returnloss",
         Array("NAME:Ranges",
         "Range:=", Array("Var:=", "Freq",
         "Type:=", "s",
         "Start:=", "8.2GHz", "Stop:=", "0"))),
         Array("NAME:Goal",
         "ReportType:=", "Modal Solution Data",
         "Solution:=", "Setup1 : PortOnly",
         Array("NAME:SimValueContext",
         "Domain:=", "Sweep"),
         "Calculation:=", "reflect",
         "Name:=", "reflect",
         Array("NAME:Ranges",
         "Range:=", Array("Var:=", "Freq",
         "Type:=", "s",
         "Start:=", "8.2GHz", "Stop:=", "0")))))
              InsertSetup [Statistical]
    Use:                         Inserts a new statistical setup.
    Command:                     Right-click Optimetrics in the project tree, and then click Add>Statistical
                                 on the shortcut menu.
    Syntax:                      InsertSetup "OptiStatistical", <StatisticalParams>
    Return Value:                None
    Parameters:                  <StatisticalParams>
                                      Array("NAME:<SetupName>",
                                      "SaveFields:=", <SaveField>,
                                      <StartingPoint>,
                                      "MaxIterations:=",
                                      <MaxIter>,
                                      "PriorPSetup:=", <PriorSetup>,
                                      "PreSolvePSetup:=", <Preceed>,
                                      <StatisticalVars>,
                                      Array("NAME:Goals",
                                      Array("NAME:Goal", <OptiGoalSpec>), …,
                                      Array("NAME:Goal", <OptiGoalSpec>))),
                                 <StatisticalVars>
                                      Array("NAME:Variables",
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   <DistType>
                   Type : <string>
                   Distrbution can be "Gaussian","Uniform", “LogNormal” or “UserDefined.”
                   <Tolerance>
                   Type: <VarValue>
                   The tolerance for the variable when distribution is Uniform.
                   <StdD>
                   Type: <VarValue>
                   The standard deviation for the variable when distribution is Gaussian.
                   <MinCutoff>
                   Type: <double>
                   Formerly the minimum cut-off for the variable when distribution is Gaussian. Leg-
                   acy.
                   <MaxCutoff>
                   Type: <double>
                   Formerly the maximum cut-off for the variable when distribution is Gaussian. Leg-
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                acy.
                                <Prob>
                                Type: <double>
                                Probability for Gaussian distribution. A value >= 0 and < 0.1.
                                <Mean>
                                Type: <double>
                                Mean for Gaussian distribution.
    Example:
         ' ----------------------------------------------
         ' Script Recorded by Ansoft HFSS Version 13.0.0
         ' 3:29:39 PM               May 18, 2010
         ' ----------------------------------------------
         Dim oAnsoftApp
         Dim oDesktop
         Dim oProject
         Dim oDesign
         Dim oEditor
         Dim oModule
         Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInterface")
         Set oDesktop = oAnsoftApp.GetAppDesktop()
         oDesktop.RestoreWindow
         Set oProject = oDesktop.SetActiveProject("OptimTee")
         Set oDesign = oProject.SetActiveDesign("TeeModel")
         oDesign.ChangeProperty Array("NAME:AllTabs",
         Array("NAME:LocalVariableTab",
         Array("NAME:PropServers", "LocalVariables"),
         Array("NAME:ChangedProps",
         Array("NAME:offset",
         Array("NAME:Statistical", "Included:=", true)))))
         Set oModule = oDesign.GetModule("Optimetrics")
         oModule.InsertSetup "OptiStatistical", Array("NAME:StatisticalSet-
         up1",
         Array("NAME:ProdOptiSetupData",
         "SaveFields:=", false, "CopyMesh:=", false),
         Array("NAME:StartingPoint", "offset:=", "0in"),
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Array("NAME:Variables",
   Array("NAME:Goals", Array("NAME:Goal",
   "ReportType:=", "Modal Solution Data",
   "Solution:=", "Setup1 : LastAdaptive", Array("NAME:SimValueContext"),
   "Calculation:=", "Power11",
   "Name:=", "Power11",
   Array("NAME:Ranges",
   "Range:=", Array("Var:=", "Freq", "Type:=", "d",
   "DiscreteValues:=", "10GHz")))))
For Q3D Extractor and Designer the command details are as follows:
Use:                         Inserts a new statistical setup.
Command:                     Right-click Optimetrics in the project tree, and then click Add>Statistical
                             on the shortcut menu.
Syntax:                      InsertSetup "OptiStatistical", <StatisticalParams>
Return Value:                None
Parameters:                  <StatisticalParams>
                                  Array("NAME:<SetupName>", "SaveFields:=",
                                  <SaveField>,                  <StartingPoint>, "MaxIterations:=",
                                  <MaxIter>, "PriorPSetup:=", <PriorSetup>,
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                              "SaveFields:=",                     true, _
                              Array("NAME:StartingPoint"),_
                              "MaxIterations:=", 50,_
                              "PriorPSetup:=", "", _
                              Array("NAME:Variables"), _
                              Array("NAME:Goals", _
                                   Array("NAME:Goal", _
                                        "Solution:=", "Setup1 : LastAdaptive", _
                                        "Calculation:=", "returnloss", _
                                        "Context:=", "", _
                                        Array("NAME:Ranges", _
                                        "Range:=", Array("Var:=", "Freq", _
                                        "Type:=", "s",_
                                        "Start:=", "8GHz", "Stop:=", "8GHz"))),_
                                   Array("NAME:Goal",_
                                        "Solution:=", "Setup1 : LastAdaptive",_
                                        "Calculation:=", "reflect",_
                                        "Context:=", "", _
                                        Array("NAME:Ranges",_
                                        "Range:=", Array("Var:=", "Freq", "Type:=", _
                                        "s", "Start:=", "8GHz", "Stop:=", "8GHz"))))
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
18               Solutions Module Script
              Commands
 ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                     of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 IsFieldAvailableAt
                                 ListMatchingVariations
                                 ListValuesOfVariables
                                 ListVariations
              DeleteImportData
    Use:                         Deletes imported solution or table data in HFSS. Not in HFSS-IE
    Command:                     HFSS>Results>Import Solutions
    Syntax:                      DeleteImportData <ImportSpecArray>
    Return Value:                None
    Parameters:                  <ImportSpecArray>
                                      Array(<ImportSpec>, ...)
                                 <ImportSpec>
                                 Type: <string>
                                 Format of string is "importname:solnnameORtablename".
    Example:
                                 oModule.DeleteImportData _
                                      Array("Import1:Adaptive_1", "Import2:DataTable")
              EditSources
    Use:                         Indicates which source excitations should be used for fields post processing.
    Command:                     HFSS>Fields>Edit Sources
    Syntax:                      EditSources<FieldType>, <SourceArray>,
                                      <MultiplicityArray>, <MagnitudeArray>,
                                      <PhaseArray>, <TerminatedArray>,
                                      <ImpedanceArray>, <IncludePostProcessing>
    Return Value:                None
    Parameters:                  <FieldType>
                                 Type: <string>
                                 Possible values are:
                                 "NoIncidentWave", "ScatteredFields", "TotalFields",
                                 "IncidentFields", "EigenStoredEnergy", or "EigenPeakElec-
                                 tricField"
                                 <SourceArray>
                                      Array("NAME:SourceNames", <Source1Name>,
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                        <Source2Name>, ...)
                   A source name is typically the name of the associated excitation.
                   <MultiplicityArray>
                        Array("NAME:Modes", <port1NumModes>, <port2NumModes>,
                        ...)
                        or
                        Array("NAME:Terminals", <port1NumTerminals>, ...)
                   A non-port source should indicate multiplicity of 1.
                   <MagnitudeArray>
                        Array("NAME:Magnitudes", <Source1Mag>, <Source2Mag>,
                        ...)
                   This gives the Mag of the complex excitation for each source.
                   <PhaseArray>
                        Array("NAME:Phases", <Source1Phase>, <Source2Phase>,
                        ...)
                   This gives the Phase in degrees of the complex excitation for each source. For Eigen-
                   moded stored energy problems, phase array is not recorded by Tools>Record Script
                   to File, , and is not needed when running scripts for such problems.
                   <TerminatedArray>
                        Array("NAME:Terminated", <IsSource1Terminated>, ...)
                   Only used for a Driven Terminal solution-type problem.
                   If it is Driven Terminal, then each source must have an entry, but
                   entries for non port sources are ignored.
                   <ImpedanceArray>
                        Array("NAME:Impedances", <Source1ComplexImped>, ...)
                   Only for a Driven Terminal solution-type problem.
                   If it is Driven Terminal, there must be an entry for each terminated
                   source. Complex format is a string representation as "re + im j".
                   <IncludePostProcessing>
                   Type: <bool>
                   Specifies whether to include post processing effects.
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                <useIncidentVoltage>
                                Type: <bool>
                                For driven terminal projects, this specifies whether to use incident voltage. The
                                default for this argument if missing is "false", so that legacy driven terminal projects
                                behave as if using total voltage.
    Example:
                                oModule.EditSources "NoIncidentWave", _
                                     Array("NAME:SourceNames", "WavePort1", _
                                     "WavePort2"), Array("NAME:Terminals", 2, 2), _
                                     Array("NAME:Magnitudes", 1, 0), _
                                     Array("NAME:Phases",                            0, 0),_
                                     Array("NAME:Terminated", false, true, true, false), _
                                     Array("NAME:Impedances",                                "50 + 80 j", "50 + 90 j")
    Example:
                                oModule.EditSources "NoIncidentWave", _
                                     Array("NAME:SourceNames", "EigenMode"), _
                                     Array("NAME:Modes",                          2), Array("NAME:Magnitudes", _
                                     0, 1), Array("NAME:Phases", 0, 45), _
                                     Array("NAME:Terminated"), Array("NAME:Impedances")
    Example:
                                oModule.EditSources "TotalFields", _
                                     Array("NAME:SourceNames", "WavePort1", _
                                     "LumpPort1", "IncWave1", "Voltage1", "Current1"),_
                                     Array("NAME:Modes", 1, 1, 6, 1, 1), _
                                     Array("NAME:Magnitudes",                                _
                                     17, 19, 1, 3, 5, 7, 9, 11, 13, 15), _
                                     Array("NAME:Phases", 0, 20, 2, 4, _
                                     6, 8, 10, 12, 14, 16), Array("NAME:Terminated"),_
                                     Array("NAME:Impedances")
    Example:
         oModule.EditSources "NoIncidentWave",
         Array("NAME:Names", "P01__NET179_", _
         "P02__NET178_", "P03__NET178_", "P04__NET179_"),
         Array("NAME:Terminals", 1, 1, 1, 1),
         Array("NAME:Magnitudes", "1", "0", "0", "0"),
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Use:                         Indicates which source excitations should be used for fields post processing.
Command:                     Q3D Extractor or 2D Extractor>Fields>Edit Sources
Syntax:                      EditSources <FieldType>, <SourceArray>,
                                  <MultiplicityArray>, <MagnitudeArray>,
                                  <PhaseArray>, <TerminatedArray>, <ImpedanceArray>
Return Value:                None
Parameters:                  <SourceSettings>
                                  "Value Type:=", <UnitType>, <SourceArray>, <ValueArray>
                                  Parameters:
                                  <UnitType>
                                        Type: <string>
                                        In Q3D Extractor, possible types for DC and AC are
                                        "A" and "V". The only type for Cap is "V".
                                        In 2D Extractor, the CG solution uses only "V" and
                                        the RL solution uses only "A".
                                  <SourceArray>
                                        Array("NAME:SourceNames", <SourceName>, <Source-
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                            Name>, …)
                                            Parameters:
                                            <SourceName>
                                                 Type: <string>
                                                 Net name for capacitance. Source name for AC and
                                                 DC
                                      <ValueArray>
                                            Array("NAME:Source Values", <SourceValue>, <SourceV-
                                            alue>, …)
                                            Parameters:
                                            <SourceValue>
                                                 Type: <double>
                                                 The value associated with a source in
                                                 <SourceArray>.
         oModule.EditSources Array("NAME:AC", "Value Type:=", "A",
         Array("NAME:Source Names", _ "TheVia:Source1"), Array("NAME:Source
         Values", 1)),
         Array("NAME:Cap", "Value Type:=", "N", _ Array("NAME:Source Names",
         "GroundPlane", "TheVia"), Array("NAME:Source Values", 0, 1)), _
         Array("NAME:DC", "Value Type:=", "V", Array("NAME:Source Names",
         "TheVia:Source1"),
         Array("NAME:Source Values", 1))
              DeleteSolutionVariation
    Use:                         Deletes all solution data for specific solutions and design variations. This is
                                 obsolete and is supported only for backward compatibility. You should use
                                 DeleteFullVariation, DeleteFieldVariation, and DeleteLinked Variation.
    Command:                     HFSS>Results>Clean Up Solutions
    Syntax:                      DeleteSolutionVariation
                                      Array(<DataSpecifierArray>, ...)
    Return Value:                None
    Parameters:                  <DataSpecifierArray>
                                      Array(<DesignVariationKey>, <SetupName>, <SolnName>)
                                 <DesignVariationKey>
                                 Type: <string>
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             <SetupName>
                             Type: <string>
                             Name of the solution setup.
                             <SolnName>
                             Type: <string>
                             Name of the solutions within the solution setup.
Example:
                             oModule.DeleteSolutionVariation Array( _
                                  Array("width=’2in’", "Setup1", "Adaptive_1") _
                                  Array("width=’2in’", "Setup1", "Sweep1") )
                                  <SetupName>
                                        Type: <string>
                                        Name of the solve setup.
                                  <SolnName>
                                        Type: <string>
                                        Name of the solutions within the solve setup.
Example:                     oModule.DeleteSolutionVariation
                             Array(Array("width='2in'", "Setup1", "Adaptive_1") _
                                  Array("width='2in'", "Setup1", "LastAdaptive") )
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              DeleteVariation [HFSS]
    Use:                         Obsolete. Replaced by DeleteFullVariation, DeleteFieldVariation, and
                                 DeleteLinked Variation.
              ExportForSpice
    Use:                         Exports matrix solution data to a file in a format suitable for Spice analysis.
                                 Available only for Driven Terminal solution types with ports. Output in an
                                 appropriate format will be generated for each of the non-empty file names
                                 provided.
    Command:                     None
    Syntax:                      ExportForSpice
                                 <DesignVariationKey>, <SolnSelectionArray>, <SpiceType>,
                                 <BandWidth>, <FWSFile>, <LumpedElementFile>,
                                 <PoleZeroSpiceFile>, <PoleZeroMatlabFile>,
                                 <PartialFractionFile>, <FittingErrorInPercent>,
                                 <MaximumOrder>,
                                 <UseCommonGround>,
                                 <EnforcePassivity>
                                 <BandWidth>
                                 Type: <int>
                                 Possible values are:
                                 0: Low (narrow) band width
                                 <FWSFile>
                                 Type: <string>
                                 <LumpedElementFile>
                                 Type: <string>
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             <PoleZeroSpiceFile>
                             Type: <string>
                             <PoleZeroMatlabFile>
                             Type: <string>
                             <PartialFractionFile>
                             Type: <string>
                             <FittingErrorInPercent>
                             Type: <Float>
                             <MaximumOrder>
                             Type: <Integer>
                             <UseCommonground>
                             Type: 0/1
                             <EnforcePassivity>
                             Type: 0/1
Example:
                             oModule.ExportForSpice "width=’2in’", _
                                  Array("Setup1:Sweep1"), 2, 0, _
                                  "c:\mydir\Sweep1.fws", "", "", "", ""
          ExportEigenmodes
Use:                         Exports a tab delimited table of Eigenmodes in HFSS. Not in HFSS-IE.
Command:                     None
Syntax:                      ExportEigenmodes
                             <setupName> <solutionName> <DesignVariationKey>
                             <filename>
Return Value:                None
Parameters:
                             <SolutionName>
                             Type: <string>
                             Name of the solutions within the solution setup.
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 <DesignVariationKey>
                                 Type: <string>
                                 Design variation string.
    Example:
               Set oModule = oDesign.GetModule("Solutions")
               oModule.ExportEigenmodes "Setup1 : LastAdaptive", "",                                                                 _
                   "C:\mydir\myeigenmode" & _
                   ".eig"
              ExportForHSpice
    Use:                         Exports matrix solution data to a file in a format suitable for HSpice
                                 analysis. Available only for Driven Terminal solution types with ports.
                                 Output in an appropriate format will be generated for each of the non-
                                 empty file names provided.
    Command:                     None
    Syntax:                      ExportForHSpice
                                 <DesignVariationKey>, <SolnSelectionArray>, <SpiceType>,
                                 <BandWidth>, <FWSFile>, <LumpedElementFile>,
                                 <PoleZeroSpiceFile>, <PoleZeroMatlabFile>,
                                 <PartialFractionFile>,
                                 <FittingErrorInPercent>, <MaximumOrder>, <MinimumOrder>,
                                 <EnforcePassivity>
    Return Value:                None
    Parameters:                  <SpiceType>
                                 Type: <int>
                                 Possible value is:
                                 1: HSpice
                                 <BandWidth>
                                 Type: <int>
                                 Possible value is:
                                 0: Low (narrow) band width
                                 <FWSFile>
                                 Type: <string>
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             <LumpedElementFile>
                             Type: <string>
                             <PoleZeroSpiceFile>
                             Type: <string>
                             <PoleZeroMatlabFile>
                             Type: <string>
                             <PartialFractionFile>
                             Type: <string>
                             <FittingErrorInPercent>
                             Type: <float>
                             The accuracy to use in fitting the pole zero model.
                             <MaximumOrder>
                             Type: <int>
                             Maximum number of poles in rational function expansion.
                             <UseCommonGround>
                             Type:<init>
                             0/1
                             <EnforcePassivity>
                             Type: : <int>
                             0/1
Example:
                             oModule.ExportForHSpice "width=’2in’", _
                                   Array("Setup1:Sweep1"), 1, 0, _
                                   "c:\mydir\Sweep1.fws", "", "", "", "", _
                                   .005, 20, 200
          ExportNetworkData
Use:                         Exports matrix solution data to a file. Available only for Driven solution
                             types with ports.
Command:                     None
Syntax:                      ExportNetworkData
                             <DesignVariationKey>, <SolnSelectionArray>, <FileFormat>,
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                <OutFile>
                                Type: <string>
                                Full path to the file to write out.
                                <FreqsArray>
                                Type: Array of doubles.
                                The frequencies to export. To export all frequencies, use Array("all").
                                <DoRenorm>
                                Type: <bool>
                                Specifies whether to renormalize the data before export.
                                <RenormImped>
                                Type: <double>
                                Real impedance value in ohms, for renormalization. Required in syntax,
                                but ignored if DoRenorm is false.
                                <DataType>
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
       ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Syntax:                      ExportNMFData
                                 <SolnSelectionArray>, <OutFile>, <FreqsArray>,
                                 <DesignVariationKey>, <DoRenorm>, <RenormImped>
    Return Value:                None
    Example:
                                 oModule.ExportNMFData Array("Setup1:Sweep1"), _
                                           "c:\mydir\out.nmf", Array("all"), "", FALSE, 0
              GetAdaptiveFreq
    Use:                         To obtain an adaptive frequency for a specified setup.
    Syntax:                      GetAdaptiveFreq(<SetupName>)
    Return Value:                Returns a frequency value.
                                 Type: <double>
                                 Example: "15500000000.0"
    Parameters:                  <SetupName>
                                 Type: <string>
    Example:
                                 set oModule = oDesign.GetModule("Solutions")
                           adaptfreq = oModule.GetAdaptiveFreq("Setup1")
              GetAvailableVariations
    The documented command is applicable for Q3D Extractor.
    Use:                         Returns the available variation for a solution.
    Command:                     None
    Syntax:                      GetAvailableVariations("<SetupName>:<SolnName>)
    Return Value:                An array of string object.
    Parameters:                  <SetupName>
                                      Type: <string>
                                      The solve setup name.
                           <>
                                      Type: <string>
                                      The solution name ("Adaptive_1", … "Adaptive_N", "Last-
                                      Adaptive").
    Example:                     Dim oVarArray
                                      oVarArray = oModule.GetAvailableVariations
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
("Setup1 : LastAdaptive")
          GetExcitationScaling
Use:                         Get source scaling parameters.
Syntax:                      GetExcitationScaling("<port name>", <mode/terminal/
                             eigenmode index>)
Return Value:                Returns a vector of strings representing source scaling parameters
Parameters:                  <portName>
                             Type: <string>
                             <mode/terminal/eigenmode index>
                             Type: <Int>
Example:
                             First terminal scaling from port "1":
                             data = oModule.GetExcitationScaling("1")
                             or data = oModule.GetExcitationScaling("1", 1)
          GetISolutionVersionID
Use:                         To obtain the solution ID to help track solution validity.
Syntax:                      GetISolutionVersionID(BSTR fullSolutionName)
Return Value:                Returns a solution ID.
Parameters:                  None
Example:
   versionID = oModule.GetISolutionVersionID(BSTR fullSolutionName)
          GetSolveRangeInfo
Use:                         To determine the frequency range of a particular simulation setup. For fast
                             sweeps and interpolating sweeps this command returns the start and stop
                             frequencies. For discrete sweeps, it returns a list of frequencies. For an
                             adaptive solution, it returns the adaptive frequency.
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Syntax:                      GetSolveRangeInfo(<SolutionName>)
    Return Value:                An array of frequencies.
    Parameters:                  <SolutionName>
                                 Type: <string>
    Example:
                                 set oModule = oDesign.GetModule("Solutions")
                           freqrange = oModule.GetSolveRangeInfo("Setup1:Sweep1")
              GetValidISolutionList
    Use:                         Gets all available solution names that exist in a design.
    Syntax:                      GetValidISolutionList(<IncludeImportedSolutions>)
    Return Value:                Array of names
    Parameters:                  <IncludeImportedSolutions>
                                      Type: <Boolean>
                                      If no parameter is given the default is False.
    Example:
                                 solution = oModule.GetValidISolutionList(True)
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          HasMatrixData
Use:                         To determine if matrix data exists for a particular solution.
Syntax:                      HasMatrixData(<SolutionName>, <DesignVariation>)
Return Value:                Returns 1 or 0 ( 1= true, 0 = false)
                             Type: Boolean
Parameters:                  <SolutionName>
                             Type: <string>
                             Example: "Setup1:LastAdpative"
                             <DesignVariation>
                             Type: <string>
                             Example: "radius = 4in"
Example:
                             set oModule = oDesign.GetModule("Solutions")
                             matrixExist = 0Module.HasMatrixData("Setup1:Adaptive_1",_
                             "radius = 4in")
          HasMesh
Use:                         To determine if a current mesh exists for a particular simulation setup, not
                             including the initial mesh.
Syntax:                      HasMesh(<SetupName>, <DesignVariation>)
Return Value:                Returns 1 or 0 ( 1= true, 0 = false)
                             Type: Boolean
Parameters:                  <SetupName>
                             Type: <string>
                             <DesignVariation>
                             Type: <string>
Example:
                             set oModule = oDesign.GetModule("Solutions")
                             meshexist = oModule.HasMesh("Setup1", "x_size = 2in _
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
y_size = 1in")
              ImportSolution
    Use:                         Imports a matrix solution in HFSS, which can then be used in creating
                                 reports or in the display of matrix data. The imported solution need not
                                 have the same characteristics as the current design. Imported terminal data
                                 that meets the required criteria can be used for full-wave Spice export. Not
                                 used in HFSS-IE.
    Command:                     HFSS>Results>Import Solutions
    Syntax:                      ImportSolution <FileName>, <ImportName>, <SolnArray>
    Return Value:                None
    Parameters:                  <FileName>
                                 Type: <string>
                                 Location of the source data. The type of the data file will be determined strictly by its
                                 file extension. Supported types are Touchstone (.sNp or .yNp or .zNp or .tou), and
                                 Ansoft Designer (.flp).
                                 <ImportName>
                                 Type: <string>
                                 Identifying name to use for the import, analogous to solution setup name.
                                 <SolnArray>
                                 Type: Array of strings
                                 The names of the solutions selected for import from the file. The only import format
                                 supporting multiple solutions in one file is HFSS8.x format.
    Example:
                                 oModule.ImportSolution "c:\mydir\in.s2p", _
                                      "MeasuredData", Array("Sweep1")
              ImportTable
    Use:                         Imports a data table for use in plotting reports in HFSS. Not used in HFSS-IE.
                                 The table can have multiple independent real-valued columns of data, and
                                 multiple dependent real- or complex-valued columns of data. The data
                                 supported imports are either tab delimited format (.tab) or comma
                                 delimited format (.csv). The first row may contain column names. Complex
                                 data columns are inferred from the column data format. In tab delimited
                                 format, "(double, double)" denotes a complex number. In comma
                                 delimited format, "(double, double)" denotes a complex number.
18-18 Solutions Module Script Commands
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             <ImportName>
                             Type: <string>
                             Identifying name to use for the import, analogous to solution setup name.
                             <TableName>
                             Type: <string>
                             Identifying name for the table, analogous to solution name.
                             <ComplexIsRealImag>
                             Type: <bool>
                             Whether to use real/imag to interpret data for any complex column.
                             If false, then use mag/phase(degrees).
                             <IsMatrixData>
                             Type: <bool>
                             Controls whether the table data can be used in matrix data reports or in field data
                             reports.
                             <ColNames>
                             Array("ColName1", ...)
                             Non-empty array used only if you want to override the column names obtained from
                             the table data file, in which case all column names are required.
                             <ColIndependentFlags>
                             Array(<bool>, ...)
                             Indicates which columns are independent. If this is the empty array, the default is that
                                                                                             Solutions Module Script Commands 18-19
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 only the first column is independent. If this is the non- empty array, a flag must be
                                 present for every column.
    Example:
                                 oModule.ImportTable "c:\mydir\mytable.tab", _
                                      "ImportData", "Measurements", TRUE, TRUE, _
                                      Array(), Array(TRUE, TRUE, FALSE, FALSE, FALSE)
              IsFieldAvailableAt
    Use:                         To determine if a field solution exists for a particular frequency in a
                                 simulation.
    Syntax:                      IsFieldAvailableAt(<SolutionName>, <DesignVariation>,
                                 <Freq>)
    Return Value:                Returns 1 or 0 ( 1= true, 0 = false)
                                 Type: Boolean
    Parameters:                  <SolutionName>
                                 Type: <string>
                                 <DesignVariation>
                                 Type: <string>
                                 Example: "y_start = 3mm"
                                 <Freq>
                                 Type: <double>
    Example:
                                 set oModule = oDesign.GetModule("Solutions")
                           fieldsExist = oModule.IsFieldAvailableAt _
                           ("Setup1:Sweep1", " ", "9000000000.0")
              ListMatchingVariations
    Use:                         Gets a list of solved variations that include the specified variable values.
    Command:                     None
    Syntax:                      ListMatchingVariations
                                 (<FullSolutionName>, <ArrayOfMatchingVariableNames>,
                                 <ArrayOfMatchingVariableValueStringsIncludingUits>)
    Return Value:                An array of strings corresponding to solved variations. The match variables
                                 may be a partial set of design variables and the match values are one per
                                 variable in the same order as the variables.
    Parameters:                  <FullSolutionName>
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             Type: String
                       <ArrayOfMatchingVariableNames>
                             Type: String
                       <ArrayOfMatchingVariableValueStringsIncludingUnits>
                             Type: String
Example:
   list = oModule.ListMatchingVariations("Setup1 : LastAdaptive",_
   Array("x_size", "y_size"), Array("2mm", "1mm"))
          ListValuesOfVariable
Use:                         Gets the values of a specified variable corresponding to the solved
                             variations.
Command:                     None
Syntax:                      ListValuesOfVariable(<FullSolutionName>, <VariableName>)
Return Value:                An array of double precision values in SI units interpreted as the specified
                             variable corresponding to the solved variations.
Parameters:                  <FullSolutionVariableName>
                             Type: String
                       <VariableName>
                             Type: String
Example:
                             list = oModule.ListValuesOfVariable("Setup1 : _LastAdap-
                             tive", "x_size")
          ListVariations
Use:                         Get a list of solved variations.
Command:                     None
Syntax:                      ListVariations(<FullSolutionName>)
Return Value:                An array of strings corresponding to solved variations.
Parameters:                  <FullSolutionName>
                             Type: String
Example:
                             list = oModule.ListVariations("Setup1 : LastAdaptive")
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
19                Field Overlays Module
              Script Commands
 ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                     of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
CreateFieldPlot
                                 SolutionName
                                 Name of the solution setup and solution formatted as:
                                 "<SolveSetupName> : <WhichSolution>",
                                 where <WhichSolution> can be "Adaptive_<n>",
                                 "LastAdaptive", or "PortOnly".
                                 For example: "Setup1 : Adaptive_2"
                                 HFSS requires a space on either side of the ‘:’ character. If it is
                                 missing, the plot will not be created.
                                 QuantityName
                                 Type of plot to create. Possible values are:
                                 Mesh plots: "Mesh"
                                 Field plots: "Mag_E", "Mag_H", "Mag_Jvol", "Mag_Jsurf",
                                 "ComplexMag_E", "ComplexMag_H", "ComplexMag_Jvol",
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   PlotFolder
                   Name of the folder to which the plot should be added. Possible values
                   are: "E Field",                 "H Field", "Jvol", "Jsurf", "SAR
                   Field", and "MeshPlots".
                   UserSpecifyName
                   0 if default name for plot is used, 1 otherwise.
                   Not needed. <PlotName> will be respected regardless of whether this
                   flag is set.
                   UserSpecifyFolder
                   0 if default folder for plot is used, 1 otherwise.
                   Not needed. The specified PlotFolder will be respected regardless of
                   whether this flag is set.
                   IntrinsicVar
                   Formatted string that specifies the frequency and phase at which to make the plot.
                   For example: "Freq='1GHz' Phase='30deg'"
                   <PlotGeomArray>
                        Array(<NumGeomTypes>, <GeomTypeData>,
                        <GeomTypeData>, ...)
                   For example: Array(4, "Volume", "ObjList", 1, "Box1",
                   "Surface", "FacesList", 1, "12", "Line", 1,
                   "Polyline1", "Point", 2, "Point1", "Point2")
                   <NumGeomTypes>
                   Type: <int>
                   Number of different geometry types (volume, surface, line, point)
                   plotted on at the same time.
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                <GeomTypeData>
                                <GeomType>, <ListType>, <NumIDs>, <ID>, <ID>, ...)
                                <GeomType>
                                Type: <string>
                                Possible values are "Volume", "Surface", "Line", "Point".
                                <ListType>
                                Type: <string>
                                Possible values are "ObjList", or "FacesList".
                                These are used for the GeomType of "Line" or "Point".
                                <NumIDs>
                                Type: <int>
                                Number of IDs or object names that will follow.
                                <ID>
                                Type: <int> or <string>
                                ID of a face or name of an object, line, or point on which to plot.
                                <FilterBoxArray>
                                Array of names of objects to use to restrict the plot range.
                                Array(<NumFilters>, <ObjName>, <ObjName>, ...)
                                Example: Array(1, "Box1")
                                Example: Array(0)                    no filtering
                                <PlotOnPointSettings>
                                Array("NAME:PlotOnPointSettings",
                                "PlotMarker:=", <bool>,
                                "PlotArrow:=", <bool>)
                                <PlotOnLineSettings>
                                Array("NAME:PlotOnLineSettings",
                                Array("NAME:LineSettingsID",
                                "Width:=", <int>,
                                "Style:=", <string>),
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   "IsoValType:=", <string>,
                   "ArrowUniform:=", <bool>,
                   "NumofArrow:=",                      <int>)
                   Style
                   Possible values are "Cylinder", "Solid", "Dashdash",
                   "Dotdot", "Dotdash"
                   IsoValType
                   Possible values are "Tone", "Fringe", "Gourard"
                   <PlotOnSurfaceSettings>
                   Array("NAME:PlotOnSurfaceSettings",
                   "Filled:=", <bool>,
                   "IsoValType:=", <string>,
                   "SmoothShade:=", <bool>,
                   "AddGrid:=", <bool>,
                   "MapTransparency:=", <bool>,
                   "Transparency:=", <doubl.e>,
                   "ArrowUniform:=", <bool>
                   "ArrowSpacing:=",                        <double>
                   "GridColor:=", Array(<int>, <int>, <int>)
                   IsoValType
                   Possible values are: "Tone", "Line", "Fringe", "Gourard"
                   GridColor
                   Array containing the R, G, B components of the color. Components
                   should be in the range 0 to 255.
                   <PlotOnVolumeSettings>
                   Array("NAME:PlotOnVolumeSettings",
                   "PlotIsoSurface:=", <bool>,
                   "CloudDensity:=", <double>,
                   "PointSize:=", <int>,
                   "ArrowUniform:=", <bool>,
                                                                              Field Overlays Module Script Commands 19-5
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 "ArrowSpacing:=", <double>)
    Example:
                                 oModule.CreateFieldPlot Array("NAME:Mag_E1", _
                                      "SolutionName:=",                        "Setup1 : LastAdaptive", _
                                      "QuantityName:=", "Mag_E", _
                                      "PlotFolder:=", "E Field1", _
                                      "UserSpecifyName:=",                            0, _
                                      "UserSpecifyFolder:=", 0, _
                                      "IntrinsicVar:=", "Freq='1GHz' Phase='0deg'",_
                                      "PlotGeomInfo:=", Array( 1, "Surface",_
                                            "FacesList", 1, "7"),_
                                      "FilterBoxes:=", Array(0),
                                      Array("NAME:PlotOnSurfaceSettings", _
                                            "Filled:=", false, _
                                            "IsoValType:=", "Fringe", _
                                            "SmoothShade:=", true, _
                                            "AddGrid:=", false, _
                                            "MapTransparency:=", true, _
                                            "Transparency:=", 0, _
                                            "ArrowUniform:=", true, _
                                            "ArrowSpacing:=",                       0.100000001490116, _
                                            "GridColor:=", Array(255, 255, 255)))
For Q3D Extractor and 2D Extractor, the command details are as follows:
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                              "UserSpecifyFolder:=", <int>,
                              "IntrinsicVar:=", <string>,
                              "PlotGeomInfo:=", <PlotGeomArray>,
                              "FilterBoxes:=", <FilterBoxArray>,
                              <PlotOnPointSettings>, <PlotOnLineSettings>,
                              <PlotOnSurfaceSettings>, <PlotOnVolumeSettings>)
                   SolutionName
                        Name of the solution setup and solution formatted as:
                        "<SolveSetupName> : <WhichSolution>",
                        where <WhichSolution> can be "Adaptive_<n>",
                        "LastAdaptive", or "PortOnly".
                        For example: "Setup1 : Adaptive_2"
                        HFSS requires a space on both sides of the ‘:’ charac-
                        ter. Otherwise, the plot is not be created.
                   QuantityName
                        Type of plot to create. Possible values are:
                        Mesh plots: "Mesh"
                        Q3D Field Plots:
                                 Field type                     Plot quantity names
                                 AC R/L Fields                  "SurfaceJac", "Mag_SurfaceJac"
                                 DC R/L PEC Fields "SurfaceJdc", "Mag_SurfaceJdc"
                                 DC R/L Fields                  "VolumeJdc", "Mag_VolumeJdc", "Phidc"
                                  C Fields                      "SmoothQ", "ABS_Q"
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                        Type: <int>
                        Number of IDs or object names that will follow.
                   <ID>
                        Type: <int> or <string>
                   ID of a face or name of an object, line, or point on which to plot.
                   <FilterBoxArray>
                        Array of object names used to restrict the plot range.
                        Array(<NumFilters>, <ObjName>, <ObjName>, ...)
                        Example: Array(1, "Box1")
                        Example: Array(0)                         no filtering
                   <PlotOnPointSettings>
                        Array("NAME:PlotOnPointSettings",
                        "PlotMarker:=", <bool>,
                        "PlotArrow:=", <bool>)
                   <PlotOnLineSettings>
                        Array("NAME:PlotOnLineSettings",
                        Array("NAME:LineSettingsID",
                        "Width:=", <int>,
                        "Style:=", <string>),
                        "IsoValType:=", <string>,
                        "ArrowUniform:=", <bool>,
                        "NumofArrow:=",                      <int>)
                   Style
                        Possible values are "Cylinder", "Solid", "Dashdash",
                        "Dotdot", "Dotdash".
                   IsoValType
                        Possible values are "Tone", "Fringe", "Gourard".
                   <PlotOnSurfaceSettings>
                        Array("NAME:PlotOnSurfaceSettings",
                        "Filled:=", <bool>,
                        "IsoValType:=", <string>,
                        "SmoothShade:=", <bool>,
                        "AddGrid:=", <bool>,
                        "MapTransparency:=", <bool>,
                        "Transparency:=", <double>,
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                     "ArrowUniform:=", <bool>
                                     "ArrowSpacing:=",                        <double>
                                     "GridColor:=", Array(<int>, <int>, <int>)
                                IsoValType
                                     Possible values are: "Tone", "Line", "Fringe", "Gou-
                                     rard".
                                GridColor
                                     Array containing the R, G, B components of the color.
                                     Components should be in the range 0 to 255.
                                <PlotOnVolumeSettings>
                                     Array("NAME:PlotOnVolumeSettings",
                                     "PlotIsoSurface:=", <bool>,
                                     "CloudDensity:=", <double>,
                                     "PointSize:=", <int>,
                                     "ArrowUniform:=", <bool>,
                                     "ArrowSpacing:=", <double>)
    Example:                    oModule.CreateFieldPlot Array("NAME:Mag_E1", _
                                     "SolutionName:=",                        "Setup1 : LastAdaptive", _
                                     "QuantityName:=", "Mag_E", _
                                     "PlotFolder:=", "E Field1", _
                                     "UserSpecifyName:=",                            0, _
                                     "UserSpecifyFolder:=", 0, _
                                     "IntrinsicVar:=", "Freq='1GHz' Phase='0deg'",_
                                     "PlotGeomInfo:=", Array( 1, "Surface",_
                                           "FacesList", 1, "7"),_
                                     "FilterBoxes:=", Array(0),
                                     Array("NAME:PlotOnSurfaceSettings", _
                                           "Filled:=", false, _ "IsoValType:=", "Fringe", _
                                           "SmoothShade:=", true, _
                                           "AddGrid:=", false, _
                                           "MapTransparency:=", true, _
                                           "Transparency:=", 0, _
                                           "ArrowUniform:=", true, _
                                           "ArrowSpacing:=",                       0.100000001490116, _
                                           "GridColor:=", Array(255, 255, 255)))
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          DeleteFieldPlot
Use:                         Deletes one or more plots.
Command:                     HFSS>Fields>Delete Plot
Command:                     Q3D Extractor or 2D Extractor>Fields>Delete Plot
Syntax:                      DeleteFieldPlot <NameArray>
Return Value:                None
Parameters:                  <NameArray>
                             Array of strings – the names of the plots to delete.
Example:
                             oModule.DeleteFieldPlot Array("Mag_E1", "Vector_E1")
          GetFieldPlotNames
Use:                         Gets the names of field overlay plots defined in a design.
Syntax:                      GetFieldPlotNames()
Return Value:                Array of field plot names.
Parameters:                  None
Example:
   Dim oAnsoftApp
   Dim oDesktop
   Dim oProject
   Dim oDesign
   Dim oEditor
   Dim oModule
   Set oAnsoftApp = CreateObject("AnsoftHFSS.HFSSScriptInterface")
   Set oDesktop = oAnsoftApp.GetAppDesktop()
   oDesktop.RestoreWindow
   Set oProject = oDesktop.GetActiveProject
   Set oDesign = oProject.GetActiveDesign
   Set oReportModule = oDesign.GetModule("ReportSetup")
   Dim names
   names = oReportModule.GetAllReportNames
   For index = 0 to UBound(names)
       MsgBox(names(index))
   Next
   Set oFieldReportModule = oDesign.GetModule("FieldsReporter")
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                                             "IsoValType:=", "Fringe", _
                                             "SmoothShade:=", true, _
                                             "AddGrid:=", false, _
                                             "MapTransparency:=",                           true, _
                                             "Transparency:=", 0, _
                                             "ArrowUniform:=", true, _
                                             "ArrowSpacing:=",                       0.100000001490116, _
                                             "GridColor:=", Array(255, 255, 255)))
          RenameFieldPlot
Use:                         Renames a plot.
Command:                     Right-click the plot you want to rename in the project tree, and then click
                             Rename on the shortcut menu.
Syntax:                      RenameFieldPlot <OldName> <NewName>
Return Value:                None
Parameters:                  <OldName>
                             Type: <string>
                             Original name of the plot.
                             <NewName>
                             Type: <string>
                             New name of the plot.
Example:
                             oModule.RenameFieldPlot "Vector_E1", "Vector_E2"
          RenamePlotFolder
Use:                         Renames a plot folder.
Command:                     Right-click a plot folder in the project tree, and then click Rename on the
                             shortcut menu.
Syntax:                      RenamePlotFolder <OldName> <NewName>
Return Value:                None
Parameters:                  <OldName>
                             Type: <string>
                             Original name of the folder.
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 <NewName>
                                 Type: <string>
                                 New name of the folder.
    Example:
                                 oModule.RenamePlotFolder "E Field", "Surface Plots"
              SetFieldPlotSettings
    Use:                         Sets plot attributes.
    Command:                     HFSS>Fields>Modify Plot Attributes, under the Plots tab.
    Command:                     Q3D Extractor or 2D Extractor>Fields>Modify Plot Attributes, under the
                                 Plots tab.
    Syntax:                      SetFieldPlotSettings <PlotName> <PlotItemAttributes>
    Return Value:                None
    Parameters:                  <PlotName>
                                 Type: <string>
                                 Name of the plot to modify.
                                 <PlotItemAttributes>
                                 Array("NAME:FieldsPlotItemSettings",
                                            <PlotOnPointsSettings>,
                                            <PlotOnLineSettings>,
                                            <PlotOnSurfaceSettings>,
                                            <PlotOnVolumeSettings>)
                                 See description of CreateFieldPlot command for details.
    Example:
                                 oModule.SetFieldPlotSettings "Mag_E2", _
                                      Array("NAME:FieldsPlotItemSettings", _
                                            Array("NAME:PlotOnLineSettings", _
                                                 Array("NAME:LineSettingsID", _
                                                      "Width:=", 4,
                                                      "Style:=", "Cylinder"), _
                                                 "IsoValType:=", "Tone", _
                                                 "ArrowUniform:=", true, _
                                                 "NumofArrow:=",                     100), _
                                            Array("NAME:PlotOnSurfaceSettings", _
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                                             "Filled:=", false, _
                                             "IsoValType:=", "Tone", _
                                             "SmoothShade:=",                      true, _
                                             "AddGrid:=", false, _
                                             "MapTransparency:=", true, _
                                             "Transparency:=", 0, _
                                             "ArrowUniform:=",                       true, _
                                             "ArrowSpacing:=", 0.100000001490116, _
                                             "GridColor:=", Array(255, 255, 255)))
          SetPlotFolderSettings
Use:                         Sets the attributes of all plots in the specified folder.
Command:                     HFSS>Fields>Modify Plot Attributes
Command:                     Q3D Extractor or 2D Extractor>Fields>Modify Plot Attributes
Syntax:                      SetPlotFolderSettings <PlotFolderName>
                             <PlotFolderAttributes>
Return Value:                None
Parameters:                  <PlotFolderName>
                             Type: <string>
                             Name of the folder with the attributes to modify.
                             <PlotFolderAttributes>
                                  Array("NAME:FieldsPlotSettings",
                                        "Real time mode:=", <bool>,
                                        <ColorMapSettings>,
                                        <Scale3DSettings>,
                                        <Marker3DSettings>,
                                        <Arrow3DSettings>)
                             <ColorMapSettings>
                                  Array("NAME:ColorMapSettings",
                                        "ColorMapType:=", <string>,
                                        "SpectrumType:=", <string>,
                                        "UniformColor:=", Array(<int>, <int>, <int>),
                                        "RampColor:=", Array(<int>, <int>, <int>)
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                ColorMapType
                                Possible values are "Uniform", "Ramp", "Spectrum"
                                  SpectrumType
                                Possible values are "Rainbow", "Temperature", "Magenta", "Gray"
                                UniformColor, RampColor
                                Array containing the R, G, B components of the color. Components should be in the
                                range 0 to 255.
                                <Scale3DSettings>
                                     Array("NAME:Scale3DSettings",
                                           "m_nLevels:=",                    <int>,
                                           "m_autoScale:=", <bool>,
                                           "minvalue:=", <double>,
                                           "maxvalue:=",                   <double>,
                                           "log:=", <bool>,
                                           "IntrinsicMin:=", <double>,
                                           "IntrinsicMax:=",                       <double>)
                                <Marker3DSettings>
                                     Array("NAME:Marker3DSettings",
                                           "MarkerType:=", <int>,
                                           "MarkerMapSize:=",                        <bool>,
                                           "MarkerMapColor:=", <bool>,
                                           "MarkerSize:=", <double>)
                                MarkerType
                                9: Sphere
                                10: Box
                                11: Tetrahedron
                                12: Octahedron
                                default: Sphere
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
                         <Arrow3DSettings>
                              Array("NAME:Arrow3DSettings",
                                    "ArrowType:=",                    <int>,
                                    "ArrowMapSize:=", <bool>,
                                    "ArrowMapColor:=", <bool>,
                                    "ShowArrowTail:=", <bool>,
                                    "ArrowSize:=",                      <double>)
                         ArrowType
                         0: Line
                         1: Cylinder
                         2: Umbrella
                         default: Line
Example:
                         oModule. SetPlotFolderSettings "E Field1", _
                              Array("NAME:FieldsPlotSettings", _
                                    "Real time mode:=",                          true,          _
                                    Array("NAME:ColorMapSettings", _
                                         "ColorMapType:=", "Spectrum", _
                                         "SpectrumType:=", "Rainbow", _
                                         "UniformColor:=", Array(127, 255, 255), _
                                         "RampColor:=", Array(255,                                  127, 127)), _
                                    Array("NAME:Scale3DSettings", _
                                         "m_nLevels:=",                    27, _
                                         "m_autoScale:=", true, _
                                         "minvalue:=", 9.34379863739014, _
                                         "maxvalue:=",                   13683.755859375, _
                                         "log:=", false, _
                                         "IntrinsicMin:=", 9.34379863739014, _
                                         "IntrinsicMax:=",                       13683.755859375), _
                                    Array("NAME:Marker3DSettings", _
                                         "MarkerType:=", 0, _
                                         "MarkerMapSize:=",                         true, _
                                         "MarkerMapColor:=", false, _
                                         "MarkerSize:=", 0.25), _
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                           Array("NAME:Arrow3DSettings", _
                                                "ArrowType:=",                    1, _
                                                "ArrowMapSize:=", true, _
                                                "ArrowMapColor:=", true, _
                                                "ShowArrowTail:=", true, _
                                                "ArrowSize:=",                      0.25))
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
20               Fields Calculator Script
              Commands
                    The command associated with each of the following scripting commands will
                    be a button pressed in the Fields Calculator.
                    AddNamedExpression
                    AddNamedExpr
                    CalcOp
                    CalculatorRead
                    CalcStack
                    CalculatorWrite
                    ChangeGeomSettings
                    ClcEval
                    ClcMaterial
                    ClearAllNamedExpr
                    CopyNamedExprToStack
                    DeleteNamedExpr
                    EnterComplex
                    EnterComplexVector
                    EnterLine
                    EnterPoint
                                                                                      Fields Calculator Script Commands 20-1
 ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                     of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                EnterQty
                                EnterScalar
                                EnterScalarFunc
                                EnterSurf
                                EnterVector
                                EnterVectorFunc
                                EnterVol
                                ExportOnGrid
                                ExportToFile
                                ExportOnGrid (2DExtractor)
                                GetTopEntryValue
                                LoadNamedExpressions
                                SaveNamedExpressions
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          AddNamedExpression
Use:                         Creates a named expression using the expression at the top of the stack.
Command:                     Click Add.
Syntax:                      AddNamedExpression <Name>
Return Value:                None
Parameters:                  <ExpressionName> and <FieldType>.
                             Type: <string>
                             Name for the new named expression.
                       <FieldType>
                             Type: <string>
Example:
                             oModule.AddNamedExpression "Mag_JxE", "Fields"
          AddNamedExpr
Use:                         Creates a named expression using the expression at the top of the stack.
Command:                     Click Add.
Syntax:                      AddNamedExpr <Name>
Return Value:                None
Parameters:                  <ExpressionName>
                             Type: <string>
                             Name for the new named expression.
                       <FieldType>
                             Type: <string>
Example:
                             oModule.AddNamedExpr "Mag_JxE", "Fields"
          CalcOp
Use:                         Performs a calculator operation.
Command:                     Operation commands like Mag, +, etc.
Syntax:                      CalcOp <OperationString>
Return Value:                None
Parameters:                  <OperationString>
                             Type: String
                             The text on the corresponding calculator button.
                             Examples: Mag, +
                                                                                               Fields Calculator Script Commands 20-3
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              CalcRead(deprecated)
    Use:                         Reads a file that is written out by the CalcWrite command, and puts the
                                 result into a calculator numeric.
    Syntax:                      CalcRead <FileName> <SolutionName> <VariablesArray>
    Return Value:                None
    Parameters:                  <FileName>
                                 Type: <string>
                           <SolutionName>
                                 Type: <string>
                           <VariablesArray>
                                 Array of variable name and value pairs.
                                 oModule.CalcRead _
                                 "c:\example.reg" "Setup1: LastAdaptive",_
                                 Array ("Freq:=", "10GHz", "Phase:=", "0deg")
              CalculatorRead
    Use:                         Gets a register file and applies it to the calculator stack.
    Command:                     Click Read
    Syntax:                      CalculatorRead <InputFilePath>, <SolutionName>,
                                 <FieldType>, <VariablesArray>
    Return Value:                None
    Parameters:                  <InputFilePath>
                                 Path to and including name of input register file.
                                 <SolutionName>
                                 Type: <string>
                                 Example: "Setup1 : LastAdaptive"
                                 <FieldType>
                                 Type: <string>
                                 <VariablesArray>
                                 Array of variable names, value pairs.
    Example:
                                 oModule.CalculatorRead "c:\test.reg", _
                                      "Setup1 : LastAdaptive", "Fields", _
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          CalculatorWrite
Use:                         Writes contents of top register to file.
Command:                     Click Write
Syntax:                      CalculatorWrite <OutputFilePath>, <SolutionNameArray>,
                             <VariablesArray>
Return Value:                None
Parameters:                  <OutputFilePath>
                             Path to and including name of output register file.
                             <SolutionNameArray>
                             Array("Solution:=", <string>)
                             <VariablesArray>
                             Array of variable names, value pairs.
Example:
                             oModule.CalculatorWrite "c:\test.reg", _
                                  Array("Solution:=", "Setup1 : LastAdaptive"), _
                                  Array("Freq:=", "1GHz", "Phase:=", "0deg")
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ClcEval
    Use:                         Evaluates the expression at the top of the stack using the provided solution
                                 name and variable values.
    Command:                     Click Eval.
    Syntax:                      ClcEval <SolutionName> <VariablesArray>
    Return Value:                None
    Parameters:                  <SolutionName>
                                 Type: <string>
                                 <VariablesArray>
                                 Array of variable name, value pairs.
    Example:
                                 oModule.ClcEval "Setup1: LastAdaptive", _
                                      Array ("Freq:=", "10GHz",_
                                            "Phase:=", "0deg")
              ClcMaterial
    Use:                         Performs a material operation on the top stack element.
    Command:                     Click Matl.
    Syntax:                      ClcMaterial <MaterialString>, <OperationString>
    Return Value:                None
    Parameters:                  <Material String>
                                 Type: <string>
                                 The material property to apply.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             <OperationString>
                             Type: <string>
                             Possible values are "mult", or "div".
Example:
                             oModule.ClcMaterial "Permeability (mu)" "mult"
          ClearAllNamedExpr
Use:                         Clears all user-defined named expressions from the list.
Command:                     Click ClearAll.
Syntax:                      ClearAllNamedExpr
Return Value:                None
Parameters:                  None
          CopyNamedExprToStack
Use:                         Copies the named expression selected to the calculator stack.
Command:                     Select a named expression and then click Copy to stack.
Syntax:                      CopyNamedExprToStack <Name>
Return Value:                None
Parameters:                  <Name>
                             Type: <string>
                             The name of the expression to be copied to the top of the stack.
Example:
                             oModule.CopyNamedExprToStack "Mag_JxE"
          DeleteNamedExpr
Use:                         Deletes the selected named expression from the list.
Command:                     Select a named expression and then click Delete.
Syntax:                      DeleteNamedExpr <Name>
Return Value:                None
Parameters:                  <Name>
                             Type: <string>
                             The name of the named expression to be deleted.
Example:
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
oModule.DeleteNamedExpr "Mag_JxE"
              EnterComplex
    Use:                         Enters a complex number onto the stack.
    Command:                     Click Number, and then click Scalar. Complex option is selected.
    Syntax:                      EnterComplex "<Real> + <Imaginary> j"
    Return Value:                None
    Parameters:                  <Real>
                                 Type: <double>
                                 Real component of the scalar.
                                 <Imaginary>
                                 Type: <double>
                                 Imaginary component of the scalar.
    Example:
                                 oModule.EnterComplex "1 + 2 j"
              EnterComplexVector
    Use:                         Enters a complex vector onto the stack.
    Command:                     Click Number, and then click Vector. Complex option is selected.
    Syntax:                      EnterComplexVector Array ("<X Re> + <X Im> j",
                                 "<Y Re> + <Y Im> j", "<Z Re> + <Z Im> j")
    Return Value:                None
    Parameters:                  <X Re>, <YRe>, <ZRe>
                                 Type: <double>
                                 Real components of the X, Y, and Z values respectively.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          EnterLine
Use:                         Enters a line defined in the 3D Modeler editor.
Command:                     Click Geometry and then select Line.
Syntax:                      EnterLine <LineName>
Return Value:                None
Parameters:                  <LineName>
                             Type: <string>
                             Name of a line defined in the 3D Modeler editor.
Example:
                             oModule.EnterLine "Line1"
          EnterPoint
Use:                         Enters a point defined in the 3D Modeler editor.
Command:                     Click Geometry and then select Point.
Syntax:                      EnterPoint <PointName>
Return Value:                None
Parameters:                  <PointName>
                             Type: <string>
                             Name of a point defined in the 3D Modeler editor.
Example:
                             oModule.EnterPoint "Point1"
          EnterQty
Use:                         Enters a field quantity.
Command:                     Click Quantity, and then select from the list.
Syntax:                      EnterQty <FieldQuantityString>
Return Value:                None
Parameters:                  <Field Quantity String>
                             Type: <string>
                             The field quantity to be entered onto the stack.
Example:
                             oModule.EnterQty "E"
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              EnterScalar
    Use:                         Enters a scalar onto the stack.
    Command:                     Click Number and then click Scalar. Complex option not selected.
    Syntax:                      EnterScalar <Scalar>
    Return Value:                None
    Parameters:                  <Scalar>
                                 Type: <double>
                                 The real number to enter onto the stack.
              EnterScalarFunc
    Use:                         Enters a scalar function.
    Command:                     Click Function and then select Scalar.
    Syntax:                      EnterScalarFunc <VarName>
    Return Value:                None
    Parameters:                  <VarName>
                                 Type: <string>
                                 Name of a variable to enter as a scalar function onto the stack.
    Example:
                                 oModule.EnterScalarFunc "Phase"
              EnterSurf
    Use:                         Enters a surface defined in the 3D Modeler editor.
    Command:                     Click Geometry and then select Surface.
    Syntax:                      EnterSurf <SurfaceName>
    Return Value:                None
    Parameters:                  <SurfaceName>
                                 Type: <string>
                                 Name of a surface defined in the 3D Modeler editor.
    Example:
                                 oModule.EnterSurf "Rectangle1"
              EnterVector
    Use:                         Enters a vector onto the stack.
    Command:                     Click Number, and then click Vector. Complex option not selected.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             <Y>
                             Type: <double>
                             Y component of the vector.
                             <Z>
                             Type: <double>
                             Z component of the vector.
Example:
                             oModule.EnterVector Array (1.0, 1.0, 1.0)
          EnterVectorFunc
Use:                         Enters a vector function.
Command:                     Click Function and then select Vector.
Syntax:                      EnterVectorFunc Array(<XVarName>, <YVarName>,
                             <ZVarName>)
Return Value:                None
Parameters:                  <XVarName>, <YVarName>, <ZVarName>
                             Type: <string>
                             Name of a variable for the X, Y, and Z coordinates, respectively, to enter as a vector
                             function on the stack.
Example:
                             oModuleEnterVectorFunc Array("X", "Y", "Z")
          EnterVol
Use:                         Enters a volume defined in the 3D Modeler editor.
Command:                     Click Geometry and then select Volume.
Syntax:                      EnterVol <VolumeName>
Return Value:                None
Parameters:                  <VolumeName>
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 Type: <string>
                                 Name of a volume defined in the 3D Modeler editor.
    Example:
                                 oModule.EnterVol "Box1"
              ExportOnGrid
    Use:                         Evaluates the top stack element at a set of points specified by a grid and
                                 exports the data to a file.
    Command:                     Click Export, and then click On Grid.
    Syntax:                      ExportOnGrid <OutputFile> <MinArray> <MaxArray>
                                 <SpacingsArray>, <setup>, <Boolean>, <coordinate system>
                                 [<CS Offset Array>]
    Return Value:                None
    Parameters:                  <OutputFile>
                                 Type: <string>
                                 Name of the output file.
                                 <MinArray>, <MaxArray>, <SpacingsArray>
                                 Type: Array<double, double, double>
                                 Min, Max, and Spacing for the coordinate components of the grid system, “Cartesian”
                                 (default), “Cylindrical” or “Spherical”.
                                 <setup>
                                 Type: <string>
                                 Name of the simulation setup
                                 <Setup Array>
                                 Type: Array(“Freq:=”,<ValueUnits>”, “Phase:=”,”<ValueDeg>”),
                                 Freq
                                 <Boolean>
                                 Type: True, False
                                 Whether a non-default coordinate system is specified
                                 <Coordinate sytem>
                                 Type: <string>,
                                 [“Cartesian” (default)| “Cylindrical” | “Spherical”]
                                 <CS Offset Array>
                                 Type: Array<double, double, double>
                                 Origin for the offset coordinate system.
    Example:
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                oModule.ExportOnGrid "J:\TestSuite\EdgeLossDensity\aaa.fld",
                Array( "0mm", "0deg", "-25mm"),
                Array("20mm", "90deg", "125mm"),
                Array("10mm", "45deg", "50mm"),
                "Setup1 : LastAdaptive",
                Array("Freq:=", "10000Hz", "Phase:=", "0deg"),
                true, "Cylindrical",
                Array("0mm", "0mm", "0mm")
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 <PtsFile>
                                 Type: <string>
                                 Name of the file containing the points at which to evaluate the top stack element. The
                                 file should contain tab- or space-separated x,y,z values of data points.
              GetTopEntryValue
    Use:                         Gets the value of the top entry of the calculator stack.
    Syntax:                      GetTopEntryValue(<SolutionName>, <VariablesArray>)
    Return Value:                Returns an array of variants, which is either a scalar (one double) or a
                                 vector (3 doubles) based on the quantity on top of the stack.
    Parameters:                  <SolutionName>
                           Type: <string>
                           Example: "Setup1: LastAdaptive"
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                       <VariablesArray>
                       Array of variable name, value pairs.
Example:
                             dim topvalue
                             topvalue = _
                             oModule.GetTopEntryValue("Setup1:LastAdaptive", _
                             Array("Freq:=", "1GHz", "Phase:=", "0deg", _
                             "x_size:=", "2mm"))
                             If cdbl(topvalue(0)) <- 180.0 then ...
          LoadNamedExpressions
Use:                         Loads a named expression definition from a saved file.
Command:                     In the Fields Calculator, click Load From... in the Library area.
Syntax:                      LoadNamedExpressions <FileName>, <FieldType>,
                             <NamedExpressions>
Return Value:                None
Parameters:                  <FileName>
                             Type:<String>
                             Filename and full path to the file to hold the named expression definition.
                             <FieldType>
                             Type:<String>
                             For products with just one filed type, it is set to "Fields".
                             <NamedExpressions>
                             Type: Array<string, string,...>
                             Array of strings containing the names of expression definitions to load from the file.
Example:
                             oModule.LoadNamedExpressions "C:\Ansoft\Personal-
                             Lib\smth.clc", "Fields", Array("smoothedtemp")
          SaveNamedExpressions
Use:                         Saves a named expression definition to a file.
Command:                     In the Fields Calculator, click Save To... in the Library area.
Syntax:                      SaveNamedExpressions <FileName>, <NamedExpressions>,
                             <BooleanFlag>
Return Value:                None
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Parameters:                 <FileName>
                                Type:<String>
                                Filename and full path to the file to hold the named expression definition.
                                <NamedExpressions>
                                Type: Array<string, string,...>
                                Array of strings containing the names of expression definitions to load from the file.
                                <BooleanFlag>
                                Type:<Boolean>
                                True: Overwrite the file.
                                False: Append to the file.
    Example:
                                oModule.SaveNamedExpressions "C:\Ansoft\Personal-
                                Lib\smth.clc", Array("smoothedtemp"), true
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
21               Radiation Module Script
              Commands
                    <SetupName>
                    Type: <string>
                    Name of a radiation setup.
                    <FaceListName>
                    Type: <string>
                    Name of a qualifying face list. Used for specifying custom radiation surfaces. In order
                    to be valid for use in a radiation surface, the face list should not contain any faces on
                    PML objects and should contain only model faces.
                    <CSName>
                    Type: string
                    Name of a coordinate system.
                    General Commands Recognized by the Radiation Module
                    Script Commands for Creating and Modifying Radiation Setups
                    Script Commands for Modifying Antenna Array Setups
 ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                     of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
Script Commands for Exporting Antenna Parameters and Max Field Parameters
              DeleteFarFieldSetup
    Use:                         Deletes an existing far-field setup.
    Command:                     Delete command in the List dialog box. Click HFSS>List to access the List
                                 dialog box.
    Syntax:                      DeleteFarFieldSetup <NameArray>
    Return Value:                None
    Parameters:                  <NameArray>
                                 Type: Array of strings.
                                 An array of radiation setup names.
    Example:
                                 oModule.DeleteFarFieldSetup Array("Infinite Sphere1")
              DeleteNearFieldSetup
    Use:                         Deletes an existing near-field setup (line and sphere).
    Command:                     Delete command in the List dialog box. Click HFSS>List to access the List
                                 dialog box.
    Syntax:                      DeleteNearFieldSetup <NameArray>
    Return Value:                None
    Parameters:                  <NameArray>
                                 Type: Array of strings.
                                 An array of radiation setup names.
    Example:
                                 oModule.DeleteNearFieldSetup Array("Line1", "Sphere1")
              GetSetupNames
    Use:                         Gets the names of far field and near field radiation setups in a design.
    Syntax:                      GetSetupNames(<RadiationType>)
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             <NewName>
                             Type: <string>
Example:
                             oModule.RenameSetup "Sphere1", "MyNearSphere"
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              EditFarFieldSphereSetup
    Use:                         Modifies an existing far-field infinite sphere setup.
    Command:                     Double-click a radiation setup in the project tree to modify its settings.
    Syntax:                      EditFarFieldSphereSetup <InfSphereParams>
    Return Value:                None
    Example:
                                 oModule.EditFarFieldSphereSetup Array("NAME:InfSphere",_
                                      "UseCustomRadiationSurface:=", true, _
                                      "CustomRadiationSurface:=", "FaceList1", _
                                      "ThetaStart:=", "0deg", _
                                      "ThetaStop:=", "180deg", _
                                      "ThetaStep:=", "10deg", _
                                      "PhiStart:=", "15deg", _
                                      "PhiStop:=", "36deg", _
                                      "PhiStep:=", "10deg", _
                                      "UseLocalCS:=", false)
              EditNearFieldLineSetup
    Use:                         Modifies an existing near-field line setup.
    Command:                     Double-click the radiation setup in the project tree to modify its settings.
    Syntax:                      EditNearFieldLineSetup <LineParams>
    Return Value:                None
    Example:
                                 oModule.EditNearFieldLineSetup Array("NAME:MyLine", _
                                      "UseCustomRadiationSurface:=", false, _
                                      "Line:=", "Polyline2", _
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
"NumPts:=", "100")
          EditNearFieldSphereSetup
Use:                         Modifies an existing near-field sphere setup.
Command:                     Double-click a radiation setup in the project tree to modify its settings.
Syntax:                      EditNearFieldSphereSetup <SphereParams>
Return Value:                None
Example:
                             oModule.EditNearFieldSphereSetup Array("NAME:MySphere", _
                                  "UseCustomRadiationSurface:=", true, _
                                  "CustomRadiationSurface:=", "FaceList1", _
                                  "Radius:=", "35mm", _
                                  "ThetaStart:=", "0deg", "ThetaStop:=", "180deg", _
                                  "ThetaStep:=", "10deg", "PhiStart:=", "15deg", _
                                  "PhiStop:=", "36deg", "PhiStep:=", "10deg", _
                                  "UseLocalCS:=", false)
Example:                     Partial values can be specified, in which case default values will be used to
                             populate the rest of the fields:
                             oModule.EditNearFieldSphereSetup "NAME:MyInfSphere", _
                                  Array("NAME:MySphere", _
                                        "UseCustomRadiationSurface:=", true, _
                                        "CustomRadiationSurface:=", "FaceList1", _
                                        "Radius:=", "45mm")
                       This will cause default values to be used for the rest of the fields such as
                       ThetaStop, ThetaStart, ThetaStep, PhiStep, PhiStart, and
                       PhiStop;however, the value for the key CustomRadiationSurface has
                       to be specified if custom radiation surfaces are used.
          InsertFarFieldSphereSetup
Use:                         Creates/inserts a far-field infinite sphere radiation setup.
Command:                     HFSS>Radiation>Insert Far Field Setup>Infinite Sphere
Syntax:                      InsertFarFieldSphereSetup <InfSphereParams>
Return Value:                None
Parameters:                  <InfSphereParams>
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                     Array("NAME:<SetupName>",
                                           "UseCustomRadiationSurface:=", <bool>,
                                           "CustomRadiationSurface:=", <FaceListName>,
                                           "ThetaStart:=", <value>,
                                           "ThetaStop:=", <value>,
                                           "ThetaStep:=", <value>,
                                           "PhiStart:=", <value>,
                                           "PhiStop:=", <value>,
                                           "PhiStep:=", <value>,
                                           "UseLocalCS:=", <bool>,
                                           "CoordSystem:=", <CSName>)
                                UseCustomRadiationSurface
                                If true, provide CustomRadiationSurface parameter.
                                If false, radiation boundary/PML boundaries will be used as radiation surfaces.
                                UseLocalCS
                                If true, provide CoordSystem parameter.
                                If false, global coordinate system will be used.
    Example:
                                oModule.InsertFarFieldSphereSetup
                                Array("NAME:InfiniteSphere1",_
                                     "UseCustomRadiationSurface:=", false, _
                                     "ThetaStart:=", "0deg",_
                                     "ThetaStop:=", "180deg",_
                                     "ThetaStep:=", "10deg",_
                                     "PhiStart:=", "0deg",_
                                     "PhiStop:=", "36deg",_
                                     "PhiStep:=", "10deg",_
                                     "UseLocalCS:=", true,_
                                     "CoordSystem:=", "RelativeCS1")
             InsertNearFieldLineSetup
    Use:                        Inserts a near-field line setup. Requires the presence of lines in the model.
    Command:                    HFSS>Radiation>Insert Near Field Setup>Sphere
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             <PolyLineName>
                             Type: String.
                             Name of the polyline as determined by name in the history tree.
                             UseCustomRadiationSurface
                             If true, provide CustomRadiationSurface parameter.
                             If false, radiation boundary/PML boundaries will be used as radiation surfaces.
Example:
                             oModule.InsertNearFieldLineSetup Array("NAME:MyLine", _
                                  "UseCustomRadiationSurface:=", false, _
                                  "Line:=", "Polyline1", _
                                  "NumPts:=", "100")
          InsertNearFieldSphereSetup
Use:                         Creates/inserts a near-field sphere radiation setup.
Command:                     HFSS>Radiation>Insert Near Field Setup>Sphere
Syntax:                      InsertNearFieldSphereSetup <SphereParams>
Return Value:                None
Parameters:                  <SphereParams>
                                  Array("NAME:<SetupName>",
                                        "UseCustomRadiationSurface:=", <bool>,
                                        "CustomRadiationSurface:=", <FaceListName>,
                                        "Radius:=", <value>,
                                        "ThetaStart:=", <value>,
                                        "ThetaStop:=", <value>,
                                        "ThetaStep:=", <value>,
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                            "PhiStart:=", <value>,
                                            "PhiStop:=", <value>,
                                            "PhiStep:=", <value>,
                                            "UseLocalCS:=", <bool>,
                                            "CoordSystem:=", <CSName>)
                                 UseCustomRadiationSurface
                                 If true, provide CustomRadiationSurface parameter.
                                 If false, radiation boundary/PML boundaries will be used as radiation surfaces.
                                 UseLocalCS
                                 If true, provide CoordSystem parameter.
                                 If false, global coordinate system will be used.
    Example:
                                 oModule.InsertNearFieldSphereSetup _
                                      Array("NAME:MySphere", _
                                            "UseCustomRadiationSurface:=", true, _
                                            "CustomRadiationSurface:=", "FaceList1", _
                                            "ThetaStart:=", "0deg", "ThetaStop:=", "180deg", _
                                            "ThetaStep:=", "10deg", "PhiStart:=", "0deg", _
                                            "PhiStop:=", "360deg", "PhiStep:=", "10deg", _
                                            "UseLocalCS:=", true, _
                                            "CoordSystem:=", "FaceCS1")
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                              "UseOption:=", <ArrayOption>,
                              <RegularArrayParams>,
                              <CustomArrayParams>)
                   <ArrayOption>
                   Type: <string>
                   Can be one of three strings: "NoArray", or "RegularArray",
                   "CustomArray".
                   If "RegularArray" is specified, then <RegularArrayParams> must
                   be specified. If "CustomArray" is specified, <CustomArrayParams>
                   must be specified. You can also supply both the custom and regular
                   array specifications and switch between them by setting this flag to the
                   option you want to use.
                   <RegularArrayParams>
                        Array("NAME:RegularArray",
                              "NumUCells:=", <value>,
                              "NumVCells:=", <value>,
                              "CellUDist:=", <value>,
                              "CellVDist:=", <value>,
                              "UDirnX:=", <value>,
                              "UDirnY:=", <value>,
                              "UDirnZ:=", <value>,
                              "VDirnX:=", <value>,
                              "VDirnY:=", <value>,
                              "VDirnZ:=", <value>,
                              "FirstCellPosX:=", <value>,
                              "FirstCellPosY:=", <value>,
                              "FirstCellPosZ:=", <value>,
                              "UseScanAngle:=", <bool>,
                              "ScanAnglePhi:=", <value>,
                              "ScanAngleTheta:=", <value>,
                              "UDirnPhaseShift:=", <value>,
                              "VDirnPhaseShift:=", <value>)
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                UseScanAngle
                                If true, the values of the ScanAnglePhi and ScanAngleTheta
                                parameters will be used and need to be specified.
                                If false, the values of the UDirnPhaseShift and VDirnPhaseShift
                                parameters will be used and must be specified.
                                <CustomArrayParams>
                                     Array("NAME:CustomArray",
                                           "NumCells:=", <int>,
                                           <CellsParamsArray
                                <CellsParamsArray>
                                     Array("NAME:Cell",
                                           <CellParams>, <CellParams>, ...)
                                <CellParams>
                                     Array("Name:<CellName>",
                                           "XCoord:=", <double>,
                                           "YCoord:=", <double>,
                                           "ZCoord:=", <double>,
                                           "Amplitude:=", <double>,
                                           "Phase:=", <double>)
                                The <double> values above should be in SI units.
                                <CellName>
                                Type: <string>
                                Format is: "Cell_n"
                                Replace n with the index number of the cell, for example: "Cell_1"
    Example:                    Using the "NoArray" option:
                                oModule.EditAntennaArraySetup _
                                     Array("NAME:ArraySetupInfo", "UseOption:=", "NoArray")
    Example:                    Using the "RegularArray" option:
                                oModule.EditAntennaArraySetup _
                                     Array("NAME:ArraySetupInfo",_
                                           "UseOption:=", "RegularArray", _
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
                                         Array("NAME:RegularArray", _
                                         "NumUCells:=", "10", "NumVCells:=", "10",_
                                         "CellUDist:=", "10mm", "CellVDist:=", "10mm", _
                                         "UDirnX:=", "1", "UDirnY:=", "0", "UDirnZ:=", _
                                              "0", _
                                         "VDirnX:=", "0", "VDirnY:=", "1", "VDirnZ:=",_
                                              "0", _
                                         "FirstCellPosX:=", "0mm", _
                                         "FirstCellPosY:=", "0mm", _
                                         "FirstCellPosZ:=", "0mm",
                                         "UseScanAngle:=", true, _
                                         "ScanAnglePhi:=","45deg", _
                                         "ScanAngleTheta:=", "45deg"))
Example:                 Using the "CustomArray" option:
                         oModule.EditAntennaArraySetup _
                              Array("NAME:ArraySetupInfo",
                                    "UseOption:=", "CustomArray",_
                                    Array("NAME:CustomArray", _
                                         "NumCells:=", 3,_
                                         Array("NAME:Cell", _
                                              Array("NAME:Cell_1", _
                                              "XCoord:=", 0, "YCoord:=", 0, "ZCoord:=",0,_
                                              "Amplitude:=", 1, "Phase:=", 0), _
                                              Array("NAME:Cell_2", _
                                              "XCoord:=",0.06729,"YCoord:=","ZCoord:=",0,_
                                              "Amplitude:=", 1, "Phase:=", 0), _
                                              Array("NAME:Cell_3", _
                                              "XCoord:=",0.13458,"YCoord:=",0,"ZCoord:=",0,_
                                              "Amplitude:=", 1, "Phase:=", 0))))
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 <FilePath>
                                 Type: String.
                                 Specifies the file to export to, for example: "C:\projects\exportantparams.txt".
                                 IntrinsicVariationKey
                                 Specifies the frequency at which to extract the parameters. Example:
                                 "Freq='10GHz'"
                                 DesignVariationKey
                                 Specifies the design variations at which to extract the parameters. Example:
                                 "width=5mm"
    Example:
                                 oModule.ExportRadiationParametersToFile _
                                      Array("ExportFileName:=", _
                                            "C:\projects\exportantparams.txt",_
                                            "SetupName:=", "Infinite Sphere1", _
                                            "IntrinsicVariationKey:=", "Freq='10GHz'", _
                                            "DesignVariationKey:=", "",
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
"SolutionName:=", "LastAdaptive")
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
22                        User Defined Solutions
                       Commands
                       CreateUserDefinedSolution
                       DeleteUserDefinedSolutions
                       EditUserDefinedSolution
          CreateUserDefinedSolution
Use:                         Creates a new user defined solution.
Command:                     Create User Defined Solution popup menu is available in the Result folder
                             context menu when applicable.
Syntax:                      CreateUserDefinedSolution <SolutionName>,
                             <PluginFileLocation>, <PluginFileRelativePathName>,
                             <PropertyValuesArray>, <ProbeSelectionArray>,
                             <DynamicProbesArray>
Return Value:                The name of the user defined solution that was created. Note: if the
                             requested user defined solution name is not available because it is already
                             in use, the user defined solution will be created with a different name
                             which will be returned.
Parameters:                  <SolutionName>
                             Type: String
                                                                                                User Defined Solutions Commands 22-1
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                <PluginFileLocation>
                                Type: String
                                Indicates the library where the UDS plugin file is located. This parameter must be one
                                of the following values: "SysLib", "UserLib", "PersonalLib".
                                <PluginFileRelativePathName>
                                Type: String
                                The path of the UDS plugin file relative to the "UserDefinedOutputs" subdirectory of
                                the library specified by <PluginFileLocation>.
                                <PropertyValuesArray>
                                Type: Array of strings
                                Strings specify name-value pairs corresponding to the UDS properties specified in the
                                plugin file.
                                     For example:
         Array("multiply_factor:=", "2.0", "component_name:=", "resistor1")
                                <ProbeSelectionArray>
                                Type: Array of <ProbeSelection>'s (see below)
                                The probe specification array specifies how UDS probes are defined and mapped to
                                traces in the design.
                                <ProbeSelection>
                                Type: Array of strings representing how a single probe is defined by a trace. The
                                array contains the below items:
                                <ReportType>
                                Type: String
                                See the CreateReport command for more information.
                                <ProbeName>
                                Type: String
                                Name of the probe being specified. Note: this must match a probe name specified in
                                the UDS plugin file.
                                <SolutionName>
                                Type: String
                                See the CreateReport command for more information.
                                <SimulatedValueContexArray>
                                Type: Array of strings
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          DeleteUserDefinedSolutions
Use:                         Deletes one or more user defined solutions.
Command:                     'Delete' button from the "User Defined Solutions" dialog.
Syntax:                      DeleteUserDefinedSolutions <UserDefinedSolutionNames>
Return Value:                None
Parameters:
                                                                                                User Defined Solutions Commands 22-3
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 <UserDefinedSolutionNames>
                                 Type: Array of strings
                                 Name of User Defined Solutions to be deleted.
    Example:                     Example:
         oModule.DeleteUserDefinedSolutions Array("Solution1", "Solution2")
              EditUserDefinedSolution
    Use:                         Updates an existing user defined solution
    Command:                     Command: 'Edit' button in the User Defined Solutions dialog
    Syntax:                      Syntax: EditUserDefinedSolution <ExistingSolutionName>,
                                 <NewSolutionName>, <PluginFileLocation>,
                                 <PluginFileRelativePathName>, <PropertyValuesArray>,
                                 <ProbeSelectionArray>, <DynamicProbesArray>
    Return Value:                Return Value: the name of the user defined solution after being updated.
                                 Note: if the requested user defined solution name is not available because
                                 it is already in use, the user defined solution will be created with a different
                                 name which will be returned.
    Parameters:
                                 <ExistingSolutionName>
                                 Type: String
                                 Name of the existing user defined solution
                                 <NewSolutionName>
                                 Type: String
                                 Requested name for the updated user defined solution.
                                 <PluginFileLocation>
                                 See CreateUserDefinedSolution for more information.
                                 <PluginFileRelativePathName>
                                 See CreateUserDefinedSolution for more information.
                                 <PropertyValuesArray>
                                 See CreateUserDefinedSolution for more information.
                                 <ProbeSelectionArray>
                                 See CreateUserDefinedSolution for more information.
                                 <DynamicProbesArray>
                                 See CreateUserDefinedSolution for more information.
    Example:
         oModule.EditUserDefinedSolution "User Defined Solution 1",                                                                     _
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                    Introduction to Scripting in ANSYS Electronics Desktop
  ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                      of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
23               NdExplorer Script
              Commands
The definition manager controls the use of NdExplorer for HFSS scripts.
 ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                     of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ExportNetworkData [NdExplorer]
Use:                         Export the solution in a format of your choice (Citifile, Spreadsheet, Matlab)
Command:                     File > Export SYZ Data
Syntax:                      ExportNetworkData
                             "DesignName", // Design name. Can be left blank, if loading solution from a file.
                             true/false,           // true - solution loaded from file, false- loaded from design
                             "Name",                // If loading from design this is the solution name, else this is the
                                             // full path of the file from which the solution is loaded
                             "ExportFile",             // full path of file to export to
                             "variation",          // Pick a particular variation. Leave blank if no variation
                             Array("NAME:Frequencies"), // optional, if none defined all frequencies are used
                             Array("NAME:Options",                            // Export options object
                             "DataTypes:=", Array("S"),                       // DataTypes can be "S", "Y","Z", "G", and "Z0",
                                                                      // for S , Y, Z matrix, Gamma and Z0 (zero)
                             "DisplayFormat:=", "MA",                         // DisplayFormat "MA", "RI", "DB"
                             "FileType:=", "",                                  // Export File Type
                                                         // 2 - Spreadsheet(*.tab)
                                                         // 3 - Touchstone(*.sNp)
                                                         // 4 - Citifile(*.cit)
                                                        // 6 - Neutral format(*.nmf)
                                                        // 7 - Matlab format(*.m)
                             "Renormalize:=", false,                          // Renormalize true/false
                             "RefImpedance:=",50,                             // Reference Impedance
                             "Precision:=", 8,                                 // Number of digits Precision
                             "CreateNPortModel:=", true // Create a model based on the exported file true/false
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ExportNMFData [NdExplorer]
    Use:                         Export the solution in NMF format.
    Command:                     File > Export SYZ Data
    Syntax:                      ExportNMFData
                                 "DesignName", // Design name. Can be left blank, if loading solution from a file.
                                 true/false,           // true - solution loaded from file, false- loaded from design
                                 "Name",                // If loading from design this is the solution name, else this is the
                                                // full path of the file from which the solution is loaded
                                 "ExportFile",             // full path of file to export to
                                 Array("NAME:Frequencies"), // optional, if none defined all frequencies are used
                                 Array("NAME:NMFOptions",                                 // Export NMF options object
                                 "DataTypes:=", Array("S"),                       // DataTypes can be "S", "Y","Z", "G", and "Z0",
                                                                          // for S , Y, Z matrix, Gamma and Z0 (zero)
                                 "DisplayFormat:=", "MA",                         // DisplayFormat "MA", "RI", "DB"
                                 "FileType:=", "",                                  // Export File Type
                                                            // 2 - Spreadsheet(*.tab)
                                                            // 3 - Touchstone(*.sNp)
                                                            // 4 - Citifile(*.cit)
                                                           // 6 - Neutral format(*.nmf)
                                                           // 7 - Matlab format(*.m)
                                 "Renormalize:=", false,                          // Renormalize true/false
                                 "RefImpedance:=",50,                             // Reference Impedance
                                 "Precision:=", 8,                                 // Number of digits Precision
                                 "Variables:=", ARRAY("FF", "cap", "Rs") // Array of variables
                                 "Variations:=", ARRAY("", "", "") // Array of variations to export solutions for
                                 Array("NAME:ConstantVars")                          // Array of variables that are constant, can be
                                 empty
                                 Array("NAME: DependentVars")                          // Array of variables that are dependent, can be
                                 empty
                                 "MatrixSize:=", 2,                                    // Matrix size, optional (used in nmf file header)
                                 "CreateNPortModel:=", true // Create a model based on the exported file true/false
                                 )
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
24               CompInstance Script
              Commands
 ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                     of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                Definitions
    <propName> = text string
    <value> = double
    <valueText> = text string
    <fileName> = full path file name
    <choices> = string containing menu choices separated by commas
    <initialChoice> = string containing initial choice for menu; must be one of the <choices>
    <scriptName> = string containing name of script stored in project
    <bool> is 1 for true or 0 for false
    <editorName> is either "Layout" or "SchematicEditor"
    CompInstance Functions
    Following are commands that can be used to manipulate properties from a CompInstance script.
    The topics for this section include:
    GetComponentName
    GetEditor
    GetInstanceID
    GetInstanceName
    GetParentDesign
    GetPropHost
    GetPropServerName
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          GetComponentName
Use:                         Returns the name of the component corresponding to this CompInstance.
Command:                     None
Syntax:                      GetComponentName()
Return Value:                String
Example:
                             name = CompInstance.GetComponentName();
                             Returns name of component (e.g. MS_TRL) and stores it in
                             "name".
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              GetParentDesign
    Use:                         Returns an interface to the compInstance's parent design.
    Command:                     None
    Syntax:                      GetParentDesign()
    Return Value:                Returns interface to design.
    Example:                     Set oDesign2 = CompInstance.GetParentDesign();
                                 Returns the interface to the design containing the compInstance.
                                 This interface can be used to call Design functions; for more information see Nexxim
                                 Scripting or PlanarEM Scripting.
              GetPropHost
    Use:                         Returns an interface to the PropHost of the CompInstance, which gives
                                 access to its properties.
    Command:                     None
    Syntax:                      GetPropHost()
    Return Value:                Returns interface to PropHost.
    Example:                     Set oPropHost2 = CompInstance.GetPropHost();
                                 Returns the interface to the properties of the compInstance.
                                 This interface can be used to call PropHost functions; for more information see Call-
                                 back Scripting Using PropHost Object.
              GetPropServerName
    Use:                         Returns the PropServerName of the Component corresponding to this
                                 CompInstance.
    Command:                     None
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Syntax:                      GetPropServerName()
Return Value:                String
Example:
                             name = CompInstance.GetPropServerName();
                             Returns propserver name of compInstance (e.g., Comp-
                             Inst@MS_TRL;7) and stores it in "name".
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
25                             Layout Scripting
 ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                     of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
Create Primitives
    The following create primitives are available.
    CreateCircle
    CreateLine
    CreatePolygon
    CreateRectangle
    CreateText
    Parameters:                  <circle_description>:
                                      Array("NAME:Contents",
                                      "circleGeometry:=", <circle_geometry>) // object
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
description
                             <circle_geometry> :
                                  Array("LayerName:=", <layer_name>,                                            // name of the
                                  layer
                                  "lw:=",                          <value>, // border line width
                                  "x:=",                           <value>, // center x coordinate
                                  "y:=",                           <value>, // center y coordinate
                                  "r:=",                           <value>) // radius
                             <layer_id> :
                                  integer; never used in scripting
                             <object_name> :
                                  quoted string, uniquely identifying an object
                             <value> :
                                  quoted_string_parseable_as_value (e.g. “0.111mm”)
Example:
                             oEditor.CreateCircle
                             Array("NAME:Contents",
                             "circleGeometry:=",
                             Array("Layer:=", 6,
                             "Name:=",               "circle_150",
                             "LayerName:=", "Top",
                             "lw:=", "0mm",
                             "x:=", "34mm",
                             "y:=", "-15mm",
                             "r:=",           "8.60232526704263mm"))
          CreateLine (Layout Editor)
Use:                         Creates a line primitive object.
Syntax:                      CreateLine <line_description>
Return Value:                Returns the name of the newly created object.
Parameters:                  <line_description>:
                                Array("NAME:Contents",
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                        "lineGeometry:=", <line_geometry>)
                                <line_geometry> :
                                     Array("LayerName:=",<layer_name>,
                                     "lw:=",                       <value>, // line width
                                     "endstyle:=", <end_style>,
                                     "joinstyle:=",<join_style>,
                                     <vertex_sequence> )
                                <end_style> : integer
                                     FlatEnd = 0
                                     ExtendedEnd = 1
                                     RoundEnd = 2
                                <join_style> : integer
                                     UnmiteredJoin = 0
                                     MiteredJoin = 1
                                     OptimallyMiteredJoin = 2
                                     RadiallyMiteredJoin = 3
                                     ChordMiteredJoin = 4
                                <vertex_sequence>:
                                     "n:=", integer, // the total count of the vertices
                                     "x0:=",<value>, "y0:=", <value>,
                                     "x1:=",<value>, "y1:=", <value>,
                                     etc. up to vertex count)
    Example:
                                oEditor.CreateLine
                                Array("NAME:Contents",
                                "lineGeometry:=",
                                Array("Layer:=", 6,
                                "Name:=",               "line_1",
                                "LayerName:=", "Top",
                                "lw:=", "2mil",
                                "endstyle:=", 0,
                                "joinstyle:=",                     0,
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             "n:=", 4,
                             "x0:=", "-32mm", "y0:=", "2mm",
                             "x1:=", "-5mm", "y1:=", "12mm",
                             "x2:=",             "1mm", "y2:=", "-4mm",
                             "x3:=", "19mm", "y3:=", "3mm"))
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 <polygon_geometry> :
                                      Array("LayerName:=", <layer_name>,                                            // layer
                                      "lw:=",                          <value>,                        // border line width
                                      <vertex_sequence> )                                            // polygon boundary
    Example:
                                 oEditor.CreatePolygon
                                 Array("NAME:Contents",
                                 "polyGeometry:=",
                                 Array("Layer:=", 6,
                                 "Name:=",               "poly_5",
                                 "LayerName:=", "Top",
                                 "lw:=", "0mm",
                                 "n:=", 5,
                                 "x0:=", "-35mm", "y0:=", "17mm",
                                 "x1:=", "-37mm", "y1:=", "5mm",
                                 "x2:=", "-30mm", "y2:=", "8mm",
                                 "x3:=", "-30mm", "y3:=", "8mm",
                                 "x4:=", "-30mm", "y4:=", "8mm"))
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                        Array("LayerName:=", <layer_name>,
                        "x:=",                           <value>,             // origin X
                        "y:=",                           <value>,             // origin Y
                        "ang:=",                         <value>,             // rotation
                        "isPlot:=", <bool>,                             // is it plotted or not
                        "font:=",                        <font_name>,
                        "size:=",                        <value>,
                        "weight:=",                      <text_weight>,
                        "just:=",                        <text_justification>,
                        "mirror:=",                      <bool>,
                        "text:=",                        <quoted_string>)                      // text itself
                   <text_weight> : integer
                        Thin = 0,
                        ExtraLight = 1
                        Light = 2
                        Normal = 3
                        Medium            = 4
                        SemiBold = 5
                        Bold = 6
                        ExtraBold = 7
                        Heavy =8
                   <text_justification> : integer
                        LeftTop = 0
                        LeftBase = 1
                        LeftBottom = 2
                        CenterTop = 3
                        CenterBase= 4
                        CenterBottom = 5
                        RightTop = 6
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                      RightBase = 7
                                      RightBottom = 8
    Example:                     oEditor.CreateText
                                 Array("NAME:Contents",
                                 "textGeometry:=",
                                 Array("Layer:=", 6,
                                 "Name:=",               "text_6",
                                 "LayerName:=", "Top",
                                 "x:=", "-26mm",
                                 "y:=", "-16mm",
                                 "ang:=", "0deg",
                                 "isPlot:=",                 true,
                                 "font:=", "Roman",
                                 "size:=", "0.508mm",
                                 "weight:=", 3,
                                 "just:=", 4,
                                 "mirror:=",                 false,
                                 "text:=", "Sample"))
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Example:
                             oEditor.CreateCircleVoid
                             Array("NAME:Contents",
                             "owner:=", "rect_4",
                             "circle voidGeometry:=",
                             Array ("Layer:=",                        6,
                             "Name:=", "circle void_10",
                             "LayerName:=", "Top",
                             "lw:=", "0mm",
                             "x:=",           "26mm",
                             "y:=", "11mm",
                             "r:=", "1.41421356237309mm"))
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                           Introduction to Scripting in ANSYS Electronics Desktop
  Example:
                            oEditor.CreateRectangleVoid
                            Array("NAME:Contents",
                            "owner:=", "rect_4",
                            "rect voidGeometry:=",
                            Array("Layer:=", 6,
                            "Name:=", "rect void_16",
                            "LayerName:=", "Top",
                            "lw:=", "0mm",
                            "x:=",           "34.5mm",
                            "y:=", "13mm",
                            "w:=", "3mm",
                            "h:=", "2mm",
                            "ang:=", "0deg"))
         ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                             of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Syntax:                      AddCircuitRefPort
                                 Array(<"port name">, <"port name">, ...),
                                 Array("NAME:Contents",
                                 "edge:=", Array(<edge description>), "edge:=, Array(<edge description>), ...)
    Return Value:                None.
    Parameters:                  <edge description> for primitive edges
                                 <"prim">:
                                 text that is the primitive name
                                 <edge#>:
                                 integer that is the edge number on the primitive
                                 <edge description>:
                                 for via edges
                                 <"via">:
                                 text that is the name of the via to use
                                 <layer id>:
                                 an integer that is the id of the layer of the pad of the via to use
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             <"prim">:
                             text that is the primitive name
                             <edge#>:
                             integer that is the edge number on the primitive
                             <edge description>
                             for via edges
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 <"via">:
                                 text that is the name of the via to use
                                 <layer id>:
                                 an integer that is the id of the layer of the pad of the via to use
                                 <arc height>:
                                 double giving the height of the edge arc (0 for a straight edge)
                                 <radians>:
                                 double giving the arc size in radians (0 for a straight edge)
    Example:                     oEditor.AddRefPort Array("Port3"), Array("NAME:Contents",
                                 "edge:=",
                                 Array("et:=", "pe", "prim:=", "line_998", "edge:=", 0))
                                 oEditor.AddRefPort Array("Port1"), Array("NAME:Contents",
                                 "edge:=",
                                 Array("et:=", "pse", "sel:=", "via_5", "layer:=", 10,
                                 "sx:=", 0.0015, "sy:=", 0.0015,
                                 "ex:=", -0.0015, "ey:=", 0.0015, "h:=", 0, "rad:=", 0))
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   Type: text
                   Description: layer name.
                   <"port">
                   Type: text
                   Description: a port or pin name.
                   <"prim">
                   Type: text
                   Description: primitive name
                   <edge#>
                   Type: integer
                   Description: edge number on the primitive
                   <"via">:
                   text that is the name of the via to use
                   <layer id>:
                   an integer that is the id of the layer of the pad of the via to use
                   <start X location>, <start Y Location>:
                      doubles that are the X, Y location of the start point of the edge arc
                   <end X location>, <end Y Location>:
                      doubles that are the X, Y location of the end point of the edge arc
                   <arc height>:
                   double giving the height of the edge arc (0 for a straight edge)
                   <radians>:
                                                                                                              Layout Scripting 25-15
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 <"port">
                                 Type: text
                                 Description: a port or pin name.
                                 <edge description>
                                 for primitive edges
                                 "et:=", "pe", "prim:=", <"prim">, "edge:=", <edge#>
                                 <"prim">
                                 Type: text
                                 Description: primitive name
                                 <edge#>
                                 Type: integer
                                 Description: edge number on the primitive
                                 <edge description>
                                 for via edges
                                 "et:=", "pse", "sel:=", <"via">, "layer:=",                                                      <layer id>,
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             <"via">:
                             text that is the name of the via to use
                             <layer id>:
                             an integer that is the id of the layer of the pad of the via to use
                             <arc height>:
                             double giving the height of the edge arc (0 for a straight edge)
                             <radians>:
                             double giving the arc size in radians (0 for a straight edge)
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                <"port">
                                Type: text
                                Description: a port or pin name.
                                <edge description>
                                for primitive edges
                                "et:=", "pe", "prim:=", <"prim">, "edge:=", <edge#>
                                <"prim">
                                Type: text
                                Description: primitive name
                                <edge#>
                                Type: integer
                                Description: edge number on the primitive
                                <edge description>
                                for via edges
                                <"via">:
                                text that is the name of the via to use
                                <layer id>:
                                an integer that is the id of the layer of the pad of the via to use
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             <arc height>:
                             double giving the height of the edge arc (0 for a straight edge)
                             <radians>:
                             double giving the arc size in radians (0 for a straight edge)
Notes:
Each Layer mapping is specified as a single text string in quotes, “<footprint layer>:<design
layer>”. If the layer does not map to anything, use a “0” for the layer. For example, you can use
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    “Measures:0”, if the footprint “Measures” layer does not map to a design layer. Use “0:Dielec-
    tric”, if the design "Dielectric” layer does not map to a footprint layer.
    Note, also, that the “StackupLayers” and the “DrawLayers” arguments may be omitted, in which
    case, the mappings are determined automatically.
                                 <edge description>
                                 for via edges
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             <arc height>:
                                    double giving the height of the edge arc (0 for a straight edge)
                             <radians>:
                                    double giving the arc size in radians (0 for a straight edge)
                             <flag>
                                    true if the port is an external port
                                    false if the port is an internal port
Example:                     oEditor.CreateEdgePort Array("NAME:Contents", "edge:=",
                             Array("et:=", "pe",
                             "prim:=", "rect_167", "edge:=", 0), "edge:=",
                             Array("et:=", "pe", "prim:=",
                             "rect_167", "edge:=", 3), "external:=", true)
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 "VariableProp:=",
                                 Array("sides", "D", "", integer)),//side count
                                 "from_layer:=", <layer_name>,
                                 "to_layer:=",                      <layer_name>),
                                 "placement:=", <vpoint>,                                // placement position
                                 "layer:=",                <layer_name>) // placement layer
                                 <vpoint> :
                                 Array("x:=", <value>,                             // X coordinate
                                 "y:=", <value>)                      // Y coordinate
    Example:                     oEditor.CreateHole
                                 Array("NAME:Contents",
                                 Array("NAME:full_definition",
                                 "type:=", "hole",
                                 Array("NAME:Properties",
                                 "VariableProp:=",
                                 Array("radius", "D", "", "0.635mm"),
                                 "VariableProp:=",
                                 Array("sides", "D", "", "6")),
                                 "from_layer:=",                      6,
                                 "to_layer:=", 6),
                                 "placement:=", Array("x:=", "-36mm", "y:=", "-9mm"),
                                 "layer:=",                "Top")
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
                         <text_style> :
                         "name:=",                 <quoted string>, // its name
                         "isPlot:=", <bool>,
                         "font:=",                 <font_name>,
                         "size:=", double,                              // size in current units
                         "angle:=",                <value>,
                         "weight:=", <text_weight>,
                         "just:=",                 <text_justification>,
                         "mirror:=", <bool>,
                         "scales:=", <bool>))
Example:                 oEditor.CreateMeasure
                         Array("NAME:Contents",
                         "MeasurementGeometry:=",
                         Array("Layer:=",                       0,
                         "Name:=", "Measurement_2",
                         "LayerName:=", "Measures",
                         "lw:=", "0mm",
                         "sx:=", "-32mm",
                         "sy:=", "-13mm",
                         "ex:=", "32mm",
                         "ey:=", "-11mm",
                         "name:=", "<DefaultAnnotation>",
                         "isPlot:=", false,
                         "font:=", "Arial",
                         "size:=", 10,
                         "angle:=",                "0deg",
                         "weight:=", 3,
                         "just:=", 4,
                         "mirror:=", false,
                         "scales:=", false))
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 <nport_definition_name>:
                                     quoted string (name of the component definition)
                                 <component_placement>:
                                     Array("x:=",            <value>, // x coordinate
                                     "y:=",         <value>, // y coordinate
                                     "scaling:=", <value>) // double
    Example:                     oEditor.CreateNPort
                                          Array("NAME:Contents",
                                                       "definition_name:=", "NetworkData3",
                                                       "placement:=",
                                                               Array("x:=",                  "-9mm",
                                                                            "y:=", "-5mm",
                                                                            "scaling:=", "2"),
                                                       "layer:=", "Symbols",
                                                         Array("NAME:NPortData",
                                                                 Array("NAME:NetworkData2",
                                                                              "filelocation:=", "UsePath",
                                                                              "filename:=", "",
                                                                              "domain:=", "frequency",
                                                                              "numberofports:=", 2,
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                                                                          "datamode:=", "Import",
                                                                          "devicename:=", "", "
                                                                          ImpedanceTab:=", 1,
                                                                          "NoiseDataTab:=", 1,
                                                                          "DCBehaviorTab:=",                         1,
                                                                          "SolutionName:=", "",
                                                                          "dcbehavior:=", "DCOpen",
                                                                        "displayformat:=", "MagnitudePhase",
                                                                          "datatype:=", "SMatrix",
                                                                          "interptype:=", "Linear",
                                                                          "extraptype:=",                      "Same as interpola-
                             tion",
                                                                          "ShowRefPin:=", 0,
                                                                          "RefNodeCheckbox:=", 1)))
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 <n_lines>
                                 Type: integer
                                 Description: number of line definitions following
                                 <"line">
                                 Type: text
                                 Description: line name
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   <"width">
                   Type: text
                   Description: line width; value with units, e.g. "1mm"
                   <endstyle>
                   Type: integer
                   Description: end (cap) style value for the line.
                   <joinstyle>
                   Type: integer
                   Description: join style value.
                   <n_vertex>
                   Type: integer
                   Description: number of vertices in the line
                   <value>
                   Type: double
                   Description: simple value, e.g. 10
                   <n_vias>
                   Type: integer
                   Description: number of via defintions following
                   <"via">
                   Type: text
                   Description: via name
                   <"padstack">
                   Type: text
                   Description: padstack defintion name.
                   <"angle">
                   Type: text
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                <override>
                                Type: boolean (true or false)
                                Description: if true, the diameter is used to override the via hole definition.
                                <"diameter">
                                Type: text
                                Description: via hole diameter override; a value with units, e.g. "1mm"
                                <"port">
                                Type: text
                                Description: a port or pin name.
                                <edge description>
                                for primitive edges
                                "et:=", "pe", "prim:=", <"prim">, "edge:=", <edge#>
                                <"prim">
                                Type: text
                                Description: primitive name
                                <edge#>
                                Type: integer
                                Description: edge number on the primitive
                                <edge description>
                                for via edges
                                "et:=", "pse", "sel:=", <"via">, "layer:=",                                                      <layer id>,
                                 "sx:=", <start X location>, "sy:=", <start Y location>,
                                "ex:=", <end X location>,
                                "ey:=", <end Y location>, "h:=", <arc height>, "rad:=",
                                <radians>
                                <"via">:
                                text that is the name of the via to use
25-28 Layout Scripting
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             <layer id>:
                             an integer that is the id of the layer of the pad of the via to use
                             <arc height>:
                             double giving the height of the edge arc (0 for a straight edge)
                             <radians>:
                             double giving the arc size in radians (0 for a straight edge)
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 "highest_layer:=", <layer_name>,
                                 "lowest_layer:=",                        <layer_name>)
    Example:                     oEditor.CreateVia
                                          Array("NAME:Contents",
                                                       "name:=", "",
                                                       "vposition:=", Array("x:=", "-22mm", "y:=",
                                 "5mm"),
                                                       "rotation:=", 0,
                                                       "overrides hole:=", false,
                                                       "hole diameter:=", Array( "1mm"),
                                                       "ReferencedPadstack:=", "Round 1mm/0.5mm",
                                                       "highest_layer:=", "Top",
                                                       "lowest_layer:=",                       "Bottom")
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 <edit_object_info>:
                                          Array("NAME:item",
                                                       "name:=", <object_name>, // name of the object
                                           <object_description>)   // ‘new’ object state,
                                 type should be consistent with <object_name>:
                                 <object_description>:
                                          <circle_description>                                          |
                                          <rectangle_description>                                       |
                                          <line_description>                                            |
                                          <polyon_description>                                          |
                                          <text_description>                                            |
                                          <circle_void_description>                                     |
                                          <rectangle_void_description> |
                                          <line_void_description>                                       |
                                          <polyon_void_description>                                     |
                                          <component_description>                                       |
                                          <pin_description>                                             |
                                          <via_description>
    Example:
                                 oEditor.Edit Array("NAME:items", Array("NAME:item",
                                 "name:=", "circle_0", Array("NAME:contents",
                                 "circleGeometry:=", Array("Layer:=", 6,
                                 "Name:=", "circle_0", "LayerName:=", "Top",
                                 "lw:=", "0mm", "x:=", "-0.008meter",
                                 "y:=", "13.2924281984334mm", "r:=",
                                 10.2924281984334mm")))
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Array(0.01, -0.001)
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                              Introduction to Scripting in ANSYS Electronics Desktop
            ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    DistanceFromLine
    ClosestPointOnLine
              Set (Layout Editor)
    Use:                         Set both the x and y -coordinates of the Point, in meters. Return this Point.
    Syntax:                      oPoint.Set(<x>, <y>)
    Return Value:                This Point object.
    Example:                     oPoint = oPoint.Set(1e-3, 1e-3)
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                             Introduction to Scripting in ANSYS Electronics Desktop
A Layout object can be used to create an empty, and open, Polygon as:
                   oPoint = oLayout.Polygon()
The following methods are available.
AddPoint
SetClosed
IsClosed
Move
Rotate
Scale
MirrorX
GetPoints
AddHole
HasHoles
GetHoles
HasArcs
HasSelfIntersections
BBoxLL
BBoxUR
IsParametric
IsConvex
IsPoint
IsSegment
IsArc
IsBox
IsCircle
GetBoundingCircleCenter
GetBoundingCircleRadius
Area
PointInPolygon
CircleIntersectsPolygon
GetIntersectionType
           ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                               of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    GetClosestPoint
    GetClosestPoints
    Unite
    Intersect
    Subtract
    Xor
              Move(Layout Editor)
    Use:                         Translate this Polygon by the vector specified in the provided Point. Return
                                 this Polygon.
    Syntax:                      oPolygon.Move(<oPoint>)
    Return Value:                This Polygon object.
    Example:                     oPolygon = oPolygon.Move(oLayout.Point().Set(1,1))
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Syntax:                      oPolygon.IsParametric()
Example:                     isParametric = oPolygon.IsParametric()
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Syntax:                      oPolygon.GetIntersectionType(<oPolygon>)
Return Value:                Integer:
                             0 - No intersection
                             1 - This fully inside other
                             2 - Other fully inside this
                             3 - Common contour points
                             4 - Undefined intersection
Example:                     typ1 = oPolygon.GetIntersectionType(oPolygonOther) #
                             default tol=1e-9
                             typ2 = oPolygon.GetIntersectionType(oPolygonOther, 1e-6)
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                              Introduction to Scripting in ANSYS Electronics Desktop
  Example:
                               oEditor.Unite Array("NAME:primitives", "circle_0",
                               "rect_2")
            ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 CreateCS
                                 Array("NAME:Contents",
                                 Array("NAME:full_definition", "type:=", "CS", "N:=", <"CS
                                 name">),
                                 "placement:=", Array("x:=", <"x_coord">, "y:=", <"y_co-
                                 ord">),
                                 "Clf:=", <color flag>, "Col:=",                                        <color> )
                                 CreateCS
                                 Array("NAME:Contents",
                                 "Name:=", <"CS name">),
                                 "RelPos:=", Array(edge description))
    Return Value:                Text containing the name of the created relative coordinate system.
    Parameters:                  <"CS name">
                                 Text with the requested name for the relative coordinate system
                                 <x_coord>
                                 Text that is the X location for the relative coordinate system origin
                                 <y_coord>
                                 Text that is the Y location for the relative coordinate system origin
                                 <color flag>
                                 True if a color is being specified by the next parameter
25-52 Layout Scripting
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   <color>
                   Integer specifying the color for the relative coordinate system.
                   Only used if color flag is true;
                          "t:=", "pe", "from:=", <"prim">, "pos:=", <edge position>, "et:=", "pe", "prim:=",
                          <"prim">, "edge:=", <edge#>
                          <edge position>
                          double between 0 and 1, inclusive
                          0 indicates the start of the edge
                          1 indicates the end of the edge
                          values in between are positions along the edge
                   <"via">:
                          text that is the name of the via to use
                   <layer id>:
                          an integer that is the id of the layer of the pad of the via to use <start X location>,
                   <start Y Location>:
                            doubles that are the X, Y location of the start point of the edge arc <end X loca-
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 <arc height>:
                                        double giving the height of the edge arc (0 for a straight edge)
                                 <radians>:
                                        double giving the arc size in radians (0 for a straight edge)
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             PositionRelative
                             Array("NAME:Contents",
                             "RelPos:=", Array(<edge description>)),
                                                                                                                        Layout Scripting 25-55
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                PositionRelative Array("NAME:Contents",
                                "RelPos:=", Array("t:=", "pr", "from:=", <edge port or pin name>)),
                                Array("NAME:elements", <coordinate system name>, <coordinate system name>,
                                …)
                                             <edge position>
                                             double between 0 and 1, inclusive
                                             0 indicates the start of the edge
                                             1 indicates the end of the edge
                                             values in between are positions along the edge
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                                          <arc height>: double giving the height of the edge arc (0 for a straight edge)
                                          <radians>: double giving the arc size in radians (0 for a straight edge)
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
NetClass Methods
    The following net class primitives are available.
    CreateNetClass
    ModifyNetClass
    DelNetClass
    GetNetClassNets
    GetNetClasses
              CreateNetClass
    Use:                         Create a new net class into a layout.
    Command:                     CreateNetClass.
    Syntax:                      CreateNetClass (<name> <description> <nets name list>)
    Return Value:                None
    Example:                     oEditor.CreateNetClass "power", "power nets",
                                 Array("A_D2D_VDD_0", "A_D2D_VDD_1",   "A_D2D_VSS_0")
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                              Introduction to Scripting in ANSYS Electronics Desktop
            ModifyNetClass
  Use:                         Modify an existing net class in a layout.
  Command:                     ModifyNetClass
  Syntax:                      ModifyNetClass (<name> <new name> <new description> <new
                               nets name list>)
  Return Value:                None
  Example:                     oEditor.ModifyNetClass "power", "power", "new power
                               nets", Array("A_D2D_VDD_0", "A_D2D_VDD_1", "A_D2D_VSS_0",
                               "VDD_DIG_0", "VDD_DIG_1")
            DelNetClass
  Use:                         Delete a net class in a layout.
  Command:                     DelNetClass
  Syntax:                      DelNetClass (<names>)
  Return Value:                None
  Example:                     oEditor.DelNetClass Array ("power")
            GetNetClassNets
  Use:                         Gets the list of nets in a net class.
  Command:                     GetNetClassNets
  Syntax:                      GetNetClassNets (<name>)
  Return Value:                None
  Example:                     oEditor. GetNetClassNets Array ("power")
            GetNetClasses
  Use:                         Gets all the net classes in a layout.
  Command:                     GetNetClasses
  Syntax:                      GetNetClasses ()
  Return Value:                None
  Example:                     oEditor. GetNetClasses
Miscellaneous Methods
  The following miscellaneous methods are available.
            ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 <Selectability>
                                 true | false
                                 <Locked>
                                 true | false
    Example:
                                 oDefinitionEditor.AddLayer Array("NAME:layer", "Name:=",
                                 "junk footprint", _
                                  "Type:=", "soldermask", "Top Bottom:=", "neither",
                                 "Color:=", 4144959, _
                                 "Pattern:=", 1, "Visible:=", true, "Selectable:=", true,
                                 "Locked:=", false)
              Note As with other Layout scripting interface commands that modifiy the layout, this command is
              not intended for use within scripts that define footprints. The command behavior from within such
              a script is undefined and may be unexpected. Use the LayoutHost scripting interface commands
              within scripts that define footprints.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Command:                     None.
Syntax:                      AlignPorts Array ("NAME: elements",
                                             <object_name>, // 1st object
                                             <object_name>, // 2nd object, if any
                                             …)                // etc
Return Value:                None.
Parameters:                  The LayoutComp's ID
Example:                     oEditor.Paste Array ("NAME:elements", "1", "2")
                                                      oEditor.Paste Array
                             ("NAME:elements")
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                "MajorSize:=", "20", _
                                       "MinorSize:=", "1", "MajorColor:=",                                            8421376, _
                                "MinorColor:=", 16776960,                                 _
                                       "ShowGrid:=", false, "PageExtent:=", _
                                Array(           -0.3, -0.1, 0.1, 0.1),                                _
                                       "background color:=", 4194368, _
                                "DefaultToSketchMode:=",                                true, _
                                       "fillMode:=", false, "PixelSnapTolerance:=", 22, _
                                "SnapTargetVertex_on:=",                                _
                                       false, "SnapTargetEdgeCenter_on:=", false, _
                                "SnapTargetObjCenter_on:=", _
                                       true, "SnapTargetEdge_on:=", true, _
                                "SnapTargetElecConnection_on:=", true, _
                                       "SnapTargetIntersection_on:=",                                      true, _
                                "SnapTargetGrid_on:=", false, _
                                       "SnapSourceVertex_on:=", false, _
                                "SnapSourceEdgeCenter_on:=",                                     false,           _
                                       "SnapSourceObjCenter_on:=", true, _
                                "SnapSourceEdge_on:=", true, _
                                       "SnapSourceElecConnection_on:=",                                         true, _
                                "ConstrainToGrid:=", false _
                                "defaultholesize:=", "5mil",                                     _
                                       "show connection points:=", true, _
                                "display vertex labels:=", true, _
                                "NetColor:=", 8421440,                              _
                                       "rectangle description:=", 1, "snaptoport:=", false, _
                                "sym footprint scaling:=", _
                                       0.385, "primary selection color:=",                                            32768, _
                                "secondary selection color:=", _
                                       22784, "preview selection:=", true, "anglesnap:=", _
                                "59deg", "AllowDragOnFirstClick:=", true, _
                                "useFixedDrawingResolution:=", true, _
                                       "DrawingResolution:=",                             "0.002mm", "Tol:=", _
                                Array(3E-009, 1.5E-008, 1E-012))
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                           Introduction to Scripting in ANSYS Electronics Desktop
Note: An error will be returned if this script command is not used at the top-level hierarchy.
         ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                             of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
       ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
                          Extent. Designer will instead generate a polygonal shape around all nets which are
                          not clipped.
                          Expansion — double; similar to the Auto Generate Extent Dialogue. However, this is
                          always a unitless fraction. By default it is set to .1.
                          RoundCorner — boolean; identical to the Auto Generate Dialogue. By default this is
                          set to true. In general, rounded corners are preferred when the cutout shape has acute
                          or nea-acute angles
                          Increments — integer; this is from the Auto Generate Dialogue, and by default is set
                          to true. This can greatly increase the running time and a small increase can make a
                          big difference. It is probably best to experiment with this parameter first, rather than
                          set it arbitrarily.
                          ExtentSel— an array of extent polygon names.
                          Extent — alternative to ExtentSel; an explicit polygon defined by coordinates.
                          cl — must always be true; indicates that the polygon is closed.
                          U — coordinate units, e.g. "mm"
                          pt — array of coordinate values.
                          x — x coordinate value
                          y — y coordinate value
                          Nets — the net information.
                          net — array of net information.
                          <”net-name”>
                                "<no net trace>" — special value referring to traces not in a net.
                                "<no net fill>" — special value refereeing to fill polygons not in a net.
                                <design>:<net> — net within a particular design.
                                <net> — net within the active design.
                          <clip> — boolean true/false; if true, the net is clipped against the extent else the net is
                          included but not clipped.
Return Value:             None
Example:                  Example using "extent_poly" as the selection extent:
                          oEditor.CutOutSubDesign Array("NAME:Params",
                          "Name:=", "EMDesign1_cutout",
                          "EMDesign:=",                   true,
                          "SubDesign:=", false,
                          "Within:=", true,
                          "Without:=", false,
                          "ExtentSel:=", Array("extent_poly", …),
                          Array("NAME:Nets",
       ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                name>_<page>.ger
                                <"units">
                                Type: text
                                Description: unit code, e.g. "in", "mm", etc.
                                <integer places>
                                Type: integer
                                Description: number of integer places to use when formatting the numerical output.
                                <decimal places>
                                Type: integer
                                Description: number of decimal places to use when formatting the numerical output.
                                <"suppress">
                                Type: text
                                Description: either "Leading Zeros", or "Trailing Zeros".
                                <page>
                                Type: integer
                                Description: Gerber page number
                                <"layer">
                                Type: text
                                Description: Designer layers to be exported to the specified Gerber page.
    Example:
                                Set oDesign = oProject.SetActiveDesign("PlanarEM1")
                                Set oEditor = oDesign.SetActiveEditor("Layout")
                                oEditor.ExportGerber
                                Array("NAME:options",
                                "FileName:=", "C:/ Projects/design.ger",
                                "Units:=", "in",
                                "IntPlace:=", 5,
                                "DecimalPlace:=", 5,
                                "Suppress:=", "Leading Zeros",
                                Array("NAME:GerberPages", "1:=", Array("Ground"), "2:=",
                                Array("Top") ))
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             "PlacementLayer=string"
                             "LocationX=number"
                             "LocationY=number"
                             "BBoxLLx=number"
                             "BBoxLLy=number"
                             "BBoxURx=number"
                             "BBoxURy=number"
                             "Angle=number" (in degrees)
                             "Flip=true or false"
                             "Scale=number"
Parameters:                  The LayoutComp's ID
Example:                     dim info
                                                                                     sys= oEditor.GetComponentInfo
                             (“1”)
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
dim pins
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             The following are also in the array if the layer is a stackup layer:
                             Index: integer [the stackup order index]
                             LayerThickness: double [total layer thickness, in meters]
                             EtchFactor: double [won't show if the layer has no etch factor defined]
                             IsIgnored: "true"|"false"
                             NumberOfSublayers: 1 [always 1]
                             Material0: materialName
                             FillMaterial0: materialName
                             Thickness0: expression_with_units
                             LowerElevation0: expression_with_units
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 Roughness0Type: Groisse | Huray [won't show if the layer has no roughness defined]
                                 Roughness0: expression_with_units | expression_with_units, double [Groisse rough-
                                 ness or Huray roughness]
    Parameters:                  The name of the layer
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             <name>
                             Text containing the name of the pin or port
                             <X coordinate>
                             Double indicating the X location of the pin or port location
                             <Y coordinate>
                             Double indicating the Y location of the pin or port location
                             <connection description>
                                                                                                                        Layout Scripting 25-89
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                <direction>
                                Either NONE or a double giving the angle in degrees for the connection
                                direction
                                <layer name>
                                Name of the layer for the connection point being described.
                                Name=Pin1
                                Type=Pin, Padstack: Padstack
                                X=0.000744
                                Y=0.015537
                                ConnectionPoints= 0.000744 0.015537 Dir:NONE Layer: Top;
                                0.000744 0.015537
                                Dir:NONE Layer: Ground; 0.000744 0.015537 Dir:NONE Layer:
                                Bottom
                                NetName=Pin1
                                Name=Port1
                                Type=EdgePort
                                X=-0.008120
                                Y=0.004264
                                ConnectionPoints= -0.008120 0.004264 Dir:90.000000 Layer:
                                Bottom
                                NetName=Port1
    Parameters:                 <"name">
                                Text that contains the name of the port or pin for which information is being
                                requested.
    Example:
                                Dim conns
                                conns = oEditor.GetPortInfo("Port1")
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
Parameters: None.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          Note As with other Layout scripting interface commands that modifiy the layout, this command is
          not intended for use within scripts that define footprints. The command behavior from within such
          a script is undefined and may be unexpected. Use the LayoutHost scripting interface commands
          within scripts that define footprints.
          RemovePortsOnComponents (Layout Editor)
Use:                         Remove ports on port instances of selected components.
Command:                     Right-Click-Menu > Port > Remove Ports From Component
Syntax:                      RemovePortsOnComponentsArray("NAME:elements", "element-
                             name",…)
Return Value:                None
Parameters:                  <element-name>
                             Type: string
                             // Name of a component.
                             // Ports are removed from the port instances of the selected components.
Example:                     Example:
                             oEditor.RemovePortsOnComponentsArray("NAME:elements",
                             "0")
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              SetPropertyValue (Layout Ed
    itor)
    Use:                         Sets the value of one property. This is not supported for properties of the
                                 following types: ButtonProp, PointProp, and VPointProp. Only the
                                 ChangeProperty command can be used to modify these properties. This can
                                 be executed by the oProject, oDesign, or oEditor objects.
    Command:                     None
    Syntax:                      SetPropertyValue <PropTab>, <PropServer>, <PropName>,
                                 <PropValue>
    Return Value:                None
    Parameters:                  <PropValue>
                                 Type: String
                                 Contains the value to set the property. The formatting is different
                                 depending on what type of property is being edited. Use
                                 GetPropertyValue for the desired property to see the expected
                                 format.
    Example:                     oEditor.SetPropertyValue _
                                 “BaseElementTab”,“rect_1”,_
                                 “LineWidth”, “3mm”
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
26                             Schematic Scripting
                    The Schematic scripting interface is a set of commands that match the data
                    changing methods available in the UI of the Schematic, plus some selection
                    and query methods. Examples of the commands available through the
                    scripting interface are adding items, removing items, and modifying items
                    on the Schematic. Identifying objects on the Schematic is done by a unique
                    ID that is generated and returned by all methods that add objects, and by
                    the FindElements and GetSelections methods. This ID can then be passed
                    into commands to modify or remove Schematic objects. Since most Sche-
                    matic objects can have sub-components (such as property displays or seg-
                    ments on a wire, etc), IDs can also be in the format of
                    "TopLevelID:SubComponentIndex". The SubComponentIndex is a one-based
                    index into the sub components of the item thus making the second segment
                    of component CAP1 identified by "CAP1:2". A SubComponentIndex of zero
                    will refer to the TopLevel item only. When an ID is mentioned later in this
                    document, it will refer to either a simple string ID representing a top-level
                    Schematic item or a "TopLevelID:SubComponentIndex" pair unless otherwise
                    stated. If a specified ID or SubComponentIndex does not exist, then the
                    function will ignore that entry and proceed with other specified IDs. Even if
                    no valid IDs are specified, the functions will still return success.
 ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                     of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
Method Format
    In the following formats, [Opt=x] appearing after a parameter indicates that the parameter is
    optional and the default value is x.
    When calling object-creation methods as functions, parenthesis are required in order to retrieve
    the name of the created object. Parenthesis are also required in JavaScript. When using VB/
    VBScript to call a method as a subroutine, however, parenthesis are not required.
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
ID Format
When IDs are passed to a function it can be in one of the following formats:
•   Array of integers of top-level items only
•   String of IDs separated by spaces or commas
•   Array of strings with each string element being an ID
Point Format
When a method takes an array of points, each element in the array is a string in the format of:
“x y”, “x,y”, or “(x,y)”.
       ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
Find this information in the Properties Window for the selected object as follows:
    In the Layout, the ID for a selected object is always the Name or Net property in the Footprint
    tab of the Properties Window
             Format for Components
         Array("CompInst@CAP_;2;4"))
    The format for Components is CompInst@<CompName>;<compInstID>;<optional schematicID>. In
    the documented example, <CompName> stands for the component name CAP_, <compInstID>
    stands for its ID 2, and <optional schematicID> is the schematic ID 4. If you select the compo-
    nent, the Properties window gets updated and displays its details. For example, the selected
    object’s component name and ID appear in the General tab of the Properties window as shown
    below.
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
Example:
   ' ----------------------------------------------
   ' Script Recorded by ANSYS Electronics Desktop Version 2015.0.0
   ' 10:37:08            Oct 30, 2014
   ' ----------------------------------------------
   Dim oAnsoftApp
   Dim oDesktop
   Dim oProject
   Dim oDesign
   Dim oEditor
   Dim oModule
   Set oAnsoftApp = CreateObject("Ansoft.ElectronicsDesktop")
   Set oDesktop = oAnsoftApp.GetAppDesktop()
   oDesktop.RestoreWindow
   Set oProject = oDesktop.SetActiveProject("Project4")
   Set oDesign = oProject.SetActiveDesign("Circuit1")
   Set oEditor = oDesign.SetActiveEditor("SchematicEditor")
   Dim ArcID
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Example:
         ' -------------------------------------------------------------
         ' Script Recorded by ANSYS Electronics Desktop Version 2015.0.0
         ' 10:07:39              Oct 30, 2014
         ' -------------------------------------------------------------
         Dim oAnsoftApp
         Dim oDesktop
         Dim oProject
         Dim oDesign
         Dim oEditor
         Dim oModule
         Set oAnsoftApp = CreateObject("Ansoft.ElectronicsDesktop")
         Set oDesktop = oAnsoftApp.GetAppDesktop()
         oDesktop.RestoreWindow
         Set oProject = oDesktop.SetActiveProject("Project4")
         Set oDesign = oProject.SetActiveDesign("Circuit1")
         Set oEditor = oDesign.SetActiveEditor("SchematicEditor")
         Dim CompID
         CompID = oEditor.CreateComponent(Array("NAME:ComponentProps",
         "Name:=", _
           "Nexxim Circuit Elements\Capacitors:CAP_", "Id:=", "4"),
         Array("NAME:Attributes", "Page:=", _
            1, "X:=", 0.11176, "Y:=", 0.0635, "Angle:=", 0, "Flip:=", false))
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                          Introduction to Scripting in ANSYS Electronics Desktop
Example:
                           Dim oAnsoftApp
                           Dim oDesktop
                           Dim oProject
                           Dim oDesign
                           Dim oEditor
                           Dim oModule
                           Set oAnsoftApp = CreateObject("Ansoft.ElectronicsDesk-
                           top")
                           Set oDesktop = oAnsoftApp.GetAppDesktop()
                           oDesktop.RestoreWindow
        ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                            of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Example:
                             Dim oAnsoftApp
                             Dim oDesktop
                             Dim oProject
                             Dim oDesign
                             Dim oEditor
                             Dim oModule
                             Set oAnsoftApp = CreateObject("Ansoft.ElectronicsDesk-
                             top")
                             Set oDesktop = oAnsoftApp.GetAppDesktop()
                             oDesktop.RestoreWindow
                             Set oProject = oDesktop.SetActiveProject("Project4")
                             Set oDesign = oProject.SetActiveDesign("Circuit1")
                             Set oEditor = oDesign.SetActiveEditor("SchematicEditor")
                             Gnd = oEditor.CreateGround(Array("NAME:GroundProps",
                             "Id:=", 144), Array("NAME:Attributes", "Page:=", _
                               1, "X:=", 0.11684, "Y:=", 0.06604, "Angle:=", 0,
                             "Flip:=", false))
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                     Array(“NAME:LineData”                               _
                                  “Points:=”, Array of points, _
                                  “Id:=”, int),                                // [Opt=New id] Id for this item
                     Array(“NAME:Attributes”, _
                                  “Page:=”, int)                             _ // [Opt=1] Page number (one-based)
                                )
    Return Value:               Line is created and the returned value has the format
                                SchObj@<schematicID>
    The Schematic ID can be found on the Symbol tab of the Properties window when you select the
    line.
    Example:
                                Dim oAnsoftApp
                                Dim oDesktop
                                Dim oProject
                                Dim oDesign
                                Dim oEditor
                                Dim oModule
                                Set oAnsoftApp = CreateObject("Ansoft.ElectronicsDesk-
                                top")
                                Set oDesktop = oAnsoftApp.GetAppDesktop()
                                oDesktop.RestoreWindow
                                Set oProject = oDesktop.SetActiveProject("Project4")
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             <nport_definition_name>:
                                      quoted string (name of the component definition)
                             <component_placement>:
                                      Array("x:=",                             <value>, // x coordinate
                                      "y:=",                      <value>, // y coordinate
                                      "scaling:=", <value>) // double
Return Value:                Returns the name of the newly created component.
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                                  "y:=", "-5mm",
                                                  "scaling:=", "2"),
                             "layer:=", "Symbols",
                               Array("NAME:NPortData",
                                        Array("NAME:NetworkData2",
                                                     "filelocation:=", "UsePath",
                                                     "filename:=", "",
                                                     "domain:=", "frequency",
                                                     "numberofports:=", 2,
                                                     "datamode:=", "Import",
                                                     "devicename:=", "", "
                                                     ImpedanceTab:=", 1,
                                                     "NoiseDataTab:=", 1,
                                                     "DCBehaviorTab:=",                        1,
                                                     "SolutionName:=", "",
                                                     "dcbehavior:=", "DCOpen",
                                                     "displayformat:=", "MagnitudePhase",
                                                     "datatype:=", "SMatrix",
                                                     "interptype:=", "Linear",
                                                     "extraptype:=",                     "Same as interpolation",
                                                     "ShowRefPin:=", 0,
                                                     "RefNodeCheckbox:=", 1)))
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
   )
Return Value:             The pageport is created and it has the following format:
   PagePort@<portName>;<schematicID>
The schematic ID can be found in the Properties window on the Symbols tab when you select
the pageport.
Example:
                          Dim oAnsoftApp
                          Dim oDesktop
                          Dim oProject
                          Dim oDesign
                          Dim oEditor
                          Dim oModule
                          Set oAnsoftApp = CreateObject("Ansoft.ElectronicsDesk-
                          top")
                          Set oDesktop = oAnsoftApp.GetAppDesktop()
                          oDesktop.RestoreWindow
                          Set oProject = oDesktop.SetActiveProject("Project4")
                          Set oDesign = oProject.SetActiveDesign("Circuit1")
                          Set oEditor = oDesign.SetActiveEditor("SchematicEditor")
                          PagePortID = oEditor.CreatePagePort(Array("NAME:PagePort-
                          Props", "Name:=", "pageport_0", "Id:=", _
                            177), Array("NAME:Attributes", "Page:=", 1, "X:=",
                          0.0889, "Y:=", 0.1651, "Angle:=", _
       ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                      0, "Flip:=", false))
                                 MsgBox "PagePort = " & PagePortID
    Return Value:                Interface port is created and the returned value has the following format:
                                 IPort@<portName>;<schematicID>
                                 The interface port schematic ID can be found in the Properties window on
                                 the Symbols tab.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Example:
                             Dim oAnsoftApp
                             Dim oDesktop
                             Dim oProject
                             Dim oDesign
                             Dim oEditor
                             Dim oModule
                             Set oAnsoftApp = CreateObject("Ansoft.ElectronicsDesk-
                             top")
                             Set oDesktop = oAnsoftApp.GetAppDesktop()
                             oDesktop.RestoreWindow
                             Set oProject = oDesktop.SetActiveProject("Project4")
                             Set oDesign = oProject.SetActiveDesign("Circuit1")
                             Set oEditor = oDesign.SetActiveEditor("SchematicEditor")
                             IPortID = oEditor.CreateIPort(Array("NAME:IPortProps",
                             "Name:=", "Port1", "Id:=", 189), Array("NAME:Attributes",
                             "Page:=", _
                               1, "X:=", 0.0889, "Y:=", 0.1651, "Angle:=", 0,
                             "Flip:=", false))
                             MsgBox "IPort ID = " & IPortID
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Example:
                                Dim oAnsoftApp
                                Dim oDesktop
                                Dim oProject
                                Dim oDesign
                                Dim oEditor
                                Dim oModule
                                Set oAnsoftApp = CreateObject("Ansoft.ElectronicsDesk-
                                top")
                                Set oDesktop = oAnsoftApp.GetAppDesktop()
                                oDesktop.RestoreWindow
                                Set oProject = oDesktop.SetActiveProject("Project4")
                                Set oDesign = oProject.SetActiveDesign("Circuit1")
                                Set oEditor = oDesign.SetActiveEditor("SchematicEditor")
                                polygonID = oEditor.CreatePolygon(Array("NAME:Polygon-
                                Data", "Points:=", Array( _
                                  "(0.101600, 0.058420)", "(0.101600, 0.060960)",
                                "(0.101600, 0.058420)", _
                                  "(0.099060, 0.060960)", "(0.101600, 0.060960)",
                                "(0.101600, 0.058420)", _
                                  "(0.101600, 0.060960)", "(0.101600, 0.060960)"), "Line-
                                Width:=", 0, "BorderColor:=", _
                                 0, "Fill:=", 0, "Color:=", 0, "Id:=", 218),
                                Array("NAME:Attributes", "Page:=", 1))
                                MsgBox "Polygon ID = " & polygonID
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Example:
                             Dim oAnsoftApp
                             Dim oDesktop
                             Dim oProject
                             Dim oDesign
                             Dim oEditor
                             Dim oModule
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
Example:
   Dim oAnsoftApp
   Dim oDesktop
   Dim oProject
   Dim oDesign
   Dim oEditor
   Dim oModule
   Set oAnsoftApp = CreateObject("Ansoft.ElectronicsDesktop")
   Set oDesktop = oAnsoftApp.GetAppDesktop()
   oDesktop.RestoreWindow
   Set oProject = oDesktop.SetActiveProject("Project4")
   Set oDesign = oProject.SetActiveDesign("Circuit1")
   Set oEditor = oDesign.SetActiveEditor("SchematicEditor")
   textobj = oEditor.CreateText(Array("NAME:TextData", "X:=", 0.10414,
   "Y:=", 0.06604, "Size:=", _
     12, "Angle:=", 0, "Text:=", "CreateDefaultTectxt" & Chr(13) &
   Chr(10) & "", "Color:=", _
     0, "Id:=", 286, "ShowRect:=", false, "X1:=", 0.100141851851836,
   "Y1:=", _
     0.0670983333333376, "X2:=", 0.140123333333477, "Y2:=",
   0.0565149999999619, "RectLineWidth:=", _
     0, "RectBorderColor:=", 0, "RectFill:=", 0, "RectColor:=", 0),
   Array("NAME:Attributes", "Page:=", _
     1))
   MsgBox "text = " & textobj
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Return Value:                Wire is created and its return value has the format
                                 Wire@<netName>;<schematicID>;<segment index list>
                                 The Schematic ID can be found in the Symbol tab of the Properties window
                                 when you select the wire. The wire net name appears in the General tab.
                                 The parameter segment index list indicates the number of segments i.e. the
                                 segment count.
    Example:
                                 Dim oAnsoftApp
                                 Dim oDesktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                           Introduction to Scripting in ANSYS Electronics Desktop
                            Dim oProject
                            Dim oDesign
                            Dim oEditor
                            Dim oModule
                            Set oAnsoftApp = CreateObject("Ansoft.ElectronicsDesk-
                            top")
                            Set oDesktop = oAnsoftApp.GetAppDesktop()
                            oDesktop.RestoreWindow
                            Set oProject = oDesktop.SetActiveProject("Project4")
                            Set oDesign = oProject.SetActiveDesign("Circuit1")
                            Set oEditor = oDesign.SetActiveEditor("SchematicEditor")
                            WireID = oEditor.CreateWire(Array("NAME:WireData",
                            "Name:=", "", "Id:=", 261, "Points:=", Array( _
                              "(0.101600, 0.063500)", "(0.106680, 0.063500)",
                            "(0.106680, 0.060960)")), Array("NAME:Attributes",
                            "Page:=", _
                                 1))
                            MsgBox "Wire ID = " & WireID
         ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                             of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
       ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
         Note: For more information about the component name, schematic IDs, and formats, see
         the section Editor Scripting IDs.
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                          Introduction to Scripting in ANSYS Electronics Desktop
Note: For more information about the component name, schematic IDs, and formats, see the
section Editor Scripting IDs.
       ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
       ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
         Note: For more information about the component name, schematic IDs, and formats, see
         the section Editor Scripting IDs.
         Array
         // Array of strings containing names of electric rules to perform.
         // Valid names are:
         // "PinRule": Checks for components with unconnected pins
         // "OutputPinRule": Checks for nets with more than one output pin
         bool
         // True if this should check all subcircuits
         // False if this should just check this circuit
    Note: For more information about the component name, schematic IDs, and formats, see the
    section Editor Scripting IDs.
              ExportImage (Schematic Editor)
    Use:                         To export a picture for a specified page of the current design to a file. The
                                 image size can also be specified. The filename extension determines the
                                 type of image exported.
    Command:                     Product > Add Subcircuit
    Syntax:                      ExportImage (<filename>, <pagenum>, <dx>, <dy>)
    Return Value:                None
    Parameters:                  <filename>
                                 Type: String
                                 The name of the file, with format-specific extension. Extensions supported are: bmp,
                                 gif, jpg, jpeg, png, tif, tiff.
                                 <pagenum>
26-32 Schematic Scripting
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
                          Type: Integer
                          The page number of the current schematic. Page numbers start at 1. If the number is
                          out of range, the current schematic page will be printed.
                          <dx>
                          Type: Integer
                          The width of the image. If dx is less than 160, 160 will be used for the width.
                          <dy>
                          Type: Integer
                          The height of the image. If dy is less than 160, 160 will be used for the height.
Example:                  oEditor.ExportImage "c:\mysch.png", 1, 800, 400
Note: For more information about the component name, schematic IDs, and formats, see the
section Editor Scripting IDs.
       FindElements (Schematic Editor)
   // Select elements based on properties
   FindElements(
   ARRAY props, // specified properties
   ARRAY params) // specified parameters
Note: For more information about the component name, schematic IDs, and formats, see the
section Editor Scripting IDs.
       GridSetup (Schematic Editor)
   // Changes the settings on the schematic grid
   GridSetup(
                      Array("NAME:Options", _
                                   "MajorGrid:=", string, _                                    // Major grid size with
   units
                                   "Divisions:=", int, _                                       // Number of minor grid
   divisions
                                 "MajorColor:=", int, _                                     // RGB Color of major grid
   lines
                                 "MinorColor:=", int, _                                     // RGB Color of minor grid
   lines
                               "ShowGrid:=", bool, _                                      // Should the grid be shown?
                                  "SnapToGrid:=", bool, _                                    // Should objects snap to
   grid?
                                   "BackgroundColor:=", int, _ // RGB Color of the back-
   ground
       ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
For example:
         oEditor.GridSetup Array(
         "NAME:Options", _
         "MajorGrid:=", "10mm", _
         "Divisions:=", 10, _
         "MajorColor:=", 0x00ff0000, _ // Red
         "MinorColor:=", 0x0000ff00, _ // Green
         "ShowGrid:=", true, _
         "SnapToGrid:=", true, _
         "BackgroundColor:=", 0x00ffffff, _ // White
         "SaveAsDefault:=", false)
    Note: For more information about the component name, schematic IDs, and formats, see the
    section Editor Scripting IDs.
             FlipHorizontal (Schematic Editor)
         // Flip items about the horizontal (x) axis
         FlipHorizontal(
                              Array(“NAME:Selections”, _
                                           “Page:=”, page number, _                                // [Opt=1] Page number
                                           “Selections:=”, IDs to modify)),
                              Array(“NAME: FlipParameters”, _
                              “Disconnect:=”, bool                          _     // [Opt=0] Should wires disconnect
                               “Rubberband:=”, bool) _                              // [Opt=1] Should wires staircase
    Note: For more information about the component name, schematic IDs, and formats, see the
    section Editor Scripting IDs.
             FlipVertical (Schematic Editor)
         // Flip items about the vertical (y) axis
         FlipVertical(
                              Array(“NAME:Selections”, _
                                           “Page:=”, page number, _                                // [Opt=1] Page number
                                           “Selections:=”, IDs to modify)),
                              Array(“NAME:FlipParameters”, _
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                           Introduction to Scripting in ANSYS Electronics Desktop
       ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
Example: Examples:
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
Note If no frequencies are specified, all frequencies from the solution are used.
    Note: For more information about the component name, schematic IDs, and formats, see the
    section Editor Scripting IDs.
             Rotate (Schematic Editor)
         // Rotate items
         Rotate(
                     Array(“NAME:Selections”, _
                                  “Page:=”, page number, _                                // [Opt=1] Page number
                                  “Selections:=”, IDs to modify)),
                     Array(“NAME:RotateParameters”, _
                                “Disconnect:=”, bool _                            // [Opt=0] Should wires disconnect
                                 “Rubberband:=”, bool _                             // [Opt=1] Should wires staircase
                                  “Angle:=”, double)                                  // [Opt=/2] Angle to rotate
                                                        // Note: Rotation occurs around center of ids
    Note    When you record a script, the schematic editor's Rotate command shows the
            rotation angle for some older scripts in radians, while newer scripts show
            rotation angle in degrees.
    Note: For more information about the component name, schematic IDs, and formats, see the
    section Editor Scripting IDs.
             SelectAll (Schematic Editor)
         // Select all elements on the given page.
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
   SelectAll(
   int pageNum)                                            // Page number
type
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
         method
         // string argument specifying sort method: “By Name”, “Left to Right”,
         or “Signal Flow”
    Note: For more information about the component name, schematic IDs, and formats, see the
    section Editor Scripting IDs.
             ZoomArea (Schematic Editor)
         // Zoon Area
         ZoomArea(
         Array(double, _                     // Base X value of the area to zoom into
                                       double), _               // Base Y value of the area to zoom into
                          Array(double, _                       // X size of the area to zoom
                                       double))                 // Y Size of the area to zoom
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                     Introduction to Scripting in ANSYS Electronics Desktop
   ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                       of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Notes:
1. This function is only available with the schematic editor.
2. Calling this function on non-numeric properties (e.g. Text properties) returns 0.
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             "BBoxLLx=number"
                             "BBoxLLy=number"
                             "BBoxURx=number"
                             "BBoxURy=number"
                             "Angle=number" (in degrees)
                             "Flip=true or false"
                             "Scale=number"
Parameters:                  The LayoutComp's ID
Example:                     dim info
                                                                                     sys= oEditor.GetComponentInfo
                             (“1”)
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
27               Definition Manager Script
              Commands
 ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                     of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
                          "NumberProp:=", <NumberInfo>,
                          "SeparatorProp:=", <SeparatorInfo>,
                          "ValueProp:=", <ValueInfo>,
                          "MenuProp:=", <MenuInfo>),
                          Array("NAME:Properties",                      // any combo of the following
                          "CheckboxProp:=", <CheckBoxInfo>,
                          "TextProp:=", <TextInfo>,
                          "NumberProp:=", <NumberInfo>,
                          "SeparatorProp:=", <SeparatorInfo>,
                          "ValueProp:=", <ValueInfo>,
                          "MenuProp:=", <MenuInfo>),
                          "VPointProp:=", <VPointInfo>,
                          "PointProp:=", <PointInfo>),
                          Array("Quantities",
                          "QuantityProp:=", <QuantityPropInfo>...),
                          Array("NAME:CosimDefinitions",
                          <CosimDefInfo>,
                          <CosimDefInfo>...)
Return Value:             <string>
                          // composite name of the component.
                          // If the name requested conflicts with the name of an existing
                          // component, the requested name is altered to be unique.
                          // The name returned reflects any change made to be unique.
Parameters:               <ComponentName>:
                          <string> // simple name of the component
                          <ComponentInfo>:
                          Array("Type:=", <TypeInfo>,
                          "NumTerminals:=", <int>,
                          "DataSource:=", <string>,
                          "ModifiedOn:=", <ModifiedOnInfo>,
                          "Manufacturer:=", "<string>,
                          "Symbol:=", <string>,
                          "Footprint:=", <string>,
       ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                "Description:=", <string>,
                                "InfoTopic:=", <string>,
                                "InfoHelpFile:=", <string>,
                                "IconFile:=", <string>,
                                "LibraryName:=", ““,
                                "OriginalLocation:=", “Project”,                  // Project Location
                                "Author:=", <string>,
                                "OriginalAuthor:=", <string>,
                                "CreationDate:= ", <int>)
                                 <TypeInfo>:
                                An integer that is the or-ing of bits for each product listed below. The default setting
                                is 0xffffffff (4294967295) which indicates valid for all products. In the component
                                editing dialog, checking different boxes in the "Specify products for which this com-
                                ponent is valid" grid control sets specific flags that correspond to the following hex/
                                decimal settings:
                                Nexxim -- 100 binary, 4 decimal, 0x4
                                SIwaveDeNovo -- 1000 binary, 8 decimal, 0x8
                                Simplorer -- 10000 binary, 16 decimal, 0x10
                                MaxwellCircuit -- 100000 binary, 32 decimal, 0x20
                                 <ModifiedOnInfo>:
                                An integer that corresponds to the number of seconds that have elapsed since 00:00
                                hours, Jan 1, 1970 UTC from the system clock.
                                <TerminalInfo>:
                                Array(<string>,           // symbol pin
                                <string>        // footprint pin
                                <string >, // gate name
                                <bool>,         // shared
                                <int>,          // equivalence number
                                <int>,          // what to do if unconnected: flag as error:0, ignore:1
                                <string>        // description
                                <Nature>)
<Nature>:
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   Nexxim/Designer:
                   "Electrical"         // the only choice
                   Simplorer:
                   // several choices
                   "Electrical", "Magnetic", "Fluidic", "Translational",
                   "Translational_V", "Rotational", "Rotational_V",
                   ""Radiant", "Thermal", or <VHDLPackageName>
                   <VHDLPackageName>:
                   <string> // in the form <Library>.<Package>
                   <Library>:
                   <string> // name of the VHDL library
                   <Package>:
                   <string> // name of the VHDL package
                   <VariableInfo>:
                   Array(<string>,                            // name
                   <FlagLetters>,
                   <string>,                       // description
                   "CB:=", <string>,              // optional - script for call back
                   <string>)                 // value: number, variable, or expression
                   <FlagLetters>:
                   <string> // "D" - has description parameter,
                   // "RD" - readonly & has description parameter,
                   // or "RHD" - readonly, hidden, & has description parameter
                   <CheckBoxInfo>:
                   Array(<string>,                            // name
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                <FlagLetters>,
                                <string>,                       // description
                                "CB:=", <string>,              // optional - script for call back
                                <bool>)                         // value: true or false
                                <ButtonInfo>:
                                Array(<string>,                            // name
                                <FlagLetters>,
                                <string>,                       // description
                                <string>,                      // button title
                                <string>,                      // extra text
                                <ClientID>,
                                "ButtonPropClientData:= ", <ClientDataArray>)
                                <ClientID>:
                                <int>       // specifies Button Prop Client
                                // 0 - unknown, ButtonPropClientData
                                //      array will be empty
                                // 1 - Netlist Prop Client
                                // 2 - not used
                                // 3 - File Name Prop Client
                                <ClientDataArray>:
                                varies with <ClientID>
                                <ClientID> is 3:
                                Array("InternalFormatText:=", "<prefix><RelativePath>")
                                <prefix>:
                                <string> // "<Project>", "<PersonalLib>", "<UserLib>", or "<SysLib>"
<RelativePath>:
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   <TextInfo>:
                   Array(<string>,                            // name
                   <FlagLetters>,
                   <string>,                        // description
                   "CB:=", <string>,              // optional - script for call back
                   <string>)                       // value: a text string
                   <NumberInfo>:
                   Array(<string>,                            // name
                   <FlagLetters>,
                   <string>,                       // description
                   "CB:=", <string>,              // optional - script for call back
                   <real>,                        // value: a number
                   <string>)                      // units
                   <SeparatorInfo>:
                   Array(<string>,                            // name
                   <FlagLetters>,
                   <string>,                       // description
                   "CB:=", <string>,              // optional - script for call back
                   <string>)                        // value: a text string
                   <ValueInfo>:
                   Array(<string>,                            // name
                   <FlagLetters>,
                   <string>,                       // description
                   "CB:=", <string>,              // optional - script for call back
                   <string>)                       // value: a number, variable or expression
                   <MenuPropInfo>:
                   Array(<string>,                            // name
                   <FlagLetters>,
                   <string>,                        // description
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                <VPointInfo>:
                                Array(<string>,                            // name
                                <FlagLetters>,
                                <string>,                       // description
                                "CB:=", <string>,              // optional - script for call back
                                <string>,                       // x value: number with length units
                                <string>)                       // y value: number with length units
                                <PointInfo>:
                                Array(<string>,                            // name
                                <FlagLetters>,
                                <string>,                       // description
                                "CB:=", <string>,              // optional - script for call back
                                <real>,                        // x value
                                <real>)                        // y value
                                <QuantityPropInfo>:
                                Array(<string>,                             // name
                                <FlagLetters>,
                                <string>,                        // description
                                <string>,                        // value
                                <TypeString>,
                                <TypeStringDependentInfo>)
                                <TypeString>:
                                <string> // "Across", "Through", or "Free"
<TypeStringDependentInfo>:
                                <TypeString> is "Free" :
                                <string>, // direction: "In", "Out", "InOut", or "DontCare"
                                // Following <string> is not present if direction is "DontCare"
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
                         <CosimDefInfo>:
                         Array("NAME:CosimDefinition",
                         "CosimulatorType:=", <int>,
                         "CosimDefName:=", <string> // "Planar EM", "Designer",
                         // "Custom", or "Netlist"
                         "IsDefinition:=", <bool>,
                         final array member(s) vary with CosimDefName)
Example:
                         Dim name
                         oComponentManager.Add (Array("NAME:MyComponent", _
                         "Info:=", Array("Type:=", 4294901767, _
                         "NumTerminals:=", 2, _
                         "DataSource:=", "", _
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                "ModifiedOn:=", 1071096503, _
                                "Manufacturer:=", "Ansys", _
                                "Symbol:=", "bendo", _
                                "Footprint:=", "BENDO", _
                                "Description:=", "",_
                                "InfoTopic:=", "", _
                                "InfoHelpFile:=", "", _
                                "IconFile:=", "", _
                                "LibraryName:=", "", _
                                "OriginalLocation:=", "Project", _
                                "Author:=", "", _
                                "OriginalAuthor:=", "", _
                                "CreationDate:= ", 1147460679), _
                                "Refbase:=", "U", _
                                "NumParts:=", 1, _
                                "OriginalComponent:=", "", _
                                "Terminal:=", Array("n1", _
                                "n1", _
                                "A", _
                                false, _
                                0, _
                                1, _
                                ““, _
                                "Electrical"), _
                                "Terminal:=", Array("n2", _
                                "n2", _
                                "A", _
                                false, _
                                1, _
                                0, _
                                ““, _
                                "Electrical"), _
                                Array("NAME:Parameters", _
                                "MenuProp:=", Array("CoSimulator", _
                                "D", _
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   "", _
                   "Default,Planar EM,Designer,Custom,Netlist", _
                   0), _
                   "ButtonProp:=", Array("CosimDefinition", _
                   "D", _
                   "", _
                   "", _
                   "Edit", _
                   0, _
                   "ButtonPropClientData:=", Array())),                                              _
                   Array("NAME:CosimDefinitions", _
                   Array("NAME:CosimDefinition", _
                   "CosimulatorType:=",                           0,         _
                   "CosimDefName:=", "Planar EM", _
                   "IsDefinition:=", true,                               _
                   "CosimStackup:=",                          "Layout stackup",                      _
                   "CosimDmbedRatio:=", 3),                                  _
                   Array("NAME:CosimDefinition",                                        _
                   "CosimulatorType:=",                           1, _
                   "CosimDefName:=", "Designer", _
                   "IsDefinition:=", true, _
                   "ExportAsNport:=", 0, _
                   "UsePjt:=",                 0),        _
                   Array("NAME:CosimDefinition", _
                   "CosimulatorType:=", 2, _
                   "CosimDefName:=", "Custom", _
                   "IsDefinition:=", true,                               _
                   "DefinitionCompName:=", ""),                                     _
                   Array("NAME:CosimDefinition",                                        _
                   "CosimulatorType:=",                           3, _
                   "CosimDefName:=", "Netlist", _
                   "IsDefinition:=", true, _
                   "NetlistString:=", "")))
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
<DataType>:
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
                         <InterpolationAlgorithm>:
                         <string> // "auto", "lin", "shadH", or "shadNH"
                         <NewToOldMapPairs>:
                         Array of name/value pairs such as "V1", "V2" that will have the new variable name
                         first and the old variable name second.
                         <OldToNewMapPairs>:
                         Array of name/value pairs such as "V1", "V2" that will have the old variable name
                         first and the new variable name second.
Example:
                         oComponentManager.AddDynamicNPortData
                         Array("NAME:ComponentData", _
                         "ComponentDataType:=",                              "DesignerData", _
                         "name:=", "DesignerData", _
                         "filename:=",                   _
                         "C:/Program Files/AnsysEM/Designer/Examples/Projects/
                         optiguides/optiguides.adsn", _
                         "numberofports:=",                         2, _
                         "DesignName:=", "DesignerModel1", _
                         "SolutionName:=", "Setup1 : Adaptive_1",                                                  _
                         "Simulate:=",                   true, _
                         "CloseProject:=", false, _
                         "SaveProject:=", true,                              _
                         "RefNode:=", false, _
                         "InterpY:=",                  true, _
                         "InterpAlg:=", "auto", _
                         "NewToOldMap:=", Array("nport_height:=", "$height", _
                         "nport_length:=",                        "$length", _
                         "nport_width:=", "$width"),                                   _
                         "OldToNewMap:=", Array("$height:=", "nport_height", _
                         "$length:=", "nport_length", _
                         "$width:=", "nport_width"), _
                         "PinNames:=", Array( "WavePort1:1", "WavePort2:1"))
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Parameters:                  <ComponentDataName>:
                                 <string> // simple name of the component
                                 <LocationType>:
                                 <string> // one of "UsePath", "PersonalLib", "UserLib", "SysLib",
                                 // or "Project".
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   <dcInfo>:
                   <string> // one of "DCOpen", "DCShort", "DCShShort",
                   // "DCNone", or "DCEmpty".
                   <DisplayInfo>:
                   <string> // one of "MagnitudePhase", "RealImaginary",
                   // or "DbPhase".
                   <ProductOptionsInfo>:
                   // The remaining parameters differ by product
                   // Nexxim
                   "DCOption:=", <NexximDCOption>,
                   "InterpOption:=", <NexximInterpOption>,
                   "ExtrapOption:=", <NexximExtrapOption>,
                   "DataType:=", 2
                   <NexximDCOption>:
                   <int> // 0 : Zero Padding
                   // 1 : Same as last point
                   // 2 : Linear extrapolation from last 2 points
                   // 3 : Constant magnitude, linear phase extrapolation
                   // 4 : Leave all signal lines open circuited
                   // 5 : Short all signal lines together
                   // 6 : Short all signal lines to ground
                   <NexximInterpOption>:
                   <int> // 0 : Step
                   // 1 : Linear
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                <NexximExtrapOption>:
                                <int> // 0 : Zero padding
                                // 1 : Same as last point
                                // 2 : Linear extrapolation from last 2 points
                                // 3 : Constant magnitude, linear phase extrapolation
                                <CircuitDCOption>:
                                <int>       // 0 : Leave all signal lines open circuited
                                // 1 : Short all signal lines together
                                // 2 : Short all signal lines to ground
                                // 3 : Extrapolate from data provided (not recommended)
                                <CircuitInterpOption>:
                                <int> // 0 : Linear
                                // 1 : Cubic spline
                                // 2 : Rational polynomial
                                <CircuitExtrapOption>:
                                <int> // 0 : Same as interpolation
                                // 1 : Zero padding
                                // 2 : Same as last point
    Example:
                                oComponentManager.AddNPortData Array("NAME:Component-
                                Data", _
                                "ComponentDataType:=",                              "NPortData", _
                                "name:=", "NportData", _
                                "filename:=", "", _
                                "numberofports:=", 2, _
                                "filelocation:=",                        "UsePath", _
                                "domain:=", "frequency", _
                                "datamode:=", "Import",                               _
                                "devicename:=", "", _
                                "ImpedenceTab:=",                        true,            _
                                "NoiseDataTab:=", true, _
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             "DCBehaviorTab:=", true,                                _
                             "SolutionName:=", "",                             _
                             "displayformat:=", "MagnitudePhase", _
                             "datatype:=", "SMatrix", _
                             "ShowRefPin:=", true, _
                             "RefNodeCheckbox:=", false, _
                             "DCOption:=", 3, _
                             "InterpOption:=", 1, _
                             "ExtrapOption:=", 3, _
                             "DataType:=",                   2,       _
                             "DCOption:=", 3, _
                             "InterpOption:=", 1, _
                             "ExtrapOption:=", 3, _
                             "DataType:=", 2)
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                "MenuProp:=", <MenuInfo>),
                                Array("NAME:Properties",                      // any combo of the following
                                "CheckboxProp:=", <CheckBoxInfo>,
                                "TextProp:=", <TextInfo>,
                                "NumberProp:=", <NumberInfo>,
                                "SeparatorProp:=", <SeparatorInfo>,
                                "ValueProp:=", <ValueInfo>,
                                "MenuProp:=", <MenuInfo>),
                                "VPointProp:=", <VPointInfo>,
                                "PointProp:=", <PointInfo>),
                                Array("Quantities",
                                "QuantityProp:=", <QuantityPropInfo>...),
                                Array("NAME:CosimDefinitions",
                                <CosimDefInfo>,
                                <CosimDefInfo>...)
    Return Value:               <string>
                                // composite name of the component.
                                // If the name requested conflicts with the name of an existing
                                // component, the requested name is altered to be unique.
                                // The name returned reflects any change made to be unique.
    Parameters:                 <ComponentName>:
                                <string> // composite name of the component to edit
                                <NewComponentName>:
                                <string> // new simple name for the component
                                <ComponentInfo>:
                                Array("Type:=", <TypeInfo>,
                                "NumTerminals:=", <int>,
                                "DataSource:=", <string>,
                                "ModifiedOn:=", <ModifiedOnInfo>,
                                "Manufacturer:=", "<string>,
                                "Symbol:=", <string>,
                                "Footprint:=", <string>,
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   "Description:=", <string>,
                   "InfoTopic:=", <string>,
                   "InfoHelpFile:=", <string>,
                   "IconFile:=", <string>,
                   "LibraryName:=", <string>,
                   "OriginalLocation:=", <string>,                  // Project Location
                   "Author:=", <string>,
                   "OriginalAuthor:=", <string>,
                   "CreationDate:= ", <int>)
                    <TypeInfo>:
                   An integer that is the or-ing of bits for each product listed below. The default setting
                   is 0xffffffff (4294967295) which indicates valid for all products. In the component
                   editing dialog, checking different boxes in the "Specify products for which this com-
                   ponent is valid" grid control sets specific flags that correspond to the following hex/
                   decimal settings:
                   Nexxim -- 100 binary, 4 decimal, 0x4
                   SIwaveDeNovo -- 1000 binary, 8 decimal, 0x8
                   Simplorer -- 10000 binary, 16 decimal, 0x10
                   MaxwellCircuit -- 100000 binary, 32 decimal, 0x20
                    <ModifiedOnInfo>:
                   An integer that corresponds to the number of seconds that have elapsed since 00:00
                   hours, Jan 1, 1970 UTC from the system clock.
                   <TerminalInfo>:
                   Array(<string>,           // symbol pin
                   <string>        // footprint pin
                   <string >, // gate name
                   <bool>,         // shared
                   <int>,          // equivalence number
                   <int>,          // what to do if unconnected: flag as error:0, ignore:1
                   <string>, // description
                   <Nature>)
<Nature>:
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                Nexxim/Designer:
                                "Electrical"         // the only choice
                                Simplorer:
                                // several choices
                                "Electrical", "Magnetic", "Fluidic", "Translational",
                                "Translational_V", "Rotational", "Rotational_V",
                                ""Radiant", "Thermal", or <VHDLPackageName>
                                <VHDLPackageName>:
                                <string> // in the form <Library>.<Package>
                                <Library>:
                                <string> // name of the VHDL library
                                <Package>:
                                <string> // name of the VHDL package
                                <VariableInfo>:
                                Array(<string>,                            // name
                                <FlagLetters>,
                                <string>,                       // description
                                "CB:=", <string>,              // optional - script for call back
                                <string>)                 // value: number, variable, or expression
                                <FlagLetters>:
                                <string> // "D" - has description parameter,
                                // "RD" - readonly & has description parameter,
                                // or "RHD" - readonly, hidden, & has description parameter
                                <CheckBoxInfo>:
                                Array(<string>,                            // name
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   <FlagLetters>,
                   <string>,                       // description
                   "CB:=", <string>,              // optional - script for call back
                   <bool>)                         // value: true or false
                   <ButtonInfo>:
                   Array(<string>,                            // name
                   <FlagLetters>,
                   <string>,                       // description
                   <string>,                      // button title
                   <string>,                      // extra text
                   <ClientID>,
                   "ButtonPropClientData:= ", <ClientDataArray>)
                   <ClientID>:
                   <int>       // specifies Button Prop Client
                   // 0 - unknown, "ButtonPropClientData
                   //      array will be empty
                   // 1 - Netlist Prop Client
                   // 2 - not used
                   // 3 - File Name Prop Client
                   <ClientDataArray>:
                   varies with <ClientID>
                   <ClienID> is 3:
                   Array("InternalFormatText:=", "<prefix><RelativePath>")
                   <prefix>:
                   <string> // "<Project>", "<PersonalLib>", "<UserLib>", or "<SysLib>"
<RelativePath>:
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                <TextInfo>:
                                Array(<string>,                            // name
                                <FlagLetters>,
                                <string>,                        // description
                                "CB:=", <string>,              // optional - script for call back
                                <string>)                        // value: a text string
                                <NumberInfo>:
                                Array(<string>,                            // name
                                <FlagLetters>,
                                <string>,                       // description
                                "CB:=", <string>,              // optional - script for call back
                                <real>,                        // value: a number
                                <string>)                      // units
                                <SeparatorInfo>:
                                Array(<string>,                            // name
                                <FlagLetters>,
                                <string>,                       // description
                                "CB:=", <string>,              // optional - script for call back
                                <string>)                        // value: a text string
                                <ValueInfo>:
                                Array(<string>,                            // name
                                <FlagLetters>,
                                <string>,                       // description
                                "CB:=", <string>,              // optional - script for call back
                                <string>)                       // value: a number, variable or expression
                                <MenuPropInfo>:
                                Array(<string>,                            // name
                                <FlagLetters>,
                                <string>,                        // description
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   <VPointInfo>:
                   Array(<string>,                            // name
                   <FlagLetters>,
                   <string>,                       // description
                   "CB:=", <string>,              // optional - script for call back
                   <string>,                       // x value: number with length units
                   <string>)                       // y value: number with length units
                   <PointInfo>:
                   Array(<string>,                            // name
                   <FlagLetters>,
                   <string>,                       // description
                   "CB:=", <string>,              // optional - script for call back
                   <real>,                        // x value
                   <real>)                        // y value
                   <QuantityPropInfo>:
                   Array(<string>,                             // name
                   <FlagLetters>,
                   <string>,                        // description
                   <string>,                        // value
                   <TypeString>,
                   <TypeStringDependentInfo>)
                   <TypeString>:
                   <string> // "Across", "Through", or "Free"
<TypeStringDependentInfo>:
                   "Free" :
                   <string>, // direction: "In", "Out", "InOut", or "DontCare"
                   // Following <string> is not present if direction is "DontCare"
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                "Across" or "Through"
                                <int>,        // terminal 1
                                <int>         // terminal 2
                                <CosimDefInfo>:
                                Array("NAME:CosimDefinition",
                                "CosimulatorType:=", <int>,
                                "CosimDefName:=", <string> // "Planar EM", "Designer",
                                // "Custom", or "Netlist"
                                "IsDefinition:=", <bool>,
                                final array member(s) vary with CosimDefName)
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                false, _
                                8, _
                                0, _
                                "", _
                                "Electrical"), _
                                Array("NAME:Parameters", _
                                "TextProp:=", Array("LabelID", _
                                "HD",            _
                                "Property string for netlist ID", _
                                "Q@ID"), _
                                "TextProp:=", Array("MOD", _
                                "D",         _
                                "Name of model data reference", _
                                "required"), _
                                "VariableProp:=", Array("AREA", _
                                "D",         _
                                 "Emitter area multiplying factor, which affects curents,
                                resistances, and capacitances", _ "1"), _
                                "VariableProp=", Array("AREAB", _
                                "D", _
                                "Base AREA", _
                                "1"), _
                                "VariableProp:=", Array( "AREAC", _
                                "D", _
                                Collector AREA", _
                                "1"), _
                                "VariableProp:=", Array("DTEMP", _
                                "D",         _
                                "The difference between element and circuit temperature
                                deg Cel)", _
                                "0"), _
                                "VariableProp:=", Array("M", _
                                "D", _
                                "Multiplier factor to simulate multiple BJTs in paralel",
                                _ "1"), _
                                "ButtonProp:=", Array("NexximNetlist", _
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
                         "HD", _
                         "",        _
                         "Q@ID %0 %1 %2 *MOD(@MOD) *AREA(AREA=@AREA)" & _
                         " *AREAB(AREAB=@AREAB) *AREAC(AREAC=@" & _
                         "AREAC) *DTEMP(DTEMP=@DTEMP) *M(M=@M)",                                                 _
                         "Q@ID %0 %1 %2 *MOD(@MOD) " & _ "*AREA(AREA=@AREA)
                         AREAB(AREAB=@AREAB) *AREAC(AREAC=@" & _
                         "AREAC) *DTEMP(DTEMP=@DTEMP) *M(M=@M)", _
                         1, _
                         "ButtonPropClientData:=", Array()), _
                         "TextProp:=", Array( "ModelName", _
                         "HD", _
                         "", _
                         "Q"))))
Example:
                         Dim name2
                         name2 = oComponentManager.Edit "MyComponent", _
                         (Array("NAME:MyOtherComponent", _
                         "Info:=", Array("Type:=", 4294901767, _
                         "NumTerminals:=", 2, _
                         "DataSource:=", "", _
                         "ModifiedOn:=", 1071096503, _
                         "Manufacturer:=", "Ansys", _
                         "Symbol:=", "bendo", _
                         "Footprint:=", "BENDO", _
                         "Description:=", "",_
                         "InfoTopic:=", "", _
                         "InfoHelpFile:=", "", _
                         "IconFile:=", "", _
                         "LibraryName:=", "", _
                         "OriginalLocation:=", "Project", _
                         "Author:=", "", _
                         "OriginalAuthor:=", "", _
                         "CreationDate:= ", 1147460679), _
                         "Refbase:=", "U", _
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                "NumParts:=", 1, _
                                "OriginalComponent:=", "", _
                                "Terminal:=", Array("n1", _
                                "n1", _
                                "A", _
                                false, _
                                0, _
                                0, _
                                ““, _
                                "Electrical"), _
                                "Terminal:=", Array("n2", _
                                "n2", _
                                "A", _
                                false, _
                                1, _
                                0, _
                                ““, _
                                Electrical"), _
                                Array("NAME:Parameters", _
                                "MenuProp:=", Array("CoSimulator", _
                                "D", _
                                "", _
                                "Default,Planar EM,Designer,Custom,Netlist", _
                                0), _
                                "ButtonProp:=", Array("CosimDefinition", _
                                "D", _
                                "", _
                                "", _
                                "Edit", _
                                0, _
                                "ButtonPropClientData:=", Array())),                                              _
                                Array("NAME:CosimDefinitions", _
                                Array("NAME:CosimDefinition", _
                                "CosimulatorType:=",                           0,       _
                                "CosimDefName:=", "Planar EM", _
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             "IsDefinition:=", true,                               _
                             "CosimStackup:=",                          "Layout stackup",                      _
                             "CosimDmbedRatio:=", 3),                                  _
                             Array("NAME:CosimDefinition",                                        _
                             "CosimulatorType:=",                           1, _
                             "CosimDefName:=", "Designer", _
                             "IsDefinition:=", true, _
                             "ExportAsNport:=", 0, _
                             "UsePjt:=",                 0),        _
                             Array("NAME:CosimDefinition", _
                             "CosimulatorType:=", 2, _
                             "CosimDefName:=", "Custom", _
                             "IsDefinition:=", true,                               _
                             "DefinitionCompName:=", ""),                                     _
                             Array("NAME:CosimDefinition",                                        _
                             "CosimulatorType:=",                           3, _
                             "CosimDefName:=", "Netlist", _
                             "IsDefinition:=", true, _
                             "NetlistString:=", "")))
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Parameters:                 <ComponentName>:
                                <string> // composite name of the component being edited
                                <NewComponentName>:
                                                        <string> // new simple name for the component
                                   <ModifiedOnInfo>:
                                   An integer that corresponds to the number of seconds that have elapsed
                                   since 00:00 hours, Jan 1, 1970 UTC from the system clock.
                                <PinDefInfo>:
                                    Array("NAME:PinDef",
                                              "Pin:=", Array (<string>, // pin name
                                                                      <real>,        // x location
                                                                       <real>,        // y location
                                                                       <real>,        // angle in radians
                                                                       <PinType>,
                                                                       <real>, // line width
                                                                        <real>, // line length
                                                                       <bool>, // mirrored
                                                                       <int>,       // color
                                                                       <bool>, // true if visible, false if not
                                                                       <string>, // hidden net name
                                                                       <OptionalPinInfo>, // optional info
                                <PropDisplayMapInfo>)) // optional
                                <PinType>:
                                  <string> // "N" : normal pin
                                                 // "I" : input pin
                                                 // "O" : output pin
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   <OptionalPinInfo>:
                   // Specify both or neither
                   <bool>,        // true if name is to be shown
                   <bool>,        // true if number is to be shown
                   <PropDisplayMapInfo>:
                                        Array("NAME:PropDisplayMap",
                                                  <PropDisplayInfo>,
                                                  <PropDisplayInfo>,...)
                                          <PropDisplayInfo>:
                                          <NameString>, Array(<DisplayTypeInfo>,
                                                                            <DisplayLocationInfo>,
                                                                             <int>,        // optional, level number
                                                                             <TextInfo>)
                   <NameString>:
                                           <string> // PropertyName:=, where PropertyName is the name of
                                                          // the property to be displayed
                                          <DisplayTypeInfo>:
                                          <int>       // 0 : No display
                                                      // 1 : Display name only
                                                      // 2 : Display value only
                                                      // 3 : Display both name and value
                                                      // 4: Display evaluated value only
                                                      // 5: Display both name and evaluated value
                                           <DisplayLocationInfo>:
                                           <int>       // 0 : Left
                                                       // 1 : Top
                                                       // 2 : Right
                                                       // 3 : Bottom
                                                       // 4 : Center
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
// 5 : Custom placement
                                                        <GraphicsDataInfo>:
                                   Array("NAME:Graphics",
                                              // one or more of the following
                                             <RectInfo>,
                                              <CircleInfo>,
                                               <ArcInfo>,
                                               <LineInfo>,
                                               <PolygonInfo>,
                                               <TextInfo>,
                                               <ImageInfo>)
                                  <RectInfo>:
                                   "Rect:=", Array(<real>,               // line width
                                                           <int>,       // fill pattern
                                                           <int>,       // color
                                                           <real>, // angle, in radians
                                                           <real>,       // x position of center
                                                           <real>,       // y position of center
                                                                                 <real>, // width
                                                                                 < real>) // height
                                  <CircleInfo>:
                                   "Circle:=", Array(<real>,               // line width
                                                             <int>,       // fill pattern
                                                             <int>,       // color
                                                             <real>,       // x position of center
                                                             <real>,       // y position of center
                                                                                 < real>) // radius
                                <ArcInfo>:
                                   "Arc:=", Array(<real>,              // line width
                                                          <int>,       // line pattern
                                                          <int>,       // color
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   <LineInfo>:
                      "Line:=", Array(<real>,               // line width
                                               <int>,       // line pattern
                                               <int>,       // color
                                                                     <PointInfo>, // must specify at least 2 points
                                                                     <PointInfo>...)
                                          <PointInfo>:
                                          <real>,       // x position
                                          <real>        // y position
                   <PolygonInfo>:
                      "Polygon:=", Array(<real>,                 // line width
                                                   <int>,        // fill pattern
                                                   <int>,        // color
                                                                      <PointInfo>,           // must specify at least 3 points
                                                                      <PointInfo>...)
                   <TextInfo>:
                      "Text:=", Array(<real>,               // x position
                                               <real>, // y position
                                               <real>, // angle, in radians
                                               <Justification>,
                                                <bool>,        // is plotter font
                                                <string>,        // font name
                                                 <int>,          // color
                                                 <string>)        // text string
                                          <Justification>:
                                          <int> // 0 : left top
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                                                // 1 : left base
                                                                // 2 : left bottom
                                                                // 3 : center top
                                                                // 4 : center base
                                                                // 5 : center bottom
                                                                // 6 : right top
                                                                // 7 : right base
                                                                // 8 : right bottom
                                                         <ImageInfo>:
                                                          "Image:=", Array(<RectInfo>,
                                                                                     <ImageData>,
                                                                                      <bool>)                  // is mirrored
                                                           <ImageData>:
                                                            <string>,         // file path
                                                            <int>,            // 0 : use the file path and link to it
                                                                              // 1 : ignore file path and use next parameter
                                                             <string>         // text data, only present if preceding int is 1
                                <ListOfComponentNames>:
                                <string>,<string> ...
                                // The list may be empty. When not empty, each string that is listed is a component
                                // that references the component to be edited. Prior to editing, a clone of the compo-
                                nent is
                                // made, and the components that are listed are modified so that they now refer to
                                // the clone.
    Example:
                                Dim nam
                                oModelManager.EditWithComps_
                                ("Nexxim Circuit Elements\Distributed\Distributed:bendo",
                                _
                                Array("NAME:bendo new name", _
                                "ModTime:=", 1152722165, _
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 <ComponentName>:
                                 <string> // composite name of the component to export
<LibraryLocation>:
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Example:
                             oComponentManager.Export Array("NAME:mylib", "Nexxim
                             Circuit Elements\BJTs:Level01_NPN"),"PersonalLib"
Note   GetData allows the user to access definition information, make modifications,
       and then use the Edit or EditWithComps script commands to save the modified
       definition. Accordingly, for each type of definition, the array data returned to
       GetData should be the same array information that is supplied to the Edit or
       EditWithComps commands.
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
componentNames = oComponentManager.GetNames()
                                Sub DisplayVariant(x)
                                Dim index
                                  index = 0
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                            index = index + 1
                   Next
End Sub
                   Dim oAnsoftApp
                   Dim oDesktop
                   Dim oProject
                   Dim dnpInfo
                   Dim index
                   Dim componentNames
                   componentNames = oComponentManager.GetNames()
                   index = 0
                   For Each name In componentNames
                            name = componentNames(index)
                            message = "NPort data for component " + name
                            Msgbox message
                          dnpInfo = oComponentManager.GetNPortData(name)
                            DisplayVariant dnpInfo
                            index = index + 1
                   Next
                                                                                 Definition Manager Script Commands 27-39
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 <IsProjectComponent>:
                                 <bool>
                                 <LibraryName>:
                                 <string> // name of the library
                                 <LibraryLocation>:
                                 <string> // location of the library in <LibraryName>
                                 // One of "Project", "PersonalLib", or "UserLib"
    Example:
                                 oComponentManager.Remove "Nexxim Circuit Ele-
                                 ments\BJTs:Level01_NPN", _ true, "Project"
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
       Also, the symbol and footprint of an unused component are not unusable until
       after the component itself is removed using the Component Manager Remove
       script.
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             AddAddSolverOnDemandModel
    Use:                        This method looks for a local component of the name passed in, and to this
                                component it adds an SOD model definition using the information passed in
                                the VARIANT. It returns the name of the SOD model added.
    Parameters:                 BSTR component name.
    Parameters:                 VARIANT which is the SOD model data.
    Return Value:               Returns the name of the model added.
             EditSolverOnDemandModel
    Use:                        This method looks for a local component of the name passed in, and in this
                                component it looks for an SOD model using the name passed in the second
                                BSTR. It modifies the SOD model using the data in the VARIANT. It returns
                                the name of the SOD model edited.
    Parameters:                 BSTR component name.
    Parameters:                 BSTR SOD model name.
    Parameters:                 VARIANT which is the new SOD model data (can include
                                changed name).
    Return Value:               Returns the name of the model edited.
             GetSolverOnDemandData
    Use:                        This method looks for a local component of the name passed in, and in this
                                component it looks for an SOD model of the name passed in and returns the
                                SOD data pertaining to that model.
    Parameters:                 BSTR component name.
    Parameters:                 BSTR SOD model name
    Return Value:               VARIANT which is the SOD data.
             GetSolverOnDemandModelList
    Use:                        This method looks for a local component of the name passed in, and returns
                                a list of SOD model names defined in the component.
    Parameters:                 BSTR component name.
    Return Value:               VARIANT which is a list of SOD model names.
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          RemoveSolverOnDemandModel
Use:                         This method looks for a local component of the name passed in, and in this
                             component it looks for an SOD model of the name passed in and deletes the
                             SOD model definition from the component.
Parameters:                  BSTR component name.
Parameters:                  BSTR SOD model name
Return Value:                None.
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Parameters:                 <modelName>:
                                <string> // simple name of the model being added
                                   <ModifiedOnInfo>:
                                   An integer that corresponds to the number of seconds that have elapsed
                                   since 00:00 hours, Jan 1, 1970 UTC from the system clock.
                                  <PinDefInfo>:
                                    Array("NAME:PinDef",
                                              "Pin:=", Array (<string>, // pin name
                                                                      <real>,        // x location
                                                                       <real>,        // y location
                                                                       <real>,        // angle in radians
                                                                       <PinType>,
                                                                       <real>, // line width
                                                                        <real>, // line length
                                                                       <bool>, // mirrored
                                                                       <int>,       // color
                                                                       <bool>, // true if visible, false if not
                                                                       <string>, // hidden net name
                                                                       <OptionalPinInfo>, // optional info
                                <PropDisplayMapInfo>)) // optional
                                <PinType>:
                                  <string> // "N" : normal pin
                                                 // "I" : input pin
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   <OptionalPinInfo>:
                   // Specify both or neither
                   <bool>,        // true if name is to be shown
                   <bool>,        // true if number is to be shown
                   <PropDisplayMapInfo>:
                                        Array("NAME:PropDisplayMap",
                                                  <PropDisplayInfo>,
                                                  <PropDisplayInfo>,...)
                                          <PropDisplayInfo>:
                                          <NameString>, Array(<DisplayTypeInfo>,
                                                                            <DisplayLocationInfo>,
                                                                             <int>,        // optional, level number
                                                                             <TextInfo>)
                                          <NameString>:
                                           <string> // PropertyName:=, where PropertyName is the name of
                                                          // the property to be displayed
                                          <DisplayTypeInfo>:
                                          <int>       // 0 : No display
                                                      // 1 : Display name only
                                                      // 2 : Display value only
                                                      // 3 : Display both name and value
                                                      // 4: Display evaluated value only
                                                      // 5: Display both name and evaluated value
                                           <DisplayLocationInfo>:
                                           <int>       // 0 : Left
                                                       // 1 : Top
                                                       // 2 : Right
                                                       // 3 : Bottom
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                                                    // 4 : Center
                                                                    // 5 : Custom placement
                                <GraphicsDataInfo>:
                                   Array("NAME:Graphics",
                                              // one or more of the following
                                             <RectInfo>,
                                              <CircleInfo>,
                                               <ArcInfo>,
                                               <LineInfo>,
                                               <PolygonInfo>,
                                               <TextInfo>,
                                               <ImageInfo>)
                                  <RectInfo>:
                                   "Rect:=", Array(<real>,               // line width
                                                           <int>,       // fill pattern
                                                           <int>,       // color
                                                           <real>, // angle, in radians
                                                           <real>,       // x position of center
                                                           <real>,       // y position of center
                                                                                 <real>, // width
                                                                                 < real>) // height
                                  <CircleInfo>:
                                   "Circle:=", Array(<real>,               // line width
                                                             <int>,       // fill pattern
                                                             <int>,       // color
                                                             <real>,       // x position of center
                                                             <real>,       // y position of center
                                                                                 < real>) // radius
                                 <ArcInfo>:
                                   "Arc:=", Array(<real>,              // line width
                                                          <int>,       // line pattern
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                                             <int>,       // color
                                             <real>,       // x position of center
                                             <real>,       // y position of center
                                                                  < real>,       // radius
                                                                   <real>,       // start angle, in radians
                                                                   <end>)        // end angle, in radians
                   <LineInfo>:
                      "Line:=", Array(<real>,               // line width
                                               <int>,       // line pattern
                                               <int>,       // color
                                                                     <PointInfo>, // must specify at least 2 points
                                                                     <PointInfo>...)
                                          <PointInfo>:
                                          <real>,       // x position
                                          <real>        // y position
                   <PolygonInfo>:
                      "Polygon:=", Array(<real>,                 // line width
                                                   <int>,        // fill pattern
                                                   <int>,        // color
                                                                      <PointInfo>,           // must specify at least 3 points
                                                                      <PointInfo>...)
                   <TextInfo>:
                      "Text:=", Array(<real>,               // x position
                                               <real>, // y position
                                               <real>, // angle, in radians
                                               <Justification>,
                                                <bool>,        // is plotter font
                                                <string>,        // font name
                                                 <int>,          // color
                                                 <string>)        // text string
<Justification>:
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                                         <ImageInfo>:
                                                          "Image:=", Array(<RectInfo>,
                                                                                     <ImageData>,
                                                                                      <bool>)                  // is mirrored
                                                          <ImageData>:
                                                            <string>,         // file path
                                                            <int>,            // 0 : use the file path and link to it
                                                                              // 1 : ignore file path and use next parameter
                                                             <string>         // text data, only present if preceding int is 1
    Example:
                                oModelManager.Add Array("NAME:MyModel",_
"ModTime:=", 1070989137, _
"Library:=", "", _
"LibLocation:=", "Project", _
Array("NAME:PinDef", _
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   "N",_
                   0, _
                   0.00254, _
                   false, _
                   0, _
                   true, _
                   "",_
                   false, _
                   false)), _
                   Array("NAME:PinDef",                           _
                   "Pin:=", Array ("newpin1", _
                   -0.00254, _
                   0, _
                   3.14159265358979, _
                   "N",_
                   0, _
                   0.00254, _
                   false, _
                   0, _
                   true, _
                   "",_
                   false, _
                   false)),
                   Array("NAME:Graphics", _
                   "Rect:=", Array(0,                         _
                   0,       _
                   12566272, _
                   0,       _
                   4.33680868994202e-019, _
                   -0.000635, _
                   0.00508,              _
                   0.002794), _
                   "Circle:=", Array(0, _
                   0,       _
                   12566272,                 _
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 0.000127, _
                                 -0.000635,                _
                                 0.000635)))
              ConvertToDynamic
    Use:                         Build a new dynamic model based on an existing parametric model.
    Command:                     Right-click on a model under Definitions/Models in the Project Tree and
                                 choose ConvertToDynamic.
    Syntax:                      ConvertToDynamic(defName, newname)
    Return Value:                <newname> // Name of the new model added
    Parameters:                  <defName> // Model that is the base for the new conversion
    Example:
                                 Dim newname
                                 newname = oModelManager.ConvertToDynamic([in] BSTR def-
                                 Name, [out, retval] BSTR* newName);
              ConvertToParametric
    Use:                         Build a new parametric model based on an existing dynamic model.
    Command:                     Right-click on a model under Definitions/Models in the Project Tree and
                                 choose ConvertToParametric.
    Syntax:                      ConvertToParametric(defName, newname)
    Return Value:                <newname> // Name of the new model added
    Parameters:                  <defName> // Model that is the base for the new conversion
    Example:                     Dim newname
                                 newname = oModelManager.ConvertToParametric([in] BSTR defName, [out, retval]
                                 BSTR* newName);
              Edit [depricated]
                                 Deprecated command — please use EditWithComps.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
                          Array("NAME:<NewModelName>",
                          "ModTime:=", <ModifiedTimeInfo>,
                          "Library:=", <string>,                     // Library name
                          "LibLocation:=", <string>,                // Project Location
                          <PinDefInfo>,
                          <PinDefInfo>,...                         // optional, to define pins
                          <GraphicsDataInfo>, // optional, to define graphics
                          <PropDisplayMapInfo>), // optional, to define property displays
                          Array(<ListOfComponentNames>) // Component names
Parameters:               <ModelName>:
                          <string> // composite name of the model being edited
                          <NewModelName>:
                                                  <string> // new simple name for the model
                             <ModifiedOnInfo>:
                             An integer that corresponds to the number of seconds that have elapsed
                             since 00:00 hours, Jan 1, 1970 UTC from the system clock.
                          <PinDefInfo>:
                              Array("NAME:PinDef",
                                        "Pin:=", Array (<string>, // pin name
                                                                <real>,        // x location
                                                                 <real>,        // y location
                                                                 <real>,        // angle in radians
                                                                 <PinType>,
                                                                 <real>, // line width
                                                                  <real>, // line length
       ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                                                       <bool>, // mirrored
                                                                       <int>,       // color
                                                                       <bool>, // true if visible, false if not
                                                                       <string>, // hidden net name
                                                                       <OptionalPinInfo>, // optional info
                                <PropDisplayMapInfo>)) // optional
                                <PinType>:
                                  <string> // "N" : normal pin
                                                 // "I" : input pin
                                                 // "O" : output pin
                                <OptionalPinInfo>:
                                // Specify both or neither
                                <bool>,        // true if name is to be shown
                                <bool>,        // true if number is to be shown
                                <PropDisplayMapInfo>:
                                                     Array("NAME:PropDisplayMap",
                                                               <PropDisplayInfo>,
                                                               <PropDisplayInfo>,...)
                                                       <PropDisplayInfo>:
                                                       <NameString>, Array(<DisplayTypeInfo>,
                                                                                         <DisplayLocationInfo>,
                                                                                          <int>,        // optional, level number
                                                                                          <TextInfo>)
                                <NameString>:
                                                        <string> // PropertyName:=, where PropertyName is the name of
                                                                       // the property to be displayed
                                                       <DisplayTypeInfo>:
                                                       <int>       // 0 : No display
                                                                   // 1 : Display name only
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                                           <DisplayLocationInfo>:
                                           <int>       // 0 : Left
                                                       // 1 : Top
                                                       // 2 : Right
                                                       // 3 : Bottom
                                                       // 4 : Center
                                                       // 5 : Custom placement
                                           <GraphicsDataInfo>:
                      Array("NAME:Graphics",
                                 // one or more of the following
                                <RectInfo>,
                                 <CircleInfo>,
                                  <ArcInfo>,
                                  <LineInfo>,
                                  <PolygonInfo>,
                                  <TextInfo>,
                                  <ImageInfo>)
                     <RectInfo>:
                      "Rect:=", Array(<real>,               // line width
                                              <int>,       // fill pattern
                                              <int>,       // color
                                              <real>, // angle, in radians
                                              <real>,       // x position of center
                                              <real>,       // y position of center
                                                                    <real>, // width
                                                                    < real>) // height
<CircleInfo>:
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                <ArcInfo>:
                                   "Arc:=", Array(<real>,              // line width
                                                          <int>,       // line pattern
                                                          <int>,       // color
                                                          <real>,       // x position of center
                                                          <real>,       // y position of center
                                                                               < real>,       // radius
                                                                                <real>,       // start angle, in radians
                                                                                <end>)        // end angle, in radians
                                <LineInfo>:
                                   "Line:=", Array(<real>,               // line width
                                                            <int>,       // line pattern
                                                            <int>,       // color
                                                                                  <PointInfo>, // must specify at least 2 points
                                                                                  <PointInfo>...)
                                                       <PointInfo>:
                                                       <real>,       // x position
                                                       <real>        // y position
                                <PolygonInfo>:
                                   "Polygon:=", Array(<real>,                 // line width
                                                                <int>,        // fill pattern
                                                                <int>,        // color
                                                                                   <PointInfo>,           // must specify at least 3 points
                                                                                   <PointInfo>...)
<TextInfo>:
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                                          <Justification>:
                                          <int> // 0 : left top
                                                   // 1 : left base
                                                   // 2 : left bottom
                                                   // 3 : center top
                                                   // 4 : center base
                                                   // 5 : center bottom
                                                   // 6 : right top
                                                   // 7 : right base
                                                   // 8 : right bottom
                                            <ImageInfo>:
                                             "Image:=", Array(<RectInfo>,
                                                                        <ImageData>,
                                                                         <bool>)                  // is mirrored
                                              <ImageData>:
                                               <string>,         // file path
                                               <int>,            // 0 : use the file path and link to it
                                                                 // 1 : ignore file path and use next parameter
                                                <string>         // text data, only present if preceding int is 1
                   <ListOfComponentNames>:
                   <string>,<string> ...
                   // The list may be empty. When not empty, each string that is listed is a component
                   // that references the model to be edited. Prior to editing, a clone of the model is
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                // made, and the components that are listed are modified so that they now refer to
                                // the clone.
    Example:
                                Dim nam
                                oModelManager.EditWithComps_
                                ("Nexxim Circuit Elements\Distributed\Distributed:bendo",
                                _
                                           Array("NAME:bendo new name", _
                                                                "ModTime:=", 1152722165, _
                                               "Library:=", "Nexxim Circuit Elements\Dis-
                                tributed\Distributed", _
                                                                "LibLocation:=", "SysLibrary", _
                                                              Array("NAME:PinDef", _
                                                                                      "Pin:=", Array( "n1", _
                                -0.00254, _
                                0.00254,              _
                                0, _
                                "N", _
                                0, _
                                0, _
                                false, _
                                0, _
                                true, _
                                "",        _
                                false, _
                                false)),              _
                                Array("NAME:PinDef", _
                                "Pin:=", Array( "n2", _
                                0.00254, _
                                -0.00254, _
                                1.5708, _
                                "N", _
                                0, _
                                0, _
                                false, _
27-56 Definition Manager Script Commands
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             0, _
                             true, _
                             "", _
                             false, _
                             false)),              _
                             Array("NAME:Graphics", _
                             "Polygon:=", Array( 0, 0, 12566272, 0, 0.00381, 0,
                             .00127, 0.00127, _
                             0.00127, 0.00127, 0, 0.00381, 0, 0.00381,                                                    _
                             0.002032, 0.00127, 0.00381), _
                             "Line:=", Array(0, 1, 12566272,                                        -0.00254, 0.00254, 0,
                             .00254), _
                             "Line:=", Array(0, 1, 12566272, 0.00254, -0.00254,
                             .00254, 0)), _
                             Array("NAME:PropDisplayMap", _
                             "W:=", Array(3, _
                             5, _
                             0, _
                             "Text:=", Array( 2.1684E-019, _
                             0.00504119, _
                             0, _
                             1, _
                             5, _
                             false, _
                             "Arial", _
                             0, _
                             "W=***"))))),                   _
                             rray(“MY_COMP”)
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                                         <ModelName>:
                                                         <string> // composite name of model to export
                                                         <LibraryLocation>:
                                                          <string> // location of the library in <LibraryName>
                                 // One of "Project", "PersonalLib", or "UserLib"
    Example:
                                 oModelManager.Export _
                                 Array("NAME Nexxim Circuit Elements\Distributed\Distrib-
                                 uted:bendo:mylib", _ "myModel"), "PersonalLib"
    Note    GetData allows the user to access definition information, make modifications,
            and then use the Edit or EditWithComps script commands to save the modified
            definition. Accordingly, for each type of definition, the array data returned to
            GetData should be the same array information that is supplied to the Edit or
            EditWithComps commands.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                                         <IsProjectModel>:
                                                        <bool>
                                                         <LibraryName>:
                                                        <string> // name of the library
                                                         <LibraryLocation>:
                                 <string> // location of the library in <LibraryName>
                                 // One of "Project", "PersonalLib", or "UserLib"
    Example:
                                 oModelManager.Remove "Nexxim Circuit Elements\Distrib-
                                 uted\Distributed:bendo", true, "Project"
            Also, the model and footprint of an unused component are not unusable until
            after the component itself is removed using the Component Manager Remove
            script.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Add
BringToFront
Edit
EditWithComps
Export
GetData
GetNames
IsUsed
Remove
RemoveUnused
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Parameters:                 <SymbolName>:
                                <string> // simple name of the symbol being added
                                   <ModifiedOnInfo>:
                                   An integer that corresponds to the number of seconds that have elapsed
                                   since 00:00 hours, Jan 1, 1970 UTC from the system clock.
                                  <PinDefInfo>:
                                    Array("NAME:PinDef",
                                              "Pin:=", Array (<string>, // pin name
                                                                      <real>,        // x location
                                                                       <real>,        // y location
                                                                       <real>,        // angle in radians
                                                                       <PinType>,
                                                                       <real>, // line width
                                                                        <real>, // line length
                                                                       <bool>, // mirrored
                                                                       <int>,       // color
                                                                       <bool>, // true if visible, false if not
                                                                       <string>, // hidden net name
                                                                       <OptionalPinInfo>, // optional info
                                <PropDisplayMapInfo>)) // optional
                                <PinType>:
                                  <string> // "N" : normal pin
                                                 // "I" : input pin
                                                 // "O" : output pin
                                <OptionalPinInfo>:
                                // Specify both or neither
                                <bool>,        // true if name is to be shown
                                <bool>,        // true if number is to be shown
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   <PropDisplayMapInfo>:
                                        Array("NAME:PropDisplayMap",
                                                  <PropDisplayInfo>,
                                                  <PropDisplayInfo>,...)
                                          <PropDisplayInfo>:
                                          <NameString>, Array(<DisplayTypeInfo>,
                                                                            <DisplayLocationInfo>,
                                                                             <int>,        // optional, level number
                                                                             <TextInfo>)
                                          <NameString>:
                                           <string> // PropertyName:=, where PropertyName is the name of
                                                          // the property to be displayed
                                          <DisplayTypeInfo>:
                                          <int>       // 0 : No display
                                                      // 1 : Display name only
                                                      // 2 : Display value only
                                                      // 3 : Display both name and value
                                                      // 4: Display evaluated value only
                                                      // 5: Display both name and evaluated value
                                           <DisplayLocationInfo>:
                                           <int>       // 0 : Left
                                                       // 1 : Top
                                                       // 2 : Right
                                                       // 3 : Bottom
                                                       // 4 : Center
                                                       // 5 : Custom placement
                   <GraphicsDataInfo>:
                      Array("NAME:Graphics",
                                 // one or more of the following
                                <RectInfo>,
                                 <CircleInfo>,
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                               <ArcInfo>,
                                               <LineInfo>,
                                               <PolygonInfo>,
                                               <TextInfo>,
                                               <ImageInfo>)
                                  <RectInfo>:
                                   "Rect:=", Array(<real>,               // line width
                                                           <int>,       // fill pattern
                                                           <int>,       // color
                                                           <real>, // angle, in radians
                                                           <real>,       // x position of center
                                                           <real>,       // y position of center
                                                                                 <real>, // width
                                                                                 < real>) // height
                                  <CircleInfo>:
                                   "Circle:=", Array(<real>,               // line width
                                                             <int>,       // fill pattern
                                                             <int>,       // color
                                                             <real>,       // x position of center
                                                             <real>,       // y position of center
                                                                                 < real>) // radius
                                 <ArcInfo>:
                                   "Arc:=", Array(<real>,              // line width
                                                          <int>,       // line pattern
                                                          <int>,       // color
                                                          <real>,       // x position of center
                                                          <real>,       // y position of center
                                                                               < real>,       // radius
                                                                                <real>,       // start angle, in radians
                                                                                <end>)        // end angle, in radians
<LineInfo>:
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   <PolygonInfo>:
                      "Polygon:=", Array(<real>,                 // line width
                                                   <int>,        // fill pattern
                                                   <int>,        // color
                                                                      <PointInfo>,           // must specify at least 3 points
                                                                      <PointInfo>...)
                   <TextInfo>:
                      "Text:=", Array(<real>,               // x position
                                               <real>, // y position
                                               <real>, // angle, in radians
                                               <Justification>,
                                                <bool>,        // is plotter font
                                                <string>,        // font name
                                                 <int>,          // color
                                                 <string>)        // text string
                                          <Justification>:
                                          <int> // 0 : left top
                                                   // 1 : left base
                                                   // 2 : left bottom
                                                   // 3 : center top
                                                   // 4 : center base
                                                   // 5 : center bottom
                                                   // 6 : right top
                                                   // 7 : right base
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
// 8 : right bottom
                                                         <ImageInfo>:
                                                          "Image:=", Array(<RectInfo>,
                                                                                     <ImageData>,
                                                                                      <bool>)                  // is mirrored
                                                          <ImageData>:
                                                            <string>,         // file path
                                                            <int>,            // 0 : use the file path and link to it
                                                                              // 1 : ignore file path and use next parameter
                                                             <string>         // text data, only present if preceding int is 1
    Example:
                                oSymbolManager.Add Array("NAME:MySymbol",_
"ModTime:=", 1070989137, _
"Library:=", "", _
"LibLocation:=", "Project", _
Array("NAME:PinDef", _
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
                          Array("NAME:PinDef",                           _
                          "Pin:=", Array ("newpin1", _
                          -0.00254, _
                          0, _
                          3.14159265358979, _
                          "N",_
                          0, _
                          0.00254, _
                          false, _
                          0, _
                          true, _
                          "",_
                          false, _
                          false)),
                          Array("NAME:Graphics", _
                          "Rect:=", Array(0,                         _
                          0,       _
                          12566272, _
                          0,       _
                          4.33680868994202e-019, _
                          -0.000635, _
                          0.00508,              _
                          0.002794), _
                          "Circle:=", Array(0, _
                          0,       _
                          12566272,                 _
                          0.000127, _
                          0.000635,                 _
                          0.000635)))
       ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              Edit [depricated]
                                 Deprecated command — please use EditWithComps.
    Parameters:                  <SymbolName>:
                                 <string> // composite name of the symbol being edited
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   <NewSymbolName>:
                                           <string> // new simple name for the symbol
                      <ModifiedOnInfo>:
                      An integer that corresponds to the number of seconds that have elapsed
                      since 00:00 hours, Jan 1, 1970 UTC from the system clock.
                   <PinDefInfo>:
                       Array("NAME:PinDef",
                                 "Pin:=", Array (<string>, // pin name
                                                         <real>,        // x location
                                                          <real>,        // y location
                                                          <real>,        // angle in radians
                                                          <PinType>,
                                                          <real>, // line width
                                                           <real>, // line length
                                                          <bool>, // mirrored
                                                          <int>,       // color
                                                          <bool>, // true if visible, false if not
                                                          <string>, // hidden net name
                                                          <OptionalPinInfo>, // optional info
                   <PropDisplayMapInfo>)) // optional
                   <PinType>:
                     <string> // "N" : normal pin
                                    // "I" : input pin
                                    // "O" : output pin
                   <OptionalPinInfo>:
                   // Specify both or neither
                   <bool>,        // true if name is to be shown
                   <bool>,        // true if number is to be shown
<PropDisplayMapInfo>:
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                                     Array("NAME:PropDisplayMap",
                                                               <PropDisplayInfo>,
                                                               <PropDisplayInfo>,...)
                                                       <PropDisplayInfo>:
                                                       <NameString>, Array(<DisplayTypeInfo>,
                                                                                         <DisplayLocationInfo>,
                                                                                          <int>,        // optional, level number
                                                                                          <TextInfo>)
                                <NameString>:
                                                        <string> // PropertyName:=, where PropertyName is the name of
                                                                       // the property to be displayed
                                                       <DisplayTypeInfo>:
                                                       <int>       // 0 : No display
                                                                   // 1 : Display name only
                                                                   // 2 : Display value only
                                                                   // 3 : Display both name and value
                                                                   // 4: Display evaluated value only
                                                                   // 5: Display both name and evaluated value
                                                        <DisplayLocationInfo>:
                                                        <int>       // 0 : Left
                                                                    // 1 : Top
                                                                    // 2 : Right
                                                                    // 3 : Bottom
                                                                    // 4 : Center
                                                                    // 5 : Custom placement
                                                        <GraphicsDataInfo>:
                                   Array("NAME:Graphics",
                                              // one or more of the following
                                             <RectInfo>,
                                              <CircleInfo>,
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                                  <ArcInfo>,
                                  <LineInfo>,
                                  <PolygonInfo>,
                                  <TextInfo>,
                                  <ImageInfo>)
                     <RectInfo>:
                      "Rect:=", Array(<real>,               // line width
                                              <int>,       // fill pattern
                                              <int>,       // color
                                              <real>, // angle, in radians
                                              <real>,       // x position of center
                                              <real>,       // y position of center
                                                                    <real>, // width
                                                                    < real>) // height
                     <CircleInfo>:
                      "Circle:=", Array(<real>,               // line width
                                                <int>,       // fill pattern
                                                <int>,       // color
                                                <real>,       // x position of center
                                                <real>,       // y position of center
                                                                    < real>) // radius
                   <ArcInfo>:
                      "Arc:=", Array(<real>,              // line width
                                             <int>,       // line pattern
                                             <int>,       // color
                                             <real>,       // x position of center
                                             <real>,       // y position of center
                                                                  < real>,       // radius
                                                                   <real>,       // start angle, in radians
                                                                   <end>)        // end angle, in radians
<LineInfo>:
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                <PolygonInfo>:
                                   "Polygon:=", Array(<real>,                 // line width
                                                                <int>,        // fill pattern
                                                                <int>,        // color
                                                                                   <PointInfo>,           // must specify at least 3 points
                                                                                   <PointInfo>...)
                                <TextInfo>:
                                   "Text:=", Array(<real>,               // x position
                                                            <real>, // y position
                                                            <real>, // angle, in radians
                                                            <Justification>,
                                                             <bool>,        // is plotter font
                                                             <string>,        // font name
                                                              <int>,          // color
                                                              <string>)        // text string
                                                       <Justification>:
                                                       <int> // 0 : left top
                                                                // 1 : left base
                                                                // 2 : left bottom
                                                                // 3 : center top
                                                                // 4 : center base
                                                                // 5 : center bottom
                                                                // 6 : right top
                                                                // 7 : right base
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
// 8 : right bottom
                                                   <ImageInfo>:
                                                   "Image:=", Array(<RectInfo>,
                                                                              <ImageData>,
                                                                               <bool>)                  // is mirrored
                                                    <ImageData>:
                                                     <string>,         // file path
                                                     <int>,            // 0 : use the file path and link to it
                                                                       // 1 : ignore file path and use next parameter
                                                      <string>         // text data, only present if preceding int is 1
                         <ListOfComponentNames>:
                         <string>,<string> ...
                         // The list may be empty. When not empty, each string that is listed is a component
                         // that references the symbol to be edited. Prior to editing, a clone of the symbol is
                         // made, and the components that are listed are modified so that they now refer to
                         // the clone.
Example:
                         Dim nam
                         oSymbolManager.EditWithComps _
                         ("Nexxim Circuit Elements\Distributed\Distributed:bendo",
                         _
                         Array("NAME:bendo new name", _
                         "ModTime:=", 1152722165, _
                         "Library:=", "Nexxim Circuit Elements\Distributed\Dis-
                         tributed", _
                         "LibLocation:=", "SysLibrary", _
                         Array("NAME:PinDef", _
                         "Pin:=", Array( "n1", _
                         -0.00254, _
                         0.00254,              _
                         0, _
                         "N", _
                                                                                       Definition Manager Script Commands 27-73
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                0, _
                                0, _
                                false, _
                                0, _
                                true, _
                                "",        _
                                false, _
                                false)),              _
                                Array("NAME:PinDef", _
                                "Pin:=", Array( "n2", _
                                0.00254, _
                                -0.00254, _
                                1.5708, _
                                "N", _
                                0, _
                                0, _
                                false, _
                                0, _
                                true, _
                                "", _
                                false, _
                                false)),              _
                                Array("NAME:Graphics", _
                                "Polygon:=", Array( 0, 0, 12566272, 0, 0.00381, 0,
                                .00127, 0.00127, _
                                0.00127, 0.00127, 0, 0.00381, 0, 0.00381,                                                    _
                                0.002032, 0.00127, 0.00381), _
                                "Line:=", Array(0, 1, 12566272,                                        -0.00254, 0.00254, 0,
                                .00254), _
                                "Line:=", Array(0, 1, 12566272, 0.00254, -0.00254,
                                .00254, 0)), _
                                Array("NAME:PropDisplayMap", _
                                "W:=", Array(3, _
                                5, _
                                0, _
                                "Text:=", Array( 2.1684E-019, _
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             0.00504119, _
                             0, _
                             1, _
                             5, _
                             false, _
                             "Arial", _
                             0, _
                             "W=***"))))),                   _
                             Array(“MY_COMP”)
                                                     <SymbolName>:
                                                     <string> // composite name of symbol to export
                                                     <LibraryLocation>:
                                                      <string> // location of the library in <LibraryName>
                             // One of "Project", "PersonalLib", or "UserLib"
Example:
                             oSymbolManager.Export _
                             Array("NAME Nexxim Circuit Elements\Distributed\Distrib-
                             uted:bendo:mylib", _ "mySymbol"), "PersonalLib"
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Note    GetData allows the user to access definition information, make modifications,
            and then use the Edit or EditWithComps script commands to save the modified
            definition. Accordingly, for each type of definition, the array data returned to
            GetData should be the same array information that is supplied to the Edit or
            EditWithComps commands.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Return Value:                <Boolean> // true if the specified symbol is used in the design
Parameters:                  <SymbolName>:
                                                      <string>
Example:                     Dim isUsed
                             isUsed = oSymbolManager.IsUsed("MySymbol")
                                                     <IsProjectSymbol>:
                                                    <bool>
                                                     <LibraryName>:
                                                    <string> // name of the library
                                                     <LibraryLocation>:
                             <string> // location of the library in <LibraryName>
                             // One of "Project", "PersonalLib", or "UserLib"
Example:
                             oSymbolManager.Remove "Nexxim Circuit Elements\Distrib-
                             uted\Distributed:bendo", true, "Project"
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Syntax:                      RemoveUnused()
    Return Value:                <bool> True if one or more symbols are removed.
    Parameters:                  None
    Example:
                                 Dim removedDefs
                                 removedDefs = oSymbolManager.RemoveUnused()
             Also, the symbol and footprint of an unused component are not unusable until
             after the component itself is removed using the Component Manager Remove
             script.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Parameters:                  <FootprintName>:
                             <string> // simple name of footprint to create
                                <ModifiedOnInfo>:
                                An integer that corresponds to the number of seconds that have elapsed
                                since 00:00 hours, Jan 1, 1970 UTC from the system clock.
<UnitType>:
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                                        <LayerArray>:
                                                       Array("N:=", <string>,                            // layer name
                                                                 "ID:=", <int> ,
                                                                "T:=", <LayerTypeInfo>, // layer type
                                                                "TB:=", <TopBottomInfo>,
                                                                "Col:=", <int>,                       // optional - color
                                                                "Pat:=", <int>,                       // optional - fill pattern
                                                             "Vis:=", <bool>,                      // optional - are objects on layer visible
                                                               "Sel:=", <bool>,               // optional - are objects on layer selectable
                                                                "L:=", <bool>)                 // optional
                                                                                          // are objects on layer locked (can't be edited)
                                                       <LayerTypeInfo>:
                                <string> // one of: signal, dielectric, metalized signal, assembly, silkscreen, solder-
                                mask, solderpaste, glue, or user
                                <TopBottomInfo>:
                                <string> // one of: top, neither, bottom, or template
                                <StackupLayerArray>:
                                                       Array(<LayerArray>,
                                                                 "Elev:=", <ElevationInfo>,
                                                                 "SubL:=", Array("Th:=", <Dimension>,
                                                                                          "LElev:=", <Dimension>,
                                                                                          "R:=", <Dimension>,
                                                                                          "M:=", <MaterialInfo>))
                                                       <ElevationInfo>:
                                                       <string> // "top" - snap to top
                                                                     // "mid" - snap to middle
                                                                     // "bot" - snap to bottom
                                                                     // "edit" - manual edit
27-80 Definition Manager Script Commands
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
// "none"
                                           <Dimension>:
                                           <string> // real number, may include units
                                           <MaterialInfo>:
                                            <string> // name of the layer material
                                          <ToleranceArray>:
                                           Array(<real>,            // distance tolerance
                                                     <real>,       // angle tolerance (radians)
                                                     <real>)       // dimensionless tolerance
                   <PrimitivesInfo>:
                      Array("NAME:Prims",
                                 // one or more of the following
                                <RectInfo>,
                                 <CircleInfo>,
                                  <ArcInfo>,
                                  <LineInfo>,
                                  <PolygonInfo>,
                                  <TextInfo>,
                                  <ImageInfo>)
                     <RectInfo>:
                      "Rect:=", Array(<real>,               // line width
                                              <int>,       // fill pattern
                                              <int>,       // color
                                              <real>, // angle, in radians
                                              <real>,       // x position of center
                                              <real>,       // y position of center
                                                                    <real>, // width
                                                                    < real>) // height
<CircleInfo>:
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                  <ArcInfo>:
                                   "Arc:=", Array(<real>,              // line width
                                                          <int>,       // line pattern
                                                          <int>,       // color
                                                          <real>,       // x position of center
                                                          <real>,       // y position of center
                                                                               < real>,       // radius
                                                                                <real>,       // start angle, in radians
                                                                                <end>)        // end angle, in radians
                                  <LineInfo>:
                                   "Line:=", Array(<real>,               // line width
                                                            <int>,       // line pattern
                                                            <int>,       // color
                                                                                  <PointInfo>, // must specify at least 2 points
                                                                                  <PointInfo>...)
                                                       <PointInfo>:
                                                       <real>,       // x position
                                                       <real>        // y position
                                <PolygonInfo>:
                                   "Polygon:=", Array(<real>,                 // line width
                                                                <int>,        // fill pattern
                                                                <int>,        // color
                                                                                   <PointInfo>,           // must specify at least 3 points
                                                                                   <PointInfo>...)
<TextInfo>:
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                                            <ImageInfo>:
                                             "Image:=", Array(<RectInfo>,
                                                                        <ImageData>,
                                                                         <bool>)                  // is mirrored
                                             <ImageData>:
                                               <string>,         // file path
                                               <int>,            // 0 : use the file path and link to it
                                                                 // 1 : ignore file path and use next parameter
                                                <string>         // text data, only present if preceding int is 1
                   <PinsInfo>:
                                                Array("NAME:Pins",
                                                          "P:=", <PinArray>,
                                                           "P:=", <PinArray>,...)
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                                             <PinArray>:
                                                            Array("Port:=", Array("Id:=", <int>,
                                                                                            "Clr:=", <real>,            // optional - clearance
                                                                                            "N:=", <string>),           // pin name
                                                                    "Pos:=", Array("x:=", <Location>, // padstack (x,y) position
                                                                                             "y:=", <Location>),
                                                                        "VRt:=", <Angle>,                               // optional - rotation
                                                                       "HD:=", <Size>,                                // optional - hole diameter
                                                                        <PadstackImplementationInfo>)
                                                             <Location>:
                                                             <string> specifying real number and units (may use variables)
                                                             <Angle>:
                                                             <string> specifying angle with a real number and units
                                                             <Size>:
                                                             <string> specifying size with a real number and units
                                                             <PadstackImplementationInfo>:
                                                If another with the same implementation has already been specified:
                                                              "Ref:=", <int>          // id of the other
                                                If not:
                                                              "Ref:=", <string>,           // name
                                                              "Frm:=", <int>,              // id of highest layer
                                                              "To:=", <int>,               // id of lowest layer
                                                              <LayerPlacementInfo>,
                                                              "Man:=", <int>,            // optional, 1 if manually placed, 0 if not
                                (default)
                                                        "Use:=", Array(<PadUseInfo>, <PadUseInfo>…) // array may be
                                empty
                                                              <LayerPlacementInfo>:
                                                              "Lyr:=", Array("Mrg:=", <int>, // optional,
                                                                                             // 1 if all layers have been merged (default)
                                                                                                  // 0 if layer are not merged
27-84 Definition Manager Script Commands
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                                                  <ParentToLocalLayerInfo>:
                                                   Array("U:=", <DirectionOfUniqueness>,
                                                            "F:=", Array(<int>, <int>, …), // forward mapping
                                                                                                           // -1 is not mapped
                                                           "B:=", Array(<int>, <int>, …)) // backward mapping
                                                                                                         // -1 is not mapped
                   <PadUseInfo>:
                                               "Pad:=", Array("Lid:=", <int>,                    // layer id
                                                                     "T:=", <string>,           // type : "connected", "thermal",
                                                                                                 // "no_pad, "not_connected",
                                                                                                 // or "not_connected_thermal"
                                                                    "Man:=", <int>)             // optional, 1 if manually placed
                                                                                                 // 0 if not (default)
                                               <DirectionOfUniqueness>:
                                               <string> // one of "forward", "backward", or "two ways"
                                                <ViasInfo>:
                                                Array("NAME:Vias", <ViaInfo>, <ViaInfo>…)
                                                <ViaInfo>:
                                                "V:=", Array("Id:=", <int>,
                                                                    "N:=", <string>,           // name
                                                                   "Pos:=", Array("x:=", <Location>, // via (x,y) posi-
                   tion
                                                                                           "y:=", <Location>),
                                                "VRt:=", <Angle>,                // optional - rotation
                                                <ImplementationInfo>
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                                            <EdgeportsInfo>:
                                                           Array("NAME:EPorts", <EdgePortArray>, <EdgePortArray>…)
                                                            <EdgePortArray>:
                                Array("NAME:EP",
                                "LP:=", Array("Id:=", <int>, // port id
                                "N:=", <string>), // port name
                                "Eo:=", Array(<edge description>, <edge description>,...))
                                <start Y Location>:
                                   doubles that are the X, Y location of the start point of the edge arc <end X location>
                                <end Y Location>:
                                   doubles that are the X, Y location of the end point of the edge arc
                                <arc height>: double giving the height of the edge arc (0 for a straight edge)
                                <radians>: double giving the arc size in radians (0 for a straight edge)
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
                                                     <ComponentPropertyInfo>:
                                                    Array("NAME:CProps",
                                                             "VariableProp:=", <VariableInfo>,
                                                             "VariableProp:=", <VariableInfo>,
                                                             …)
                                                 <VariableInfo>:
                                                 Array(<string>,                             // name
                                                           <FlagLetters>,
                                                            <string>,                       // description
                                                             "CB:=", <string>,              // optional - script for call back
                                                     <string>)              // value: number, variable, or expression
                                                 <ScriptInfo>:
                                                 Array("NAME:script",
                                                          "language:=", <string>, // one of "javascript" or "vbscript"
                                                          "UsesScript:=", true,
                                                          "script:=", <string>)              // contents of script
Example:
                         oFootprintManager.Add (Array("NAME:BCL", _
                         "ModTime:=", 1023388445, _
                         "Library:=", "", _
                         "LibLocation:=", "Project", _
                         "OkayToMirror:=", false, _
                         "DefUnits:=", "mm", _
                         Array("NAME:Lyrs", _
                         "Layer:=", Array("N:=",                               "Measures", _
                         "ID:=", 8, _
                         "T:=", "measures", _
                         "Col:=", 4144959, _
                         "Pat:=", 1), _
                         "Layer:=", Array("N:=", "Rats",                                        _
                         "ID:=", 1, _
                         "T:=", "rat", _
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                "Col:=", 16711680, _
                                "Pat:=", 1), _
                                "Layer:=", Array("N:=", "Errors", _
                                "ID:=", 2, _
                                "T:=", "error", _
                                "Col:=", 255, _
                                "Pat:=", 1, _
                                "L:=", true), _
                                "Layer:=", Array("N:=", "Symbols", _
                                "ID:=", 3, _
                                "T:=", "symbol", _
                                "Col:=", 8323199, _
                                "Pat:=", 4), _
                                "Layer:=", Array("N:=", "Assembly", _
                                "ID:=", 4, _
                                "T:=", "assembly", _
                                "TB:=", "top",                      _
                                "Col:=", 16711680, _
                                Pat:=", 3), _
                                "Layer:=", Array("N:=", "Silkscreen", _
                                "ID:=", 5, _
                                "T:=", "silkscreen", _
                                TB:=", "top",                   _
                                "Col:=", 8454143, _
                                "Pat:=", 6), _
                                SLayer:=", Array("Layer:=", Array("N:=",                                                  "Cover", _
                                "ID:=", 12, _
                                "T:=", "metalizedsignal", _
                                "Col:=", 32639,                         _
                                Pat:=", 7), _
                                "Elev:=", "mid",                            _
                                "SubL:=", Array("Th:=", "0mm", _
                                "LElev:=", "118.110236220472mil", _
                                "R:=",           "0mm", _
                                "Mat:=", "")), _
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                "Elev:=",               "mid", _
                                "SubL:=", Array("Th:=", "0mm", _
                                "LElev:=", "39.3700787401575mil",                                          _
                                "R:=", "0mm",                         _
                                "Mat:=", "")), _
                                "SLayer:=", Array("Layer:=", Array("N:=", "Dielec1", _
                                "ID:=", 7, _
                                "T:=", "dielectric", _
                                "Col:=", 127, _
                                "Pat:=", 7), _
                                "Elev:=", "none", _
                                "SubL:=", Array("Th:=", "1mm", _
                                "LElev:=", "0mil", _
                                "R:=", "0mil", _
                                "Mat:=", "")), _
                                "SLayer:=", Array("Layer:=", Array("N:=", "Ground", _
                                "ID:=", 9,                _
                                "T:=", "metalizedsignal",                                 _
                                "Col:=", 4144959, _
                                "Pat:=", 6),                      _
                                "Elev:=",               "mid", _
                                "SubL:=", Array("Th:=", "0mil", _
                                "LElev:=", "0mil", _
                                "R:=", "0mil", _
                                "Mat:=",              ""))), _
                                "ActLyr:=", "Trace2", _
                                Array("NAME:Prims",
                                "rect:=", Array("Id:=", 10003, _
                                "Lyr:=", 10,                      _
                                "N:=", "rect101", _
                                "x:=", "0mm", _
                                "y:=", "0mm", _
                                "w:=", "P", _
                                "h:=", "W",                   _
                                "Vds:=", Array()),                         _
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 "B:=", Array(0))), _
                                 "Use:=", Array()), _
                                 "P:=", Array("Port:=", Array("Id:=", 6, "N:=", "n3"), _
                                 "Pos:=", Array("x:=", "P/2", "y:=", "0mm"),_
                                 "HD:=", "1mm", _
                                 "Ref:=", 5)),                   _
                                 Array("NAME:Nets"), _
                                 Array("NAME:CProps",
                                 "VariableProp:=", Array("W", _
                                 "UD", _
                                 "", _
                                 "1.5mm"),_
                                 "VariableProp:=", Array("P", _
                                 "UD", _
                                 "", _
                                 10mm"))))
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
                          "SLayer:=", <StackupLayerArray>...),
                          "ActLyr:=", <string>, // name of active layer
                          "Tol:=", <ToleranceArray> // optional
                          <PrimitivesInfo>, // optional
                          <PinsInfo>, // optional
                          <ViasInfo>, // optional
                          <EdgeportsInfo>, // optional
                          <ComponentPropertyInfo>,
                          <ScriptInfo>, // optional, specified for scripted footprints
                          Array(<ListofComponentNames>) // Component names
Return Value:             <string>
                          // composite name of the footprint.
                          // If the name requested conflicts with the name of an existing
                          // footprint, the requested name is altered to be unique.
                          // The name returned reflects any change made to be unique.
Parameters:               <FootprintName>:
                          <string> // composite name of the footprint being edited
                          <NewFootprintName>:
                                                  <string> // new simple name for the footprint
                             <ModifiedOnInfo>:
                             An integer that corresponds to the number of seconds that have elapsed
                             since 00:00 hours, Jan 1, 1970 UTC from the system clock.
                          <UnitType>:
                          <string> // default length units to use if units are not specified in other
                          // parameters
                          <LayerArray>:
                          Array("N:=", <string>, // layer name
                          "ID:=", <int> ,
                          "T:=", <LayerTypeInfo>, // layer type
                          "TB:=", <TopBottomInfo>,
       ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                <LayerTypeInfo>:
                                <string> // one of: signal, dielectric, metalized signal, assembly, silkscreen, solder-
                                mask, solderpaste, glue, or user
                                <TopBottomInfo>:
                                <string> // one of: top, neither, bottom, or template
                                <StackupLayerArray>:
                                Array(<LayerArray>,
                                "Elev:=", <ElevationInfo>,
                                "SubL:=", Array("Th:=", <Dimension>,
                                "LElev:=", <Dimension>,
                                "R:=", <Dimension>,
                                "M:=", <MaterialInfo>))
                                <ElevationInfo>:
                                <string> // "top" - snap to top
                                // "mid" - snap to middle
                                // "bot" - snap to bottom
                                // "edit" - manual edit
                                // "none"
                                <Dimension>:
                                <string> // real number, may include units
                                <MaterialInfo>:
                                <string> // name of the layer material
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   <ToleranceArray>:
                   Array(<real>, // distance tolerance
                   <real>, // angle tolerance (radians)
                   <real>) // dimensionless tolerance
                   <PrimitivesInfo>:
                   Array("NAME:Prims",
                   // one or more of the following
                   <RectInfo>,
                   <CircleInfo>,
                   <ArcInfo>,
                   <LineInfo>,
                   <PolygonInfo>,
                   <TextInfo>,
                   <ImageInfo>)
                   <RectInfo>:
                   "Rect:=", Array(<real>, // line width
                   <int>, // fill pattern
                   <int>, // color
                   <real>, // angle, in radians
                   <real>, // x position of center
                   <real>, // y position of center
                   <real>, // width
                   < real>) // height
                   <CircleInfo>:
                   "Circle:=", Array(<real>, // line width
                   <int>, // fill pattern
                   <int>, // color
                   <real>, // x position of center
                   <real>, // y position of center
                   < real>) // radius
<ArcInfo>:
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                <LineInfo>:
                                "Line:=", Array(<real>, // line width
                                <int>, // line pattern
                                <int>, // color
                                <PointInfo>, // must specify at least 2 points
                                <PointInfo>...)
                                <PointInfo>:
                                <real>, // x position
                                <real> // y position
                                <PolygonInfo>:
                                "Polygon:=", Array(<real>, // line width
                                <int>, // fill pattern
                                <int>, // color
                                <PointInfo>, // must specify at least 3 points
                                <PointInfo>...)
                                <TextInfo>:
                                "Text:=", Array(<real>, // x position
                                <real>, // y position
                                <real>, // angle, in radians
                                <Justification>,
                                <bool>, // is plotter font
                                <string>, // font name
                                <int>, // color
                                <string>) // text string
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   <Justification>: <int>
                   // 0 : left top
                   // 1 : left base
                   // 2 : left bottom
                   // 3 : center top
                   // 4 : center base
                   // 5 : center bottom
                   // 6 : right top
                   // 7 : right base
                   // 8 : right bottom
                   <ImageInfo>:
                   "Image:=", Array(<RectInfo>,
                   <ImageData>,
                   <bool>) // is mirrored
                   <ImageData>:
                   <string>, // file path
                   <int>, // 0 : use the file path and link to it
                   // 1 : ignore file path and use next parameter
                   <string> // text data, only present if preceding int is 1
                   <PinsInfo>:
                   Array("NAME:Pins",
                   "P:=", <PinArray>,
                   "P:=", <PinArray>,...)
                   <PinArray>:
                   Array("Port:=", Array("Id:=", <int>,
                   "Clr:=", <real>, // optional - clearance
                   "N:=", <string>), // pin name
                   "Pos:=", Array("x:=", <Location>, // padstack (x,y) position
                   "y:=", <Location>),
                   "VRt:=", <Angle>, // optional - rotation
                   "HD:=", <Size>, // optional - hole diameter
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
<PadstackImplementationInfo>)
                                <Location>:
                                <string> specifying real number and units (may use variables)
                                <Angle>:
                                <string> specifying angle with a real number and units
                                <Size>:
                                <string> specifying size with a real number and units
                                <PadstackImplementationInfo>:
                                If another with the same implementation has already been specified:
                                "Ref:=", <int> // id of the other
                                If not:
                                "Ref:=", <string>, // name
                                "Frm:=", <int>, // id of highest layer
                                "To:=", <int>, // id of lowest layer
                                <LayerPlacementInfo>,
                                "Man:=", <int>, // optional, 1 if manually placed, 0 if not (default)
                                "Use:=", Array(<PadUseInfo>, <PadUseInfo>…) // array may be empty
                                <LayerPlacementInfo>:
                                "Lyr:=", Array("Mrg:=", <int>, // optional,
                                // 1 if all layers have been merged (default)
                                // 0 if layer are not merged
                                "Flp:=", <int>, // optional,
                                // 1 if placed bottom up
                                // 0 if not (default)
                                "Map:=", <ParentToLocalLayerInfo>)
                                <ParentToLocalLayerInfo>:
                                Array("U:=", <DirectionOfUniqueness>,
                                "F:=", Array(<int>, <int>, …), // forward mapping
                                // -1 is not mapped
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   <PadUseInfo>:
                   "Pad:=", Array("Lid:=", <int>, // layer id
                   "T:=", <string>, // type : "connected", "thermal",
                   // "no_pad, "not_connected",
                   // or "not_connected_thermal"
                   "Man:=", <int>) // optional, 1 if manually placed
                   // 0 if not (default)
                   <DirectionOfUniqueness>:
                   <string> // one of "forward", "backward", or "two ways"
                   <ViasInfo>:
                   Array("NAME:Vias", <ViaInfo>, <ViaInfo>…)
                   <ViaInfo>:
                   "V:=", Array("Id:=", <int>,
                   "N:=", <string>, // name
                   "Pos:=", Array("x:=", <Location>, // via (x,y) position
                   "y:=", <Location>),
                   "VRt:=", <Angle>, // optional - rotation
                   <ImplementationInfo>
                   <EdgeportsInfo>:
                   Array("NAME:EPorts", <EdgePortArray>, <EdgePortArray>…)
                   <EdgePortArray>
                   Array("NAME:EP",
                   "LP:=", Array("Id:=", <int>, // port id
                   "N:=", <string>), // port name
                   "Eo:=", Array(<edge description>, <edge description>,...))
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                <arc height>: double giving the height of the edge arc (0 for a straight edge)
                                <radians>: double giving the arc size in radians (0 for a straight edge)
                                <ComponentPropertyInfo>:
                                Array("NAME:CProps",
                                "VariableProp:=", <VariableInfo>,
                                "VariableProp:=", <VariableInfo>,
                                …)
                                <VariableInfo>:
                                Array(<string>, // name
                                <FlagLetters>,
                                <string>, // description
                                "CB:=", <string>, // optional - script for call back
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
                         <ScriptInfo>:
                         Array("NAME:script",
                         "language:=", <string>, // one of "javascript" or "vbscript"
                         "UsesScript:=", true,
                         "script:=", <string>) // contents of script
                         <ListOfComponentNames>:
                         <string>,<string> ...
                         // The list may be empty. When not empty, each string that is listed is a component
                         // that references the footprint to be edited. Prior to editing, a clone of the footprint is
                         // made, and the components that are listed are modified so that they now refer to
                         // the clone.
Example:
                         Dim nam
                         oFootprintManager.EditWithComps _
                         ("Nexxim Circuit Elements\Distributed\Distributed:bendo",
                         _
                         Array("NAME:bendo new name", _
                         "ModTime:=", 1152722165, _
                         "Library:=", "Nexxim Circuit Elements\Distributed\Dis-
                         tributed", _
                         "LibLocation:=", "SysLibrary", _
                         Array("NAME:PinDef", _
                         "Pin:=", Array( "n1", _
                         -0.00254, _
                         0.00254,              _
                         0, _
                         "N", _
                         0, _
                         0, _
                         false, _
                         0, _
                         true, _
                                                                                      Definition Manager Script Commands 27-101
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                "",        _
                                false, _
                                false)),              _
                                Array("NAME:PinDef", _
                                "Pin:=", Array( "n2", _
                                0.00254, _
                                -0.00254, _
                                1.5708, _
                                "N", _
                                0, _
                                0, _
                                false, _
                                0, _
                                true, _
                                "", _
                                false, _
                                false)),              _
                                Array("NAME:Graphics", _
                                "Polygon:=", Array( 0, 0, 12566272, 0, 0.00381, 0,
                                .00127, 0.00127, _
                                0.00127, 0.00127, 0, 0.00381, 0, 0.00381,                                                    _
                                0.002032, 0.00127, 0.00381), _
                                "Line:=", Array(0, 1, 12566272,                                        -0.00254, 0.00254, 0,
                                .00254), _
                                "Line:=", Array(0, 1, 12566272, 0.00254, -0.00254,
                                .00254, 0)), _
                                Array("NAME:PropDisplayMap", _
                                "W:=", Array(3, _
                                5, _
                                0, _
                                "Text:=", Array( 2.1684E-019, _
                                0.00504119, _
                                0, _
                                1, _
                                5, _
                                false, _
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             "Arial", _
                             0, _
                             "W=***"))))),                   _
                             Array(“MY_COMP”)
                             <FootprintName>:
                             <string> // composite name of footprint to export
                             <LibraryLocation>:
                             <string> // location of the library in <LibraryName>
                             // One of "Project", "PersonalLib", or "UserLib"
Example:
                             oFootprintManager.Export Array("NAME:mylib", "Distributed
                             Footprints:BPAD"), "PersonalLib"
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Example:
                                 Dim footprintData
                                 footprintData = oFootprintManager.GetData("Nexxim Circuit
                                 Elements\Distributed\Nexxim_Footprints:MCPL13_Nexx")
    Note    GetData allows the user to access definition information, make modifications,
            and then use the Edit or EditWithComps script commands to save the modified
            definition. Accordingly, for each type of definition, the array data returned to
            GetData should be the same array information that is supplied to the Edit or
            EditWithComps commands.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             <IsProjectFootprint>:
                             <bool>
                             <LibraryName>:
                             <string> // name of the library
                             <LibraryLocation>:
                             <string> // location of the library in <LibraryName>
                             // One of "Project", "PersonalLib", or "UserLib"
Example:
                             oFootprintManager.Remove "BPAD", true, "Distributed Foot-
                             prints", "Project"
                             oFootprintManager.Remove "BPAD", false, "MyLib", "Person-
                             alLib"
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Example:
                                 Dim removedDefs
                                 removedDefs = oFootprintManager.RemoveUnused()
             Also, the symbol and footprint of an unused component are not unusable until
             after the component itself is removed using the Component ManagerRemove
             script.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                <LayerGeometryArray>,
                                <LayerGeometryArray....),
                                "hle:=", <PadInfo>
                                "hRg:=", <HoleRange>,
                                "sbsh:=", <SolderballShape>,
                                "sbpl:=", <SolderballPlacement>,
                                "sbr:=", <string>, // solderball diameter, real with units
                                "sb2:=", <string>, // solderball mid diameter, real with units
                                "sbn:=", <string>), // name of solderball material
                                "ppl:=", <PadPortLayerArray>)
    Return Value:               simple name of the added padstack
                                // If the name requested conflicts with the name of an existing
                                // padstack, the requested name is altered to be unique.
                                // The name returned reflects any change made to be unique.
    Parameters:                 <PadstackName>:
                                <string> // simple name of padstack to create
                                <ModifiedOnInfo>:
                                   An integer that corresponds to the number of seconds that have elapsed
                                   since 00:00 hours, Jan 1, 1970 UTC from the system clock.
                                <LayerGeometryArray>:
                                Array("Name:lgm",
                                "lay:=", <string>, // definition layer name
                                "id:=", <int>,              // definition layer id
                                "pad:=", <PadInfo>,               // pad
                                "ant:=", <PadInfo>,               // antipad
                                "thm:=", <PadInfo>,              // themal pad
                                "X:=", <string>,                 // pad x connection, real with units
                                "Y:=", <string>,                 // pad y connection, real with units
                                "dir:=", <DirectionString>)                        // pad connection direction
                                <PadInfo>:
                                Array("shp:=", <PadShape>,
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   "Szs:=", <DimensionArray>,
                   "X:=", <string>,           // x offset, real with units
                   "Y:=", <string>, // y offset, real with units
                   "R:=", <string>)           // rotation, real with units
                   <PadShape>:
                   <string> one of these choices
                   "No"       // no pad
                   "Cir"      // Circle
                   "Sq"      // Square
                   "Rct"       // Rectangle
                   "Ov"       // Oval
                   "Blt"      // Bullet
                   "Ply"      // Polygons
                   "R45"        // Round 45 thermal
                   "R90"        // Round 90 thermal
                   "S45"       // Square 45 thermal
                   "S90"       // Square 90 thermal
                   <DimensionArray>:
                   Array(<string>, ...) // each string is a real with units for one of the dimensions of the
                   shape
                   <DirectionString>:
                   <string> one of these choices
                   "No"       // no direction
                   "Any"        // any direction
                   "0"     // 0 degrees
                   "45"      // 45 degrees
                   "90"      // 90 degrees
                   "135"       // 135 degrees
                   "180"       // 180 degrees
                   "225"       // 225 degrees
                   "270"       // 270 degrees
                   "315"       // 315 degrees
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                <HoleRange>:
                                <string> one of these choices
                                "Thr"       // through all layout layers
                                "Beg"       // from upper pad layer to lowest layout layer
                                "End"       // from upper layout layer to lowest pad layer
                                "UTL"         // from upper pad layer to lowest pad layer
                                <SolderballShape>:
                                <string> one of these choices
                                "None"        // no solderball
                                "Cyl"       // cylinder solderball
                                "Sph"       // spheroid solderball
                                <SolderballPlacement>:
                                <string> one of these choices
                                "abv"       // above padstack
                                "blw"       // below padstack
                                <PadPortLayerArray>:
                                Array( <int>, <int>,....) where each int is a layer id
Example:
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Parameters:                  <PadstackName>:
                                 <string> // composite name of padstack to edit
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   <NewPadstackName>:
                   <string> // new simple name for padstack
                   <ModifiedOnInfo>:
                      An integer that corresponds to the number of seconds that have elapsed
                      since 00:00 hours, Jan 1, 1970 UTC from the system clock.
                   <LayerGeometryArray>:
                   Array("Name:lgm",
                   "lay:=", <string>, // definition layer name
                   "id:=", <int>,              // definition layer id
                   "pad:=", <PadInfo>,               // pad
                   "ant:=", <PadInfo>,               // antipad
                   "thm:=", <PadInfo>,              // themal pad
                   "X:=", <string>,                 // pad x connection, real with units
                   "Y:=", <string>,                 // pad y connection, real with units
                   "dir:=", <DirectionString>)                        // pad connection direction
                   <PadInfo>:
                   Array("shp:=", <PadShape>,
                   "Szs:=", <DimensionArray>,
                   "X:=", <string>,           // x offset, real with units
                   "Y:=", <string>, // y offset, real with units
                   "R:=", <string>)           // rotation, real with units
                   <PadShape>:
                   <string> one of these choices
                   "No"       // no pad
                   "Cir"      // Circle
                   "Sq"      // Square
                   "Rct"       // Rectangle
                   "Ov"       // Oval
                   "Blt"      // Bullet
                   "Ply"      // Polygons
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                <DimensionArray>:
                                Array(<string>, ...) // each string is a real with units for one of the
                                // dimensions of the shape
                                <DirectionString>:
                                <string> one of these choices
                                "No"       // no direction
                                "Any"        // any direction
                                "0"     // 0 degrees
                                "45"      // 45 degrees
                                "90"      // 90 degrees
                                "135"       // 135 degrees
                                "180"       // 180 degrees
                                "225"       // 225 degrees
                                "270"       // 270 degrees
                                "315"       // 315 degrees
                                <HoleRange>:
                                <string> one of these choices
                                "Thr"       // through all layout layers
                                "Beg"       // from upper pad layer to lowest layout layer
                                "End"       // from upper layout layer to lowest pad layer
                                "UTL"         // from upper pad layer to lowest pad layer
                                <SolderballShape>:
                                <string> one of these choices
                                "None"        // no solderball
                                "Cyl"       // cylinder solderball
                                "Sph"       // spheroid solderball
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
                         <SolderballPlacement>:
                         <string> one of these choices
                         "abv"       // above padstack
                         "blw"       // below padstack
                         <PadPortLayerArray>:
                         Array( <int>, <int>,....) where each int is a layer id
Example:
                         oPadstackManager.Edit "Circle - through1",
                         Array("NAME:Circle - through1", "ModTime:=",                                                       _
                           1235765635, "Library:=", "", "LibLocation:=", "Proj-
                         ect", Array("NAME:psd", "nam:=", _
                           "Circle - through1", "lib:=", "", "mat:=", "", "plt:=",
                         "0", Array("NAME:pds", Array("NAME:lgm", "lay:=", _
                           "Top Signal", "id:=", 0, "pad:=", Array("shp:=", "Cir",
                         "Szs:=", Array("2.5mm"), "X:=", _
                           "0mm", "Y:=", "0mm", "R:=", "0deg"), "ant:=",
                         Array("shp:=", "Cir", "Szs:=", Array( _
                           "3.5mm"), "X:=", "0mm", "Y:=", "0mm", "R:=", "0"),
                         "thm:=", Array("shp:=", "No", "Szs:=", Array(), "X:=",                                                     _
                           "0mm", "Y:=", "0mm", "R:=", "0"), "X:=", "0mm", "Y:=",
                         "0mm", "dir:=", "Any"), Array("NAME:lgm", "lay:=", _
                           "SignalA", "id:=", 1, "pad:=", Array("shp:=", "Cir",
                         "Szs:=", Array("2mm"), "X:=", _
                           "0mm", "Y:=", "0mm", "R:=", "0deg"), "ant:=",
                         Array("shp:=", "Cir", "Szs:=", Array( _
                           "3mm"), "X:=", "0mm", "Y:=", "0mm", "R:=", "0"),
                         "thm:=", Array("shp:=", "No", "Szs:=", Array(), "X:=",                                                     _
                           "0mm", "Y:=", "0mm", "R:=", "0"), "X:=", "0mm", "Y:=",
                         "0mm", "dir:=", "Any"), Array("NAME:lgm", "lay:=", _
                           "SignalB", "id:=", 2, "pad:=", Array("shp:=", "Cir",
                         "Szs:=", Array("2mm"), "X:=", _
                           "0mm", "Y:=", "0mm", "R:=", "0deg"), "ant:=",
                         Array("shp:=", "Cir", "Szs:=", Array( _
                           "3mm"), "X:=", "0mm", "Y:=", "0mm", "R:=", "0deg"),
                         "thm:=", Array("shp:=", "No", "Szs:=", Array(), "X:=",                                                     _
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
Parameters:               <PadstackName>:
                          <string> // composite name of the padstack being edited
                          <NewPadstackName>:
                          <string> // new simple name for the padstack
                          <ModifiedOnInfo>:
                          An integer that corresponds to the number of seconds that have elapsed
                          since 00:00 hours, Jan 1, 1970 UTC from the system clock.
                          <LayerGeometryArray>:
                          Array("Name:lgm",
                          "lay:=", <string>, // definition layer name
                          "id:=", <int>,              // definition layer id
       ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                <PadInfo>:
                                Array("shp:=", <PadShape>,
                                "Szs:=", <DimensionArray>,
                                "X:=", <string>,           // x offset, real with units
                                "Y:=", <string>, // y offset, real with units
                                "R:=", <string>)           // rotation, real with units
                                <PadShape>:
                                <string> one of these choices
                                "No"       // no pad
                                "Cir"      // Circle
                                "Sq"      // Square
                                "Rct"       // Rectangle
                                "Ov"       // Oval
                                "Blt"      // Bullet
                                "Ply"      // Polygons
                                "R45"        // Round 45 thermal
                                "R90"        // Round 90 thermal
                                "S45"       // Square 45 thermal
                                "S90"       // Square 90 thermal
                                <DimensionArray>:
                                Array(<string>, ...) // each string is a real with units for one of the
                                // dimensions of the shape
                                <DirectionString>:
                                <string> one of these choices
                                "No"       // no direction
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   <HoleRange>:
                   <string> one of these choices
                   "Thr"       // through all layout layers
                   "Beg"       // from upper pad layer to lowest layout layer
                   "End"       // from upper layout layer to lowest pad layer
                   "UTL"         // from upper pad layer to lowest pad layer
                   <SolderballShape>:
                   <string> one of these choices
                   "None"        // no solderball
                   "Cyl"       // cylinder solderball
                   "Sph"       // spheroid solderball
                   <SolderballPlacement>:
                   <string> one of these choices
                   "abv"       // above padstack
                   "blw"       // below padstack
                   <PadPortLayerArray>:
                   Array( <int>, <int>,....) where each int is a layer id
                   <ListOfComponentNames>:
                   <string>,<string> ...
                   // The list may be empty. When not empty, each string that is listed is a component
                   // that references the padstack to be edited. Prior to editing, a clone of the padstack is
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                // made, and the components that are listed are modified so that they now refer to
                                // the clone.
    Example:
                                oPadstackManager.EditWithComps "Circle - through1",
                                Array("NAME:Circle - through1", "ModTime:=", _
                                  1235765635, "Library:=", "", "LibLocation:=", "Proj-
                                ect", Array("NAME:psd", "nam:=", _
                                  "Circle - through1", "lib:=", "", "mat:=", "", "plt:=",
                                "0", Array("NAME:pds", Array("NAME:lgm", "lay:=", _
                                  "Top Signal", "id:=", 0, "pad:=", Array("shp:=", "Cir",
                                "Szs:=", Array("2.5mm"), "X:=", _
                                  "0mm", "Y:=", "0mm", "R:=", "0deg"), "ant:=",
                                Array("shp:=", "Cir", "Szs:=", Array( _
                                  "3.5mm"), "X:=", "0mm", "Y:=", "0mm", "R:=", "0"),
                                "thm:=", Array("shp:=", "No", "Szs:=", Array(), "X:=",                                                     _
                                  "0mm", "Y:=", "0mm", "R:=", "0"), "X:=", "0mm", "Y:=",
                                "0mm", "dir:=", "Any"), Array("NAME:lgm", "lay:=", _
                                  "SignalA", "id:=", 1, "pad:=", Array("shp:=", "Cir",
                                "Szs:=", Array("2mm"), "X:=", _
                                  "0mm", "Y:=", "0mm", "R:=", "0deg"), "ant:=",
                                Array("shp:=", "Cir", "Szs:=", Array( _
                                  "3mm"), "X:=", "0mm", "Y:=", "0mm", "R:=", "0"),
                                "thm:=", Array("shp:=", "No", "Szs:=", Array(), "X:=",                                                     _
                                  "0mm", "Y:=", "0mm", "R:=", "0"), "X:=", "0mm", "Y:=",
                                "0mm", "dir:=", "Any"), Array("NAME:lgm", "lay:=", _
                                  "SignalB", "id:=", 2, "pad:=", Array("shp:=", "Cir",
                                "Szs:=", Array("2mm"), "X:=", _
                                  "0mm", "Y:=", "0mm", "R:=", "0deg"), "ant:=",
                                Array("shp:=", "Cir", "Szs:=", Array( _
                                  "3mm"), "X:=", "0mm", "Y:=", "0mm", "R:=", "0deg"),
                                "thm:=", Array("shp:=", "No", "Szs:=", Array(), "X:=",                                                     _
                                  "0mm", "Y:=", "0mm", "R:=", "0"), "X:=", "0mm", "Y:=",
                                "0mm", "dir:=", "Any"), Array("NAME:lgm", "lay:=", _
                                  "Ground", "id:=", 3, "pad:=", Array("shp:=", "No",
                                "Szs:=", Array(), "X:=", _
                                  "0mm", "Y:=", "0mm", "R:=", "0deg"), "ant:=",
                                Array("shp:=", "No", "Szs:=", Array(), "X:=", _
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             <PadstackName>:
                             <string> // simple name of padstack to export
                             <LibraryLocation>:
                             <string> // location of the library in <LibraryName>
                             // One of "Project", "PersonalLib", or "UserLib"
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Example:
                                 oPadstackManager.Export Array("NAME:mylib", "myPad-
                                 stack"), "PersonalLib"
    Note    GetData allows the user to access definition information, make modifications,
            and then use the Edit or EditWithComps script commands to save the modified
            definition. Accordingly, for each type of definition, the array data returned to
            GetData should be the same array information that is supplied to the Edit or
            EditWithComps commands.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             <IsProjectPadstack>:
                             <bool>
                             <LibraryName>:
                             <string> // name of the library
                             <LibraryLocation>:
                             <string> // location of the library in <LibraryName>
                             // One of "Project", "PersonalLib", or "UserLib"
Example:
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Example:
                                 createdMaterial = oMaterialMgr.Add( Array("NAME:MyMateri-
                                 al1", "CoordinateSystemType:=", "Cartesian", "permittiv-
                                 ity:=", "0.123") )
                                 Dim oAnsoftApp
                                 Dim oDesktop
                                 Dim oProject
                                 Dim oDesign
                                 Dim oEditor
                                 Dim oModule
                                 Set oAnsoftApp = CreateObject("AnsysDesigner.Design-
                                 erScript")
                                 Set oDesktop = oAnsoftApp.GetAppDesktop()
                                 oDesktop.RestoreWindow
                                 Set oProject = oDesktop.NewProject
                                 oProject.InsertDesign "Nexxim Circuit", "Nexxim1", "", ""
                                 Set oMaterialMgr = oProject.GetDefinitionManager().Get-
                                 Manager("Material")
                                 Dim createdMat
                                 createdMat = oMaterialMgr.Add( Array("NAME:MyMaterial1",
                                 "CoordinateSystemType:=", "Cartesian", "permittivity:=",
                                 "0.123") )
                                 Dim message
                                 message = "Created material '" + createdMat + "'"
                                 Msgbox message
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
                         Type: Array
                         Value: New material data.
Example:
                         oMaterialMgr.Edit( "MyMaterial2", Array("NAME:MyMateri-
                         al2_mod", "CoordinateSystemType:=", _
                         "Cartesian", Array("NAME:AttachedData"), Array("NAME:Mod-
                         ifierData"), "permittivity:=", _
                         "123", "permeability:=", "0.987654", "conductivity:=",
                         "58000000", "thermal_conductivity:=", _
                         "400", "mass_density:=", "8933", "specific_heat:=",
                         "385", "youngs_modulus:=", _
                         "120000000000", "poissons_ratio:=", "0.38", "thermal_ex-
                         pansion_coeffcient:=", "1.77e-005"))
                         Dim oAnsoftApp
                         Dim oDesktop
                         Dim oProject
                         Dim oDesign
                         Dim oEditor
                         Dim oModule
                         Set oAnsoftApp = CreateObject("AnsysDesigner.Design-
                         erScript")
                         Set oDesktop = oAnsoftApp.GetAppDesktop()
                         oDesktop.RestoreWindow
                         Set oProject = oDesktop.NewProject
                         oProject.InsertDesign "Nexxim Circuit", "Nexxim1", "", ""
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                                                      Array("NAME:ModifierData"), "permittiv-
                                 ity:=", "0.456")
                                 oMaterialMgr.Add Array("NAME:MyMaterial3", "Coordinate-
                                 SystemType:=", "Cartesian", Array("NAME:AttachedData"), _
                                                                      Array("NAME:ModifierData"), "permittiv-
                                 ity:=", "0.789")
                                 Dim oAnsoftApp
                                 Dim oDesktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             Dim oProject
                             Dim oDesign
                             Dim oEditor
                             Dim oModule
                             Set oAnsoftApp = CreateObject("AnsysDesigner.Design-
                             erScript")
                             Set oDesktop = oAnsoftApp.GetAppDesktop()
                             oDesktop.RestoreWindow
                             Set oProject = oDesktop.NewProject
                             oProject.InsertDesign "Nexxim Circuit", "Nexxim1", "", ""
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Example:
                                 materialNames = oMaterialMgr.GetNames()
                                 Dim oAnsoftApp
                                 Dim oDesktop
                                 Dim oProject
                                 Dim oDesign
                                 Dim oEditor
                                 Dim oModule
                                 Set oAnsoftApp = CreateObject("AnsysDesigner.Design-
                                 erScript")
                                 Set oDesktop = oAnsoftApp.GetAppDesktop()
                                 oDesktop.RestoreWindow
                                 Set oProject = oDesktop.NewProject
                                 oProject.InsertDesign "Nexxim Circuit", "Nexxim1", "", ""
                                 Set oMaterialMgr = oProject.GetDefinitionManager().Get-
                                 Manager("Material")
                                 oMaterialMgr.Add( Array("NAME:MyMaterial1", "Coordinate-
                                 SystemType:=", "Cartesian", "permittivity:=", "0.123") )
                                 oMaterialMgr.Add( Array("NAME:MyMaterial2", "Coordinate-
                                 SystemType:=", "Cartesian", "permittivity:=", "0.456")
                                 Dim materialNames
                                 materialNames = oMaterialMgr.GetNames()
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 Dim oAnsoftApp
                                 Dim oDesktop
                                 Dim oProject
                                 Dim oDesign
                                 Dim oEditor
                                 Dim oModule
                                 Set oAnsoftApp = CreateObject("AnsysDesigner.Design-
                                 erScript")
                                 Set oDesktop = oAnsoftApp.GetAppDesktop()
                                 oDesktop.RestoreWindow
                                 Set oProject = oDesktop.NewProject
                                 oProject.InsertDesign "Nexxim Circuit", "Nexxim1", "", ""
                                 Dim message
                                 Dim createdMat
                                 createdMat = oMaterialMgr.Add( Array("NAME:MyMaterial",
                                 "CoordinateSystemType:=", "Cartesian", "permittivity:=",
                                 "0.123") )
                                 message = "Created material '" + createdMat + "'"
                                 Msgbox message
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
ExportFullWaveSpice
ExportNetworkData
ExportNMFData
          ExportFullWaveSpice [NdExplorer Manager]
Use:                         Export FullWaveSpice data in a format of your choice.
Command:                     File > Export MacroModel > Broadband (SYZ, FWS….)
Syntax:                      ExportFullWaveSpice
                             "DesignName", // Design name. Can be left blank, if loading solution from a file.
                             true/false,            // true - solution loaded from file, false- loaded from design
                             "Name",               // If loading from design this is the solution name, else this is the
                                           // full path of the file from which the solution is loaded
                             "variation",          // Pick a particular variation. Leave blank if no variation.
                             Array("NAME:Frequencies"), // Optional; if none defined all frequencies are used
                             Array("NAME:SpiceData",                           // Spice export options object
                             "SpiceType:=", "SSS",                              // SpiceType can be "PSpice", "HSpice", "Spec-
                             tre", "SSS",
                                                            // "Simplorer", "TouchStone1.0", "TouchStone2.0"
                             "EnforcePassivity:=", false,                     // Enforce Passivity true/false
                             "EnforceCausality:=", false,                    // Enforce Causality true/false
                             "UseCommonGround:=", false, // Use common ground true/false
                             "FittingError:=", 0.5,                           // Fitting error
                             "MaxPoles:=", 400,                               // Maximum Order
                             "PassivityType:=", "ConvexOptimization", // Passivity Type can be "ConvexOptimi-
                             zation",
                                                                   // "PassivityByPerturbation", or "IteratedFittingOfPV"
                             "ColumnFittingType:=", "Column", // Column FittingType can be "Column",
                             "Entry", "Matrix"
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              EditScript
    Use:                         Edit Script in the script definition manager
    Command:                     None
    Syntax:                      EditScript <OriginalName>,Array(“NAME:<NewName>”, <
                                 ScriptText >)
    Return Value:                None
    Parameters:                  <OriginalName>
                                 Type: <String>
                                 Name of the script before editing.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             <NewName>
                             Type: <String>
                             New name for the script.
                             <ScriptText>
                             Type: <string> // text of script
Example:
                             oDefinitionManager.EditScript "myscript",
                             Array("NAME:myscript", "ScriptLang:=",                                                _
                                  "vbscript", "ScriptText:=", _
                             "MsgBox(" & Chr(34) & "Hello Again" & Chr(34) & ")")
          ExportScript
Use:                         Export to Library in the script definition manager
Command:                     None
Syntax:                      ExportScript <ExportData>,<Library location>
Return Value:                None
Parameters:                  <ExportData>
                                  Array(“NAME:<LibraryName>”,<ScriptName>,<ScriptName>,…)
Example:
                             oProject.ExportComponent Array("NAME:mylib", "myscript"),
                             "PersonalLib"
          RemoveScript
Use:                         Remove Script in the script definition manager
Command:                     None
Syntax:                      RemoveScript <ScriptName>,<IsProjectScript>,
                             <LibraryName>,<LibraryLocation>
Return Value:                None
Parameters:                  <ScriptName>
                             Type: <string>
                             <IsProjectScript>
                             Type: <bool>
                             <LibraryName>
                             Type: <string>
                             <LibraryLocation>
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 Type: <string>
    Example:
                                 oDefinitionManager.RemoveScript "myscript", true,
                                 "Local", "Project"
              ModifyLibraries
    Use:                         Configure Libraries on the Tools menu
    Command:                     None
    Syntax:                      ModifyLibraries <DesignName>,Array(<ConfigLibArray>)
    Return Value:                None
    Parameters:                  <DesignName>
                                 Type: <string>
                                 <ConfigLibArray>
                                 Array(“NAME:<LibraryType>,<ConfiguredLib>,<Config-
                                 uredLib>,…),…
                                 <ConfiguredLib> // blank to leave unchanged
                                 <DefinitionType>
                                 Array(“<libraryname >”,”<libraryname>”,…)
    Example:
                                 oDefinitionManager.ModifyLibraries "MyCircuit", _
                                 Array("NAME:PersonalLib"), _
                                 Array("NAME:UserLib"), _
                                 Array("NAME:SystemLib", _
                                 "Symbols:=", Array( "Circuit Elements", "Symbols", _
                                 "ParamExtraElements\PE_Symbols", _
                                 "Vendor Elements\Nonlinear"))
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
28               Definition Editor Script
              Commands
                    The Definition Editor controls the use of materials and scripts in a Designer
                    project. Symbol editor script commands and footprint editor script com-
                    mands are accessed using the Definition Editor.
                    Set oDefinitionEditor = oProject.SetActiveDefinitionEdi-
                    tor("SymbolEditor", "MySymbol")
                    Set oDefinitionEditor = oProject.SetActiveDefinitionEdi-
                    tor("FootprintEditor", "MyFootprint")
 ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                     of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                             Introduction to Scripting in ANSYS Electronics Desktop
<PropServersArray>
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                Array(“Name:PropServers”, <PropServer>,
                                <PropServer>, ...)
                                <NewPropsArray>
                                Array(“Name:NewProps”, <PropDataArray>,
                                <PropDataArray>,...)
                                <ChangedPropsArray>
                                Array(“Name:ChangedProps”,<PropDataArray>,
                                <PropDataArray>, ...)
                                <DeletedPropsArray>
                                Array(“Name:DeletedProps”, <PropName>,
                                <PropName>, ...)
                                OR (for PropDisplay deletions only)
                                Array("Name:DeletedProps",<PropDataArray>,
                                <PropDataArray>, ...)
                                <PropDataArray>
                                Array("NAME:<PropName>",
                                “PropType:=”, <PropType>,
                                “NewName:=”, <string>,
                                “Description:=”, <string>,
                                “Callback:=”, <string>,
                                “NewRowPosition:=”, <int>,
                                “ReadOnly:=”, <bool>,
                                “Hidden:=”, <bool>,
                                <PropTypeSpecificArgs>)OR (for PropDisplays only)
                                Array("Name:<PropName>",<PropDisplayData>)
                                <PropDisplayData>
                                for adding, changing, deleting PropDisplays
                                <PropDisplayAttributes>
                                for changing PropDisplays only
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
<PropDisplayNewAttributes>
                   <PropDisplayAttributes>
                   Layer & Location only used for PropDisplays in layout
                   For adding PropDisplays, this will add a single PropDisplay with attributes as shown;
                   if an attribute is missing, a default value will be assigned. Adding PropDisplay to
                   schematic with attributes that are identical to one already existing there will fail with-
                   out an error message.
                   For deleting PropDisplays, these attributes are used to identify an existing PropDis-
                   play to delete. If there doesn't exist a PropDisplay that matches the given attributes,
                   then nothing will be deleted. If multiple PropDisplays match the given attributes, then
                   all of them will be deleted. If an attribute is missing, then all PropDisplays match that
                   missing attribute. For example, if Layer is missing, then PropDisplays on all layers
                   that match the remaining given attributes will be deleted.
                   For changing PropDisplays, these attributes are used to identify an existing PropDis-
                   play to change. If no PropDisplay matching the attributes is found, no changes will be
                   made. If multiple PropDisplays match the attributes, all of them will be changed. If an
                   attribute is missing, it matches all PropDisplays. For example, to change the format of
                   PropDisplays that are on the bottom, but have any layer, style or format to show the
                   name only, this command should have Location set to "Bottom" and all other attri-
                   butes omitted.
                   "Format:=", <PropDisplayType>,
                   "Location:=", <PropDisplayLocation>,
                   "Layer:=", <string>,
                   "Style:=", <string>
<PropDisplayNewAttributes>
                   "NewName:=", <string>,
                   "NewFormat:=", <PropDisplayType>,
                   "NewLocation:=", <PropDisplayLocation>,
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                "NewLayer:=", <string>,
                                "NewStyle:=", <string>
                                <PropDisplayType>
                                Type: string
                                Identifies the format of PropDisplay.
                                "Name"
                                "Value"
                                "NameAndValue"
                                "EvaluatedValue"
                                "NameAndEvaluatedValue"
                                <PropDisplayLocation>
                                Type: string
                                Identifies where PropDisplay is located with respect to object
                                "Left"
                                "Top"
                                "Right"
                                "Bottom"
                                "Custom"
                                <PropType>
                                Type: string
                                Identifies the type of property when a new property is added. In Designer, only sep-
                                arator properties and variable properties can be added.
                                "SeparatorProp"
                                "VariableProp"
                                "TextProp”
                                "NumberProp"
                                "ValueProp"
                                "CheckboxProp"
                                "MenuProp”
                                "PointProp"
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
                   "VPointProp"
                   "ButtonProp"
                   NewName
                   Specify the new name of a property if the property’s name is being edited. In
                   Designer, the name can only be changed for separators and variables.
                   Description
                   Specify a description of the property. In Designer, the description can only be
                   changed for separators and variables.
                   Callback
                   Specify the name of the script callback to be run when the property value is changed.
                   NewRowPosition
                   Used to reorder rows in the Property dialog box. In Designer, this only applies to the
                   Project>Project Variables panel and the Designer>Design Properties panel.
                   Specify the new zero-based row index of the variable or separator.
                   ReadOnly
                   Used to mark a property as “read only” so it can not be modified. In Designer, this
                   flag can only be set for variables and separators.
                   Hidden
                   Used to hide a property so it can not be viewed outside of the Property dialog box.
                   In Designer, this flag can only be set for variables and separators.
                   <PropTypeSpecificArgs>
                   SeparatorProp: no arguments
                   TextProp: “Value:=”, <string>
                   NumberProp: “Value:=”, <double>
                   ValueProp: “Value:=”, <value>
                   CheckboxProp: “Value:=”, <bool>
                   MenuProp: “Value:=”, <string>
                   PointProp“X:=", <double>, "Y:=", <double>
                   VPointProp: "X:=", <value>, "Y:=", <value>
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                Parameters:
                                <OptimizationFlagsArray>
                                Array("NAME:Optimization",
                                "Included:=", <bool>,
                                "Min:=", <value>,
                                "Max:=", <value>)
                                <TuningFlagsArray>
                                Array("NAME:Tuning",
                                "Included:=", <bool>,
                                "Step:=", <value>,
                                "Min:=", <value>,
                                "Max:=", <value>)
                                <SensitivityFlagsArray>
                                Array("NAME:Sensitivity",
                                "Included:=", <bool>,
                                "Min:=", <value>,
                                "Max:=", <value>,
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
"IDisp:=", <value> )
                         <StatisticsFlagsArray>
                         Array(“NAME:Statistical”,
                         “Included:=”, <bool>,
                         “Dist:=”, <Distribution>,
                         “StdD:=”, <value>,
                         “Min:=”, <value>,
                         “Max:=”, <value>,
                         “Tol:=”, <string>)
                         <Distribution>
                         Type: string
                         Value should be “Gaussian” or “Uniform”
                         StdD
                         Standard deviation.
                         Min
                         Low cut-off for the distribution.
                         Max
                         High cut-off for the distribution.
                         Tol
                         Tolerance for uniform distributions. Format is “<int>%”.
                         Example: “20%”.
Example:
                         Adding a new project level variable “$width”:
                         oProject.ChangeProperty Array("NAME:AllTabs",_
                         Array("NAME:ProjectVariableTab",_
                         Array("NAME:PropServers", "ProjectVariables"),_
                         Array("NAME:NewProps",_
                         Array("NAME:$width",_
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                "PropType:=", "VariableProp",_
                                "Value:=", "3mm",_
                                “Description:=”, “my new variable”))))
                                oEditor.ChangeProperty Array("NAME:AllTabs", _
                                Array("NAME:PassedParameterTab", _
                                Array("NAME:PropServers",                                 "CHOKE2"), _
                                Array("NAME:ChangedProps", _
                                Array("NAME:L", "Callback:=", "ac", "OverridingDef:=",
                                true), _
                                Array("NAME:L", "Value:=", "1nH"))))
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Syntax:                      CreateLine
Example:
                             oDefinitionEditor.CreateLine Array("NAME:LineData", _Re-
                             turn Value:None
                             "Points:=", Array( "(0.001778, -0.001270)", _
                             "(0.004572, 0.002794)", "(0.003048, 0.003556)"), _
                             "Id:=", 14), Array("NAME:Attributes", "Page:=", 1)
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Syntax:                      CreateRectangle
    Return Value:                None
    Example:
                                 oDefinitionEditor.CreateRectangle Array("NAME:RectData",
                                 _
                                 "X1:=", -0.001524, "Y1:=",                                  0.000508, _
                                 "X2:=", 0.002286, "Y2:=", -0.002032, "Id:=", 18), _
                                 Array("NAME:Attributes", "Page:=", 1)
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Return Value:                Variant array of strings – the names of the properties belonging to the prop
                             server.
Example:                     Dim all_props
                             all_props = oDesign.GetProperties(“BaseElementTab”,_
                             "rect_1")
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             <Thickness>
                             Type: <String> containing number and units (e.g. "0mil")
                             <Elevation>
                             Type: <String> containing number and units (e.g. "0mil")
                             <Roughness>
                             Type: <String> containing number and units (e.g. "0mil")
                             <Material>
                             Type: <String>
                             oEditor.AddStackupLayer Array("NAME:stackup layer",
                             "Name:=", "MyLayer2", _
                               "Type:=", "Signal", "Top Bottom:=", "neither",
                             "Color:=", 127, "Pattern:=", 7, _
                             "Visible:=", true, "Selectable:=", true, "Locked:=",
                             false, "ElevationEditMode:=", "none",_
                             Array("NAME:Sublayer", "Thickness:=", "25mil", "LowerEle-
                             vation:=", "0mil", _
                             "Roughness:=", "0mil", "Material:=", "Al2_O3_ceramic"),
                             "UseR:=", true, _
                               "RMdl:=", "Huray", "NR:=", "2mil", "HRatio:=", 2.8)
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                  Introduction to Scripting in ANSYS Electronics Desktop
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
Note: An error will be returned if this script command is not used at the top-level hierarchy.
       ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
       ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                                           Array ("Layer:=",                        6,
                                                                          "Name:=", "circle void_10",
                                                                          "LayerName:=", "Top",
                                                                          "lw:=", "0mm",
                                                                          "x:=",           "26mm",
                                                                          "y:=", "11mm",
                                                                          "r:=", "1.41421356237309mm"))
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                                    <arc height>: double giving the height of the edge arc (0 for a straight edge)
                                    <radians>: double giving the arc size in radians (0 for a straight edge)
                             <flag>
                                    true if the port is an external port
                                    false if the port is an internal port
Example:
                             oDefinitionEditor.CreateEdgePort Array("NAME:Contents",
                             "edge:=", Array("et:=",
                             "pe", "prim:=", "rect_6", "edge:=", 1), "edge:=",
                             Array("et:=", "pe", "prim:=",
                             "rect_6", "edge:=", 2), "external:=", true)
                             oDefinitionEditor.CreateEdgePort Array("NAME:Contents",
                             "edge:=", Array("et:=",
                             "pse", "sel:=", "via_4", "layer:=", 4, "sx:=", -0.0015,
                             "sy:=", 0.0015, "ex:=", -0.0015,
                             "ey:=", -0.0015, "h:=", 0, "rad:=", 0), "edge:=",
                             Array("et:=", "pse", "sel:=", "via_4",
                             "layer:=", 4, "sx:=", 0.0015, "sy:=", 0.0015, "ex:=", -
                             0.0015, "ey:=", 0.0015, "h:=", 0,
                             "rad:=",              0), "external:=", true)
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Example:
                                 oDefinitionEditor.CreateLine Array("NAME:Contents", _
                                 "lineGeometry:=", Array("Name:=",                                          _
                                      "line_160", "LayerName:=", "Top", "lw:=", "0.5mm", _
                                 "endstyle:=", 0, "joinstyle:=", 1, "n:=", 3, _
                                 "x0:=", "2.22709029912949mm", "y0:=",
                                 "0.819053850136697mm", _
                                 "x1:=", "-0.0527859515mm", "y1:=", "0.8894385mm ",
                                 "x2:=", "1.63943274461105mm", "y2:=",
                                 "0.769682056256832mm"))
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             <text_style> :
                                    "name:=",                <quoted string>, // its name
                                    "isPlot:=", <bool>,
                                    "font:=",                <font_name>,
                                    "size:=", double,                              // size in current units
                                    "angle:=",               <value>,
                                    "weight:=", <text_weight>,
                                    "just:=",                <text_justification>,
                                    "mirror:=", <bool>,
                                    "scales:=", <bool>))
Example:
                             oEditor.CreateMeasure
                                      Array("NAME:Contents",
                                                   "MeasurementGeometry:=",
                                                             Array("Layer:=",                       0,
                                                                          "Name:=", "Measurement_2",
                                                                          "LayerName:=", "Measures",
                                                                          "lw:=", "0mm",
                                                                          "sx:=", "-32mm",
                                                                          "sy:=", "-13mm",
                                                                          "ex:=", "32mm",
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                                                              "ey:=", "-11mm",
                                                                              "name:=", "<DefaultAnnotation>",
                                                                              "isPlot:=", false,
                                                                              "font:=", "Arial",
                                                                              "size:=", 10,
                                                                              "angle:=",                "0deg",
                                                                              "weight:=", 3,
                                                                              "just:=", 4,
                                                                              "mirror:=", false,
                                                                              "scales:=", false))
              CreatePolygonVoid (Footprint Editor)
    Use:                         Creates a polygon void and adds it to a specified as parameter parent
                                 primitive.
    Syntax:                      CreatePolygonVoid <polygon_void_description>
                                 <polygon_void_description>:
                                 Array("NAME:Contents",
                                 "owner:=", <object_name>, // owner name
                                 "poly voidGeometry:=", <polygon_geometry>) // definition
    Return Value:                Returns the name of the newly created object.
    Example:
                                 oEditor.CreatePolygonVoid
                                          Array("NAME:Contents",
                                                       "owner:=", "rect_4",
                                                       "poly voidGeometry:=",
                                                               Array("Layer:=", 6,
                                                                            "Name:=", "poly void_18",
                                                                            "LayerName:=", "Top",
                                                                            "lw:=", "0mm",
                                                                            "n:=", 5,
                                                                            "x0:=", "21mm", "y0:=", "9mm",
                                                                            "x1:=", "21mm", "y1:=", "5mm",
                                                                            "x2:=", "24mm", "y2:=", "7mm",
                                                                            "x3:=", "24mm", "y3:=", "7mm",
                                                                            "x4:=", "24mm", "y4:=", "7mm"))
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Command:                     None.
Syntax:                      GetAllLayerNames
Return Value:                Array of strings which are the names of all layers in the layout, blackbox, or
                             footprint.
Parameters:                  None.
                             The following are also in the array if the layer is a stackup layer:
                             Index: integer [the stackup order index]
                             LayerThickness: double [total layer thickness, in meters]
                             EtchFactor: double [won't show if the layer has no etch factor defined]
                             IsIgnored: "true"|"false"
                             NumberOfSublayers: 1 [always 1]
                             Material0: materialName
                             FillMaterial0: materialName
                             Thickness0: expression_with_units
                             LowerElevation0: expression_with_units
                             Roughness0Type: Groisse | Huray [won't show if the layer has no roughness defined]
                             Roughness0: expression_with_units | expression_with_units, double [Groisse rough-
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Example:
                                 oEditor.RemoveLayer ("T3 C1 sub")
                                 oDefinitionEditor.RemoveLayer("Top3 Footprint")
              Note As with other Layout scripting interface commands that modifiy the layout, this command is
              not intended for use within scripts that define footprints. The command behavior from within such
              a script is undefined and may be unexpected. Use the LayoutHost scripting interface commands
              within scripts that define footprints.
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
oDefinitionEditor.Save
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Command:                     None
Syntax:                      ZoomToFit()
Return Value:                None
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
29               Design Verification Script
              Commands
                    The Design Verification (DV) module controls the use of DV rule sets and
                    runs in a Designer project. The DV module is accessed via the design script
                    object.
                    Set oDesign = oProject.GetActiveDesign()
                    Set oModule = oDesign.GetModule("DV")
 ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                     of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    AddRuleSet
    Use:                         Adds a rule set to the design
    Command:                     Right-click Design Verification in the Project Tree and choose Add Rule Set
    Syntax:                      AddRuleSet Array("NAME:<RuleSetName>",
                                 "ScriptNames:=", <ScriptInfo>,
                                 "ScriptActiveFlags:=", <ScriptFlags>)
    Return Value:                None
    Parameters:                  <RuleSetName>:
                                 <string> // name of the rule set to create
                                 <ScriptInfo>:
                                 Array(<string>, <string>,...) // names of scripts to be in the rule set
                                 <ScriptFlags>:
                                 sequence of "t" and "f" characters
                                 t indicates a script that is active (used in when the rule set is run)
                                 f indicates a script is not currently active (used when the rule set is run)
                                 applied to the scripts as ordered in <ScriptInfo>
                                 <string>
    Example:
                                 oModule.AddRuleSet Array("NAME:Rule Set 9", _
                                 "ScriptNames:=", Array("And",                                      _
                                 "Find Shorts"),                      _
                                 "ScriptActiveFlags:=", "tf")
              AddRun
    Use:                         Adds a run to a rule set already in the design
    Command:                     Right-click on a rule set item under Design Verification in the Project Tree
                                 and choose Add Run
    Syntax:                      AddRun <RuleSetName>,
                                                                       Array("NAME:<RunName>",
                                                                             "TargetType:=", <TargetTypeInfo>,                              // optional
                                                                             "TargetObjects:=", <TargetObjectsInfo>,                        // optional
                                                                             "IgnoredObjects:=", <IgnoredObjectsInfo>, // optional
                                                                             "ArcTolerance:=", <ToleranceString>)                           // optional
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                         Introduction to Scripting in ANSYS Electronics Desktop
                                                 <RunName>:
                                                  <string> // name of the run to create
                                                  <TargetTypeInfo>:
                                                  <int>       // 0 for entire layout (default if not specified)
                                                              // 1 for specified portion of layout
                                                   <TargetObjectsInfo>:
                                                    objects on which to perform the check
                                                    may specify if TargetTypeInfo is 1 (specified portion of layout)
                                                   "<ObjectName>, <ObjectName>, ..."
                                                   <ObjectName>:
                                                   <string> // name of a layout object
                                                   <IgnoredObjectsInfo>:
                                                    objects which to ignore when performing the check
                                                    may specify if TargetTypeInfo is 0 (entire layout)
                                                   "<ObjectName>, <ObjectName>, ..."
                                                   <ToleranceString>:
                                                   <string> // real number and units
                                                                 // if not specified, the current layout arc tolerance is used
Example:
                          oModule.AddRun "Rule Set 10", _
                          Array("NAME:All", _
                          "TargetType:=", 0)
                          oModule.AddRun "Rule Set 10", _
                          Array("NAME:Selected Objs2",                                     _
                          "TargetType:=", 1, _
       ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                           of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 "TargetObjects:=", "line_975,line_1015")
                                 oModule.AddRun "Rule Set 10", _
                                 Array("NAME:Objects to Ignore2", _
                                 "TargetType:=", 0, _
                                 "IgnoredObjects:=", "via_209,line_736")
              DeleteRuleSet
    Use:                         Deletes a rule set from the design
    Command:                     Right-click on a rule set item under Design Verification in the Project Tree
                                 and choose Delete
    Syntax:                      DeleteRuleSet <RuleSetName>
    Return Value:                None
    Parameters:                  <RuleSetName>:
                                                         <string> // name of the rule set to delete
    Example:                     oModule.DeleteRuleSet "Rule Set 9"
              DeleteRun
    Use:                         Deletes a run from an existing a rule set
    Command:                     Right-click on a run item under Design Verification in the Project Tree and
                                 choose Delete
    Syntax:                      DeleteRun <RuleSetName>,                                <RunName>
    Return Value:                None
    Parameters:                  <RuleSetName>:
                                                         <string> // name of an existing rule set
                                                        <RunName>:
                                                         <string> // name of the run to delete
    Example:                     oModule.DeleteRun "Rule Set 10", "All
              EditRuleSet
    Use:                         Edits a existing rule set
    Command:                     Right-click on a rule set item under Design Verification in the Project Tree
                                 and choose Properties.
    Syntax:                      EditRuleSet                 <ExistingRuleSetName>,
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             Array("NAME:<RuleSetName>",
                             "ScriptNames:=", <ScriptInfo>,
                             "ScriptActiveFlags:=", <ScriptFlags>)
                                                     <RuleSetName>:
                                                     <string> // name of the rule set after change
                                                     <ScriptInfo>:
                                                     Array(<string>, <string>,...) // names of scripts to be in the rule set
                                                     <ScriptFlags>:
                                                    sequence of "t" and "f" characters
                                                    t indicates a script that is active (used in when the rule set is run)
                                                   f indicates a script is not currently active (used when the rule set is run)
                                                    applied to the scripts as ordered in <ScriptInfo>
                                                    <string>
Example:                     oModule.EditRuleSet                            "Rule Set 9", _
                             Array("NAME:Rule Set 10", _
                             "ScriptNames:=", Array("And",                                      _
                             "Find Shorts"),                      _
                             "ScriptActiveFlags:=", "tt")
          EditRun
Use:                         Edits an existing run.
Command:                     Right-click on a run item under Design Verification in the Project Tree and
                             choose Properties.
Syntax:                      EditRun <RuleSetName>,
                             <ExistingRunName>,
                             Array("NAME:<RunName>",
                             "TargetType:=", <TargetTypeInfo>,                                // optional
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                                       <ExistingRunName>:
                                                        <string> // name of the run to change
                                                        <RunName>:
                                                        <string> // name of the run after the changes
                                                        <TargetTypeInfo>:
                                                        <int>       // 0 for entire layout (default if not specified)
                                                                    // 1 for specified portion of layout
                                                         <TargetObjectsInfo>:
                                                          objects on which to perform the check
                                                          may specify if TargetTypeInfo is 1 (specified portion of layout)
                                                         "<ObjectName>, <ObjectName>, ..."
                                                         <ObjectName):
                                                         <string> // name of a layout object
                                                         <IgnoredObjectsInfo>:
                                                          objects which to ignore when performing the check
                                                          may specify if TargetTypeInfo is 0 (entire layout)
                                                         "<ObjectName>, <ObjectName>, ..."
                                                         <ToleranceString>:
                                                         <string> // real number and units
                                                                       // if not specified, the current layout arc tolerance is used
    Example:
                                oModule.EditRun "Rule Set 10", _
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             "All", _
                             Array("NAME:New All", _
                             "TargetType:=", 0)
                             oModule.EditRun "Rule Set 10", _
                             "New All", _
                             Array("NAME:Selected Objs2",                                     _
                             "TargetType:=", 1, _
                             "TargetObjects:=", "line_975,line_1015")
                             oModule.EditRun "Rule Set 10", _
                             "Selected Objs2", _
                             Array("NAME:Objects to Ignore2", _
                             "TargetType:=", 0, _
                             "IgnoredObjects:=", "via_209,line_736")
          RenameRuleSet
Use:                         Renames a existing rule set
Command:                     Right-click on a rule set item under Design Verification in the Project Tree
                             and choose Rename
Syntax:                      RenameRuleSet                   <ExistingRuleSetName>, <NewRuleSetName>
Return Value:                None
Parameters:                  <ExistingRuleSetName>:
                                                     <string> // name of the rule set to change
                                                     <NewRuleSetName>:
                                                     <string> // new name for the rule set
          RenameRun
Use:                         Renames an existing run.
Command:                     Right-click on a run item under Design Verification in the Project Tree and
                             choose Rename
Syntax:                      RenameRun <RuleSetName>, <ExistingRunName>, <NewRunName>
Return Value:                None
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Parameters:                  <RuleSetName>:
                                                         <string> // name of an existing rule set
                                                         <ExistingRunName>:
                                                         <string> // name of the run to change
                                                         <NewRunName>:
                                                         <string> // new name for the run
    Example:                     oModule.RenameRun "Rule Set 30", "New All", "Sel Objects"
              RunAllDV
    Use:                         Executes all runs in the Design Verification Project Tree item.
    Command:                     Right-click on Design Verification in the Project Tree and choose Run All
    Syntax:                      RunAllDV
    Return Value:                None
    Parameters:                  None
    Example:                     oModule.RunAllDV
              RunAllRuleSetDV
    Use:                         Executes all runs in an existing rule set
    Command:                     Right-click on a rule set item under Design Verification in the Project Tree
                                 and choose Run All
    Syntax:                      RunAllRuleSetDV <RuleSetName>
    Return Value:                None
    Parameters:                  <RuleSetName>:
                                                         <string> // name of an existing rule set
    Example:                     oModule.RunAllRuleSetDV "Rule Set 30"
              RunDV
    Use:                         Executes the specified run in an existing rule set
    Command:                     Right-click on a run item under Design Verification in the Project Tree and
                                 choose Run
    Syntax:                      RunDV <RuleSetName>, <RunName>
    Return Value:                None
29-8 Design Verification Script Commands
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                        Introduction to Scripting in ANSYS Electronics Desktop
Parameters:              <RuleSetName>:
                                                 <string> // name of an existing rule set
                                                 <RunName>:
                                                 <string> // name of the run to execute
Example:                 oModule.RunDV "Rule Set 30",                                     "Run 2"
      ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                          of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
30                             PlanarEM Scripting
 ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                     of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    AddModelingProperties
    Analyze
    CopyItemCommand
    DeleteDesignInstance
    EditImportData
    EditInfiniteArray
    EditNotes
    EditCoSimulationOptions
    EditOptions
    EMDesignOptions
    ExportNetworkData
    ExportForSpice
    ExportForHSpice
    ExportNMFData
    GetActiveEditor
    GetEditor
    GetModule
    GetName
    GetSetups
    GetSweeps
    GetSetupData
    GetSourceData
    InsertDesign
    OverlayCurrents
    OverlayFarField
    OverlayMesh
    OverlayNearField
    PasteItemCommand
    Redo
    RemoveModelingProperties
    RemoveImportData
    RenameDesignInstance
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
RenameImportData
ReportTemplates
SetActiveEditor
StartAnalysis
Undo
ValidateCircuit
          AddModelingProperties
Use:                         Add a modeling property to a design
Command:                     None
Syntax:                      AddModelingProperties <design>
Return Value:                None
Parameters:                  <design>
                             Type: string
Example:                     oDesign.AddModelingProperties <design>
          CopyItemCommand
Use:                         Copy tree items, such as Altrasim Solution Setups in Nexxim, or Solve Setups
                             and Frequency Sweeps in Ensemble.
Command:                     None
Syntax:                      CopyItemCommand <ItemPathList>
Return Value:                None
Parameters:                  <ItemPathList>
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              DeleteDesignInstance
    Use:                         Delete the design instance
    Command:                     None
    Syntax:                      DeleteDesignInstance <instance_name>
    Return Value:                None
    Parameters:                  <instance_name>
                                 Type: string
    Example:                     oDesign.DeleteDesignInstance <instance_name>
              EditImportData
    Use:                         Edit an imported solution
    Command:                     None
    Syntax:                      EditImportData <oldname> <newlink> <newpath> <newname>
                                 <data> <file>
    Return Value:                None
    Parameters:                  <oldname>
                                 Type: string
                                 <newlink>
                                 Type: int
                                 <newpath>
                                 Type: string
                                 <newname>
                                 Type: string
                                 <data>
                                 Type: array
                                 <file>
                                 Type: string
    Example:                     oDesign.EditImportData <oldname> <newlink> <newpath>
                                 <newname> <data> <file>
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          EditInfiniteArray
Use:                         Edits the properties of an infinite array
Command:                     None
Syntax:                      EditInfiniteArray <array_name>
Return Value:                None
Parameters:                  <array_name>
                             Type: string
Example:                     oDesign.EditInfiniteArray <array_name>
          EditCoSimulationOptions
Use:                         Sets options for cosimulation.
Command:                     None
Syntax:                      EditCoSimulationOptions <array_name>
Return Value:                None
Parameters:                  <array_name>
                             Type: string
                             oDesign.EditCoSimulationOptions Array("NAME:CoSimOp-
                             tions",
                             "Override:=", true, _
                             "Setup:=", "Setup 1", _
                             "OverrideSweep:=", true, _
                             "Sweep:=", "Sweep 1", _
                             "SweepType:=", 4, _
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 "Interpolate:=", false, _
                                 "YMatrix:=", true, _
                                 "AutoAlignPorts:=", false, _
                                 "InterpAlg:=", "auto")
              EMDesignOptions
    Use:                         Set options for an EM Design.
    Command:                     Right click on design and select EM Design Options
    Syntax:                      DesignOptions <Options Array>
    Return Value:                None
    Parameters:
                                 <Options Array>
                                 Array("NAME:options",
                                        "SaveSolFilesAsBinary:=", <boolean>,
                                        "LowPriorityForSimulations:=", <boolean>,
                                        "SaveNearFieldSolutions:=", <boolean>,
                                        "SchematicEnabled:=", <boolean>,
                                        "UseGlobalNumProc:=", <boolean>,
                                        "ComputeBothEvenAndOddCPWModes:=", <boolean>,
                                        "NumProcessors:=", <int>,
                                        "NumProcessorsDistrib:=", <int>,
                                        "CausalMaterials:=", <boolean>,
                                        "UseHPCForMP:=", <boolean>,
                                        "HPCLicenseType:=", <int>)
30-6 PlanarEM Scripting
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 Type: string
                                 <SolnSelectionArray>
                                 Type: string
                                 <FileFormat>
                                 Type: string
                                 <OutFile>
                                 Type: string
                                 <FreqsArray>
                                 Type: array
                                 <DoRenorm>
                                 Type: string
                                 <RenormImped>
                                 Type: string
    Example:                     oDesign.ExportNetworkData <DesignVariationKey>
                                 <SolnSelectionArray> <FileFormat> <OutFile> <FreqsArray>
                                 <FileFormat> <OutFile> <FreqsArray> <DoRenorm>
                                 <RenormImped>
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             Type: string
                             <LumpedElementFilenme>
                             Type: string
                             <Unused>
                             Type: string
                             <Unused>
                             Type: string
                             <PartialFractionFilename>
                             Type: string
                             <FittingError [Default:0.5]>
                             Type: double
                             <MaxOrder [Default:200]>
                             Type: int
                             <UseCommonGround [Default:FALSE]>
                             Type: boolean
                             <DoPassivityCheck [Default:FALSE]>
                             Type: boolean
Example:                     oDesign.ExportForSpice "", Array("LNA:LNA"), 0, 0,                                                         _
                             "C:/Documents and Settings/Marcia.BMT/My Documents/Code
                             Modifications/Test" & _
                             " Designs/s-params_fws_fws.lib",                                         _
                             "C:/Documents and Settings/Marcia.BMT/My Documents/Code
                             Modifications/Test" & _
                             " Designs/s-params_fws_lfws.lib", "", "", "", 0.52, 210,
                             1, 1
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                Type: string
                                <SolnSelectionArray>
                                Type: array
                                <Spice Type: 1=HSPICE>
                                Type: int
                                <Bandwidth: 0=Low Bandwidth, 1=Broad Bandwidth>
                                Type: int
                                <FullWaveSpiceFilename>
                                Type: string
                                <LumpedElementFilenme>
                                Type: string
                                <Unused>
                                Type: string
                                <Unused>
                                Type: string
                                <PartialFractionFilename>
                                Type: string
                                <Fitting Error>
                                Type: double
                                <Unusedint>
                                Type: int
                                <MaxOrder>
                                Type: int
                                <UseCommonGround [Default: FALSE]>
                                Type: boolean
                                <DoPassivityCheck [Default: FALSE]>
                                Type: boolean
    Example:                    oDesign.ExportForHSpice "", Array("Setup 1:Sweep 1"), 1,
                                0, "C:/Projects/MyTRL_fws.sp", "", "", "", "", 0.5, 0,
                                200, 0, 0
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Command:                     None
Syntax:                      ExportNMFData <SolnSelectionArray> <OutFile> <FreqsArray>
                             <DesignVariationKey> <DoRenorm> <RenormImped>
Return Value:                None
Parameters:                  <SolnSelectionArray>
                             Type: string
                             <OutFile>
                             Type: string
                             <FreqsArray>
                             Type: array
                             <DesignVariationKey>
                             Type: string
                             <DoRenorm>
                             Type: string
                             <RenormImped>
                             Type: array
Example:                     oDesign.ExportNMFData <SolnSelectionArray> <OutFile>
                             <FreqsArray> <DesignVariationKey> <DoRenorm>
                             <RenormImped>
Note that GetActiveEditor returns NULL if the editor is open in a non-active window.
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             Type: string
Example:                     oDesign.RemoveImportData <solution_name>
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                              Introduction to Scripting in ANSYS Electronics Desktop
  Add
  AddSweep
  Analyze
  AnalyzeSweep
  Delete
  DeleteSweep
  DynamicMeshOverlays
  Edit
  EditSweep
  GetAllSolutionNames
  LayoutMeshOverlay
  Layout3DMeshOverlay
  ListVariations
  RefreshMeshOverlays
  RenameSweep
            ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Parameters:                  None
    Example:                     Dim setupArr
                                 setupArr = oModule.GetAllSolutionNames
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                              Introduction to Scripting in ANSYS Electronics Desktop
Excitations Commands
  The following commands are available in the “Excitations” module. For example:
  oDesign.GetModule("Excitations")
  oModule.CommandName <args>
  Add
  AddRefPort
  AddRefPortUsingEdges
  CoupleEdgePorts
  DecoupleEdgePorts
  Delete
  DeleteProbePortAndVia
  Edit
  EditExcitations
  GetAllBoundariesList
  GetAllPortsList
  Rename
  RemoveRefPort
  SelectInLayout
            ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          CoupleEdgePorts
Use:                         Couples valid edge ports
Syntax:                      CoupleEdgePorts(VARIANT coupledlist) //entry containing
                             ports to be coupled
Example:                     oModule.CoupleEdgePorts Array("Port1", "Port2")
          DecoupleEdgePorts
Use:                         Decouples edge ports
Syntax:                      DecoupleEdgePorts(
                             VARIANT decoupledlist) //entry containing ports to be
                             decoupled
Example:                     oModule.DecoupleEdgePorts Array("Port1:T1", "Port1:T2")
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
Cavity Commands
    The following commands are available in the “Cavities” module. For example:
    oDesign.GetModule("Cavities")
    oModule.CommandName <args>
    Add
    Delete
    Edit
    Rename
    SelectInLayout
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                              Introduction to Scripting in ANSYS Electronics Desktop
            ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
31                             Nexxim Scripting
 ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                     of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              Analyze [Nexxim]
    Use:                         Simulates the given setup
    Command:                     None
    Syntax:                      Analyze <setup>
    Return Value:                None
    Parameters:                  <setup>
                                 Type: string
    Example:                     oDesign.Analyze NWA1
31-2 Nexxim Scripting
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          CopyEyeItemAsCommand
Use:                         Make a QuickEye copy of a VerifEye analysis, or a VerifEye copy of a
                             QuickEye analysis.
Command:                     Select an analysis in the Project tree, then right-click and select Copy As
                             QuickEye or Copy As VerifEye.
Syntax:                      CopyEyeItemAsCommand <AnalysisArray>
Return Value:                Copy of the analysis.
Parameters:                  <AnalysisArray>
                             Type: Array of strings // Type of analysis from which to copy.
Example:
                             oDesign.CopyEyeItemAsCommand Array("eye_diagram_sch|Nexx-
                             im1|Analysis|VerifEyeAnalysis")
                             oDesign.CopyEyeItemAsCommand Array("eye_diagram_sch|Nexx-
                             im1|Analysis|QuickEyeAnalysis")
          DeleteDesignInstance
Use:                         Delete the design instance
Command:                     None
Syntax:                      DeleteDesignInstance <instance_name>
Return Value:                None
Parameters:                  <instance_name>
                             Type: string
Example:                     oDesign.DeleteDesignInstance <instance_name>
          EditImportData
Use:                         Edit an imported solution
Command:                     None
Syntax:                      EditImportData <oldname> <newlink> <newpath> <newname>
                             <data> <file>
Return Value:                None
Parameters:                  <oldname>
                             Type: string
                             <newlink>
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 Type: int
                                 <newpath>
                                 Type: string
                                 <newname>
                                 Type: string
                                 <data>
                                 Type: array
                                 <file>
                                 Type: string
    Example:                     oDesign.EditImportData <oldname> <newlink> <newpath>
                                 <newname> <data> <file>
              EditNotes
    Use:                         Edits the notes of a design
    Command:                     None
    Syntax:                      EditNotes <design_name>
    Return Value:                None
    Parameters:                  <design_name>
                                 Type: string
    Example:                     oDesign.EditNotes <design_name>
              ExportForSpice [Nexxim]
         NexximNetlistExportForSpice
    Use:                         Export matrix solution data to a file in the given spice format.
    Command:                     None
    Syntax:                      ExportForSpice <SolutionVariationKey>
                                 <SolnSelectionArray> <Spice Type> <Bandwidth>
                                 <FullWaveSpiceFilename> <LumpedElementFilenme> <Unused>
                                 <Unused> <PartialFractionFilename> <FittingError>
                                 <MaxOrder> <UseCommonGround> <DoPassivityCheck>
    Return Value:                None
    Parameters:                  <SolutionVariationKey>
                                 Type: string
                                 <SolnSelectionArray>
                                 Type: array
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ExportForHSpice [Nexxim]
Use:                         Export matrix solution data to an HSpice subcircuit.
Command:                     None
Syntax:                      ExportForHSpice <SolutionVariationKey>
                             <SolnSelectionArray> <Spice Type> <Bandwidth>
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          ExportNetlist [Nexxim]
Use:                         Exports a netlist solution
Command:                     None
Syntax:                      ExportNetlist <solution> <filename>
Return Value:                None
Parameters:                  <solution>
                             Type: string
                             <filename>
                             Type: string
Example:                     oDesign.ExportNetlist <solution> <filename>
          GetModule [Nexxim]
Use:                         Get the IDispatch for the specified module.
Command:                     None
Syntax:                      GetModule <“modulename”> <object_variable>
Return Value:                Module IDispatch
Parameters:                  <“modulename”>
                             Type: string
                             <object_variable>
                             Type: string
Example:                     oDesign.GetModule “modulename” object_variable
          GetName [Nexxim]
Use:                         Get the name of the active design.
Command:                     None
Syntax:                      GetName <namestring_variable>
Return Value:                String
Parameters:                  <namestring_variable>
                             Type: string
Example:                     oDesign.GetName namestring_variable
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              GetActiveEditor
    Use:                         Get the name of the active editor.
    Command:                     None
    Syntax:                      GetActiveEditor <object_variable>
    Return Value:                String
    Parameters:                  <object_variable>
                                 Type: string
    Example:                     oDesign.GetActiveEditor <object_variable>
Note that GetActiveEditor returns NULL if the editor is open in a non-active window.
              GetEditor [Nexxim]
    Use:                         Get the named editor without activating it.
    Command:                     None
    Syntax:                      GetEditor <editorName object_variable>
    Return Value:                String
    Parameters:                  <editorName>
                                 Type: string
                                 <object_variable>
                                 Type: string
    Example:                     oDesign.GetEditor <editorName> <object_variable>
              GetResultsDirectory [Nexxim]
    Use:                         Gives access to the directory containing the specified Nexxim solution files.
    Command:                     None
    Syntax:                      GetResultsDirectory ([in] BSTR solname, [in] BSTR
                                 variation, [in] BOOL finalDir, [out, retval] BSTR*
                                 dirname)
    Return Value:                <dirname>
                                 Type: String               // Directory name. (The returned directory path does not contain a
                                 trailing slash.).
    Parameters:                  <solname>
                                 Type: string
                                 <variation>
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             Type: string
                             <finalDir>
                             Type: boolean         // True if the final directory is desired; False if the working/tem-
                             porary directory is desired.
Example:                     Dim dirName
                             Set oDesign = oProject.GetActiveDesign() dirName = oDesign.GetResultsDirectory
                             ("Trans", "res='1000'", false)
          ImportData [Nexxim]
Use:                         Imports a network solution
Command:                     None
Syntax:                      ImportData <data> <filename> <linktofile>
Return Value:                None
Parameters:                  <data>
                             Type: string // data to be imported
                             <filename>
                             Type: string // name of the file
                             <linktofile>
                             Type: int // link to the file
Example:                     oDesign.ImportData <data> <filename> <linktofile>
          ImportDataFilePath [Nexxim]
Use:                         Returns the file path of the imported solution given an imported solution
                             name. If the solution is not found it returns an empty string.
Command:                     None
Syntax:                      ImportDataFilePath <solution_name>
Return Value:                File path of imported solution, empty string if solution not found in the
                             design.
                             Type: string
Parameters:                  <solution_name>
                             Type: string
Example:                     oDesign.ImportDataFilePath <solution_name>
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              InsertDesign [Nexxim]
    Use:                         Insert a design
    Command:                     None
    Syntax:                      InsertDesign <type>, <name>, <stationerypath>,
                                 <parentname>
    Return Value:                None
    Parameters:                  <type>
                                 Type: string
                                 <name>
                                 Type: string
                                 <stationerypath>
                                 Type: string
                                 <parentname>
                                 Type: string
    Example:                     oDesign.InsertDesign <type>, <name>, <stationerypath>,
                                 <parentname>
                                 where, <type> is NULL for top-level design
              PasteItemCommand
    Use:                         Paste tree items, such as Altrasim Solution and Solve Setups pasted to the
                                 Analysis Tree, or Frequency Sweeps pasted to the Solve Setup Tree.
    Command:                     Right-click on the Analysis item in the Project tree and select Paste.
    Syntax:                      PasteItemCommand <ItemPath>
    Return Value:                None
    Parameters:                  <ItemPath>
                                 Type: string
    Example:                     oDesign.PasteItemCommand "Project1|Nexxim1|Analysis"
              Redo [Nexxim]
    Use:                         Redo the last operation
    Command:                     Edit>Redo
    Syntax:                      Redo
    Return Value:                None
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Parameters:                  None
Example:                     oDesign.Redo
          RenameDesignInstance [Nexxim]
Use:                         Rename the design instance
Command:                     None
Syntax:                      RenameDesignInstance <oldname> <newname>
Return Value:                None
Parameters:                  <oldname>
                             Type: string
                             <newname>
                             Type: string
Example:                     oDesign.RenameDesignInstance <oldname> <newname>
          RenameImportData [Nexxim]
Use:                         Rename an imported solution
Command:                     None
Syntax:                      RenameImportData <oldname> <newname>
Return Value:                None
Parameters:                  <oldname>
                             Type: string
                             <newname>
                             Type: string
Example:                     oDesign.RenameImportData <oldname> <newname>
          SetActiveEditor [Nexxim]
Use:                         Set the active editor to the named one. (Activates window or opens window
                             if necessary).
Command:                     None
Syntax:                      SetActiveEditor                      <editorName> <object_variable>
Return Value:                None
Parameters:                  <editorName>
                             Type: string
                             <object_variable>
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                 Type: string
    Example:                     oDesign.SetActiveEditor                               <editorName> <object_variable>
              StartAnalysis [Nexxim]
    Use:                         Simulates all setups
    Command:                     None
    Syntax:                      StartAnalysis
    Return Value:                None
    Parameters:                  None
    Example:                     oDesign.StartAnalysis
              Undo [Nexxim]
    Use:                         Undo the last operation
    Command:                     Edit>Undo
    Syntax:                      Undo
    Return Value:                None
    Parameters:                  None
    Example:                     oDesign.Undo
              UseCircuitSParameterDefinition
    Use:                         Selects whether the circuit or high-frequency definition of S-parameters is
                                 used.
    Command:                     None
    Syntax:                      UseCircuitSparameterDefinition <boolean_operator>
    Return Value:                None
    Parameters:                  <boolean_operator>
                                 Type: string
    Example:                     oDesign.UseCircuitSparameterDefinition true
                                 oDesign.UseCircuitSparameterDefinition true
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                              Introduction to Scripting in ANSYS Electronics Desktop
  AddTemperatureDataBlock
  AddLibRefDataBlock
  AddNetlistDataBlock
  AddPrintToAuditDataBlock
  AddStateVariableDataBlock
  AddSubstrateDataBlock
  AddDeviceNoiseDataBlock
  EditTemperatureDataBlock
  EditLibRefDataBlock
  EditNetlistDataBlock
  EditPrintToAuditDataBlock
  EditStateVariableDataBlock
  EditSubstrateDataBlock
  EditDeviceNoiseDataBlock
  GetTemperatureDataBlock
  GetAllLibRefDataBlocks
  GetAllNetlistDataBlocks
  GetAllSubstrateDataBlocks
  Remove
  Rename
            AddTemperatureDataBlock
  Use:                         Add a Temperature Data Block
  Command:                     None
  Syntax:                      AddTemperatureDataBlock
  Return Value:                None
                                                                                                                         Nexxim Scripting 31-13
            ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Parameters:                  None
    Example:                     oModule.AddTemperatureDataBlock
              AddLibRefDataBlock
    Use:                         Add a LibRef Data Block
    Command:                     None
    Syntax:                      AddLibRefDataBlock
    Return Value:                None
    Parameters:                  None
    Example:                     oModule.AddLibRefDataBlock
              AddNetlistDataBlock
    Use:                         Add a NetList Data Block
    Command:                     None
    Syntax:                      AddNetlistDataBlock
    Return Value:                None
    Parameters:                  None
    Example:                     oModule.AddNetlistDataBlock
              AddPrintToAuditDataBlock
    Use:                         Add a PrintToAudit Data Block
    Command:                     None
    Syntax:                      AddPrintToAuditDataBlock
    Return Value:                None
    Parameters:                  None
    Example:                     oModule.AddPrintToAuditDataBlock
              AddStateVariableDataBlock
    Use:                         Add a StateVariable Data Block
    Command:                     None
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Syntax:                      AddStateVariableDataBlock
Return Value:                None
Parameters:                  None
Example:                     oModule.AddStateVariableDataBlock
          AddSubstrateDataBlock
Use:                         Add a Substrate Data Block
Command:                     None
Syntax:                      AddSubstrateDataBlock
Return Value:                None
Parameters:                  None
Example:                     oModule.AddSubstrateDataBlock
          AddDeviceNoiseDataBlock
Use:                         Add a DeviceNoise Data Block
Command:                     None
Syntax:                      AddDeviceNoiseDataBlock
Return Value:                None
Parameters:                  None
Example:                     oModule.AddDeviceNoiseDataBlock
          EditTemperatureDataBlock
Use:                         Edit a Temperature Data Block
Command:                     None
Syntax:                      EditTemperatureDataBlock
Return Value:                None
Parameters:                  None
Example:                     oModule.EditTemperatureDataBlock
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              EditLibRefDataBlock
    Use:                         Edit a LibRef Data Block
    Command:                     None
    Syntax:                      EditLibRefDataBlock
    Return Value:                None
    Parameters:                  None
    Example:                     oModule.EditLibRefDataBlock
              EditNetlistDataBlock
    Use:                         Edit a Netlist Data Block
    Command:                     None
    Syntax:                      EditNetlistDataBlock
    Return Value:                None
    Parameters:                  None
    Example:                     oModule.EditNetlistDataBlock
              EditPrintToAuditDataBlock
    Use:                         Edit a PrintToAudit Data Block
    Command:                     None
    Syntax:                      EditPrintToAuditDataBlock
    Return Value:                None
    Parameters:                  None
    Example:                     oModule.EditPrintToAuditDataBlock
              EditStateVariableDataBlock
    Use:                         Edit a StateVariable Data Block
    Command:                     None
    Syntax:                      EditStateVariableDataBlock
    Return Value:                None
    Parameters:                  None
    Example:                     oModule.EditStateVariableDataBlock
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
          EditSubstrateDataBlock
Use:                         Edit a Substrate Data Block
Command:                     None
Syntax:                      EditSubstrateDataBlock
Return Value:                None
Parameters:                  None
Example:                     oModule.EditSubstrateDataBlock
          EditDeviceNoiseDataBlock
Use:                         Edit a DeviceNoise Data Block
Command:                     None
Syntax:                      EditDeviceNoiseDataBlock
Return Value:                None
Parameters:                  None
Example:                     oModule.EditDeviceNoiseDataBlock
          GetTemperatureDataBlock
Use:                         Returns the TemperatureDataBlock name
Syntax:                      GetTemperatureDataBlock
Return Value:                String
Parameters:                  None
Example:                     Dim tempStr
                             tempStr = oModule.GetTemperatureDataBlock
          GetAllLibRefDataBlocks
Use:                         Returns a name list of all library reference data blocks in the Nexxim Design
Syntax:                      GetAllLibRefDataBlocks
Return Value:                Array of Strings
Parameters:                  None
Example:                     Dim librefArr
                             librefArr = oModule.GetAllLibRefDataBlocks
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              GetAllNetlistDataBlocks
    Use:                         Returns a name list of all netlist data blocks in the Nexxim Design
    Syntax:                      GetAllNetlistDataBlocks
    Return Value:                Array of Strings
    Parameters:                  None
    Example:                     Dim netlistArr
                                 netlistArr = oModule.GetAllNetlistDataBlocks
              GetAllSubstrateDataBlocks
    Use:                         Returns a name list of all substrate data blocks in the Nexxim Design
    Syntax:                      GetAllSubstrateDataBlocks
    Return Value:                Array of Strings
    Parameters:                  None
    Example:                     Dim subsArr
                                 subsArr = oModule.GetAllSubstrateDataBlocks
              Remove [Nexxim]
    Use:                         Removes a Data Block
    Command:                     None
    Syntax:                      Remove <Data Block>
    Return Value:                None
    Parameters:                  Data Block
    Example:                     oModule.Remove <Data Block>
              Rename [Nexxim]
    Use:                         Renames a Data Block
    Command:                     None
    Syntax:                      Rename <Data Block>
    Return Value:                None
    Parameters:                  Data Block
    Example:                     oModule.Rename <Data Block>
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                              Introduction to Scripting in ANSYS Electronics Desktop
  Add
  AddSweep
  Analyze
  AnalyzeSweep
  Delete
  DeleteSweep
  DisplayBiasPointInfo
  DynamicMeshOverlays
  Edit
  EditSweep
  GetAllSolutionSetups
  ListVariations
  RenameSweep
  RefreshMeshOverlays
            Add [Nexxim]
  Use:                         Adds a new setup
  Syntax:                      Add(
                               STRING newsetup) // new setup name
  Example:                     oModule. Add <newsetup>
            AddSweep [Nexxim]
  Use:                         Adds a sweep to a setup
  Syntax:                      AddSweep(
                               STRING setup) // setup name
                               STRING newsweep) // new sweep name
  Example:
            ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              Analyze [Nexxim]
    Use:                         Simulates the given setup
    Syntax:                      Analyze(
                                 STRING setup1) // setup name
    Example:
                                 oModule. Analyze <setup1>
              AnalyzeSweep [Nexxim]
    Use:                         Simulates the given sweep
    Syntax:                      AnalyzeSweep(
                                 STRING setup1) // setup name
                                 STRING sweep1) // sweep name
    Example:                     oModule. AnalyzeSweep <setup1> <sweep1>
              Delete [Nexxim]
    Use:                         Removes a simulation setup
    Syntax:                      Delete(
                                 STRING name) // The specified setup to delete
    Example:                     oModule. Delete <name>
              DisplayBiasPointInfo
    Use:                         Display voltage/current bias
    Command:                     None
    Syntax:                      DisplayBiasPointInfo <display_preference>
    Return Value:                None
    Parameters:                  <display_preference>
                                 Type: string
    Example:                     oDesign.DisplayBiasPointInfo “1”
                                 Where display_preference is one of the following:
                                 0 : hide the info
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             1 : display voltage
                             2 : display current
                             3 : display both
          DeleteSweep [Nexxim]
Use:                         Removes a sweep from a setup
Syntax:                      DeleteSweep(
                             STRING setup1) // The specified setup
                             STRING sweep1) // The specified sweep
Example:                     oModule. DeleteSweep <setup1> <sweep1>
          DynamicMeshOverlays
Use:                         Turns on dynamic mesh overlays
Syntax:                      DynamicMeshOverlays(
                             STRING setup) // setup name
Example:                     oModule. DynamicMeshOverlay <setup>
          Edit [Nexxim]
Use:                         Edit a setup
Syntax:                      Edit(
                             STRING setup) // setup name
                             ARRAY solvesetup_data) // setup data
Example:                     oModule. Edit <setup> <solvesetup_data>
          EditSweep [Nexxim]
Use:                         Edit a sweep
Syntax:                      EditSweep(
                             STRING setup) // setup name
                             ARRAY solvesetup_data) // setup data
Example:                     oModule. EditSweep <setup> <solvesetup_data>
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              GetAllSolutionSetups [Nexxim]
    Use:                         Returns an array of the names of the simulation setups in the design
    Syntax:                      GetAllSolutionSetups( )
    Example:                     Set oModule = oDesign.GetModule("SimSetup")
                                 Dim names
                                 names = oModule.GetAllSolutionSetups()
                                 MsgBox("GetAllSolutionSetups:" & Chr(13) & Join(names,",
                                 "))
              ListVariations [Nexxim]
    Use:                          Get a list of solution variations for a given solution
    Syntax:                      ListVariations(
                                 STRING SolutionName) // solution name
    Example:                     oModule.ListVariations("NWA1")
              RefreshMeshOverlays
    Use:                         Refreshes mesh display for a setup
    Syntax:                      RefreshMeshOverlays(
                                 STRING setup) // setup name
    Example:                     oModule.RefreshMeshOverlays <setup>
              RenameSweep [Nexxim]
    Use:                         Renames a NexximSimulation setup
    Syntax:                      RenameSweep(
                                 STRING oldname) // old setup name
                                 STRING newname) // new setup name
    Example:                     oModule. RenameSweep <oldname> <newname>
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
EditAnalysisOptions
EditSimulationSetup
ExportForSpice
ExportForHSpice
RemoveAnalysisOptions
RemoveSimulationSetup
RenameAnalysisOptions
RenameSimulationSetup
Some of the following commands are available only in the “SolveSetups” module:
For example,
                             oDesign.GetModule("SolveSetups")
                             oModule.CommandName <args>
          AddAnalysisOptions [Nexxim]
Use:                         Add an analysis option
Command:                     None
Syntax:                      AddAnalysisOptions <Option_Data>
Return Value:                None
Parameters:                  <Option_Data>
Example:                     oModule.AddAnalysisOptions <Option_Data>
          AddSimulationSetup [Nexxim]
Use:                         Adds a new simulation setup
Command:                     None
Syntax:                      AddSimulationSetup <Simulationsetup_data>
Return Value:                None
Parameters:                  <Simulationsetup_Data>
Example:                     oModule.AddSimulationSetup <SimulationSetup_Data>
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              EditAnalysisOptions Nexxim]
    Use:                         Edit an analysis option
    Command:                     None
    Syntax:                      EditAnalysisOptions <Option_Data>
    Return Value:                None
    Parameters:                  <Option_Data>
    Example:                     oModule.EditAnalysisOptions <Option_Data>
              EditSimulationSetup [Nexxim]
    Use:                         Edit a simulation setup
    Command:                     None
    Syntax:                      EditSimulationSetup <Simulationsetup_data>
    Return Value:                None
    Parameters:                  <Simulationsetup_Data>
    Example:                     oModule.EditSimulationSetup <SimulationSetup_Data>
              ExportForSpice [Nexxim]
    Use:                         Export matrix solution data to a file in the given spice format.
    Command:                     None
    Syntax:                      ExportForSpice <SolutionVariationKey>
                                 <SolnSelectionArray> <Spice Type> <Bandwidth>
                                 <FullWaveSpiceFilename> <LumpedElementFilenme> <Unused>
                                 <Unused> <PartialFractionFilename> <FittingError>
                                 <MaxOrder> <UseCommonGround> <DoPassivityCheck>
    Return Value:                None
    Parameters:                  <SolutionVariationKey>
                                 Type: string
                                 <SolnSelectionArray>
                                 Type: array
                                 <Spice Type: 0=PSpice, 2=MaxwellSpice, 3=Spectre>
                                 Type: int
                                 <Bandwidth: 0=Low Bandwidth, 1=Broad Bandwidth>
                                 Type: int
                                 <FullWaveSpiceFilename>
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
                             Type: string
                             <LumpedElementFilenme>
                             Type: string
                             <Unused>
                             Type: string
                             <Unused>
                             Type: string
                             <PartialFractionFilename>
                             Type: string
                             <FittingError [Default:0.5]>
                             Type: double
                             <MaxOrder [Default:200]>
                             Type: int
                             <UseCommonGround [Default:FALSE]>
                             Type: boolean
                             <DoPassivityCheck [Default:FALSE]>
                             Type: boolean
Example:
                             oDesign.ExportForSpice "", Array("LNA:LNA"), 0, 0,                                                         _
                             "C:/Documents and Settings/Marcia.BMT/My Documents/Code
                             Modifications/Test" & _
                             " Designs/s-params_fws_fws.lib",                                         _
                             "C:/Documents and Settings/Marcia.BMT/My Documents/Code
                             Modifications/Test" & _
                             " Designs/s-params_fws_lfws.lib", "", "", "", 0.52, 210,
                             1, 1
          ExportForHSpice [Nexxim]
Use:                         Export matrix solution data to an HSpice subcircuit.
Command:                     None
Syntax:                      ExportForHSpice <SolutionVariationKey>
                             <SolnSelectionArray> <Spice Type> <Bandwidth>
                             <FullWaveSpiceFilename> <LumpedElementFilenme> <Unused>
                             <Unused> <PartialFractionFilename> <Fitting Error>
                             <Unusedint> <MaxOrder> <UseCommonGround>
                             <DoPassivityCheck>
Return Value:                None
                                                                                                                       Nexxim Scripting 31-25
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
    Parameters:                 <SolutionVariationKey>
                                Type: string
                                <SolnSelectionArray>
                                Type: array
                                <Spice Type: 1=HSPICE>
                                Type: int
                                <Bandwidth: 0=Low Bandwidth, 1=Broad Bandwidth>
                                Type: int
                                <FullWaveSpiceFilename>
                                Type: string
                                <LumpedElementFilename>
                                Type: string
                                <Unused>
                                Type: string
                                <Unused>
                                Type: string
                                <PartialFractionFilename>
                                Type: string
                                <Fitting Error>
                                Type: double
                                <Unusedint>
                                Type: int
                                <MaxOrder>
                                Type: int
                                <UseCommonGround [Default: FALSE]>
                                Type: boolean
                                <DoPassivityCheck [Default: FALSE]>
                                Type: boolean
    Example:
                                oDesign.ExportForHSpice "", Array("Setup 1:Sweep 1"), 1,
                                0, "C:/Projects/MyTRL_fws.sp", "", "", "", "", 0.5, 0,
                                200, 0, 0
             RemoveAnalysisOptions [Nexxim]
    Use:                        Remove an analysis option
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Command:                     None
Syntax:                      RemoveAnalysisOptions <Option_Data>
Return Value:                None
Parameters:                  <Option_Data>
Example:                     oModule.RemoveAnalysisOptions <Option_Data>
          RemoveSimulationSetup [Nexxim]
Use:                         Remove a simulation setup
Command:                     None
Syntax:                      RemoveSimulationSetup <Simulationsetup_data>
Return Value:                None
Parameters:                  <Simulationsetup_Data>
Example:                     oModule.RemoveSimulationSetup <SimulationSetup_Data>
          RenameAnalysisOptions[Nexxim]
Use:                         Rename an analysis option
Command:                     None
Syntax:                      RenameAnalysisOptions <oldname> <newname>
Return Value:                None
Parameters:                  <oldname>
                             Type: string
                             <newname>
                             Type: string
Example:                     oModule.RenameAnalysisOptions <oldname> <newname>
          RenameSimulationSetup [Nexxim]
Use:                         Rename a simulation setup
Command:                     None
Syntax:                      RenameSimulationSetup <oldname> <newname>
Return Value:                None
Parameters:                  <oldname>
                             Type: string
                             <newname>
                             Type: string
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              ChangePortProperty [Nexxim]
    Use:                         Change a port property
    Command:                     None
    Syntax:                      ChangePortProperty <Port Name> <Port Info> <Port
                                 Properties>
    Return Value:                None
    Parameters:                  <Port Name> - Type: string
                                 <Port Info> - Type: array
                                 <Port Properties> - Type:array
    Example:
                                 oDesign.ChangePortProperty "Port2", Array("NAME:Port2",
                                 "IIPortName:=", "Port2", "SymbolType:=", _
                                   0), Array(Array("NAME:Properties", Array("NAME:New-
                                 Props", Array("NAME:term", "PropType:=", _
                                   "TextProp", "OverridingDef:=", true, "Value:=", "Mod-
                                 el1")), Array("NAME:ChangedProps", Array("NAME:Termina-
                                 tionData", "Value:=", _
                                   "Zo"), Array("NAME:pnum", "Value:=", "2"),
                                 Array("NAME:noisetemp", "Value:=", "16.85")))
              ChangeSourceProperty [Nexxim]
    Use:                         Change a source property
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Command:                     None
Syntax:                      ChangeSourceProperty <Source_Name> <Source_Data>
Return Value:                None
Parameters:                  <Source_Name>
                             Type: array
                             <Source_Data>
                             Type: array
Example:
                             oDesign.ChangeSourceProperty "Sinusoidal1",
                             Array(Array("NAME:Properties",
                             Array("NAME:NewProps", _
                               Array("NAME:noise", "PropType:=", "TextProp", "Over-
                             ridingDef:=", true, "UserDef:=", true, "Value:=",
                             "SourceNoise1"), _
                               Array("NAME:mod", "PropType:=", "TextProp", "Over-
                             ridingDef:=", true, "UserDef:=", true, "Value:=",
                             "SourceModulation1"))), _
                               Array("NAME:DataBlocks", Array("NAME:NewDataBlk",
                             Array("NAME:DataBlock", "Name:=",   "SourceNoise1", _
                              "noisedata:=", Array("FDEV=1Hz ", "RFUP=1 ", "RFLO=2 ",
                             "NCOR=2 2 ")), _
                             Array("NAME:DataBlock", "Name:=", "SourceModulation1",
                             "ModulationSourceDatas:=", Array( _
                               "IS95", "Butterworth", "Br=1.2288MHz", "Dly=0.5",
                             "Iasc=1", "Qasc=1")))))
          DeletePort [Nexxim]
Use:                         Delete a port
Command:                     None
Syntax:                      DeletePort <Port_Data>
Return Value:                None
Parameters:                  <Port_Data>
                             Type: array
Example:                     oDesign.DeletePort <Port_Data>
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              DeleteSource [Nexxim]
    Use:                         Delete the source
    Command:                     None
    Syntax:                      DeleteSource <srcname>
    Return Value:                None
    Parameters:                  <srcname>
                                 Type: string
    Example:                     oDesign.DeleteSource <srcname>”
              GetAllPorts [Nexxim]
    Use:                         Returns a list of all port names in the Nexxim Design
    Syntax:                      GetAllPorts
    Return Value:                Array of Strings
    Parameters:                  None
    Example:                     Dim portsArr
                                 portsArr= oDesign.GetAllPorts
              GetAllSources [Nexxim]
    Use:                         Returns a list of all sources names in the Nexxim Design
    Syntax:                      GetAllSources
    Return Value:                Array of Strings
    Parameters:                  None
    Example:                     Dim sourceArr
                                 sourceArr = oDesign.GetAllSources
              RenameSource [Nexxim]
    Use:                         Rename the source
    Command:                     None
    Syntax:                      RenameSource <oldname> <newname>
    Return Value:                None
    Parameters:                  <oldname>
                                 Type: string
                                 <newname>
              ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                  of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                              Introduction to Scripting in ANSYS Electronics Desktop
                               Type: string
  Example:                     oDesign.RenameSource “oldname”, “newname”
            ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
                                Type: string
    Example:                    oComponentManager.ImportXparamComponent <filename>
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
32                             Example Scripts
 ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                     of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
         Dim oAnsoftApp
         Dim oDesktop
         Dim oProject
         Dim oDesign
         Dim oEditor
         Dim oModule
         Set oAnsoftApp                  = CreateObject("AnsoftHfss.HfssScriptInterface")
         Set oDesktop = oAnsoftApp.GetAppDesktop()
         Set oProject = oDesktop.GetActiveProject()
         Set oDesign = oProject.GetActiveDesign()
         Set oEditor = oDesign.SetActiveEditor("3D Modeler")
        ’ Declare the arrays and variables needed for building the polyline.
        ’
         Dim points(), segments()
         Dim NumPoints, R(2), P(2), PointsPerTurn, Turns, Units
        ’
        ’ Establish the constant Pi.
         Pi = 4*Atn(1)
        ’ Retrieve the variable helix parameters from the user.
        ’ Start with the input for unit selection.
        ’
         Units = InputBox("Select the units:"&Chr(13)& _
              "(cm,mm,um,in,mil)", "Variable Helix","mil",50,50)
        ’
        ’ Check to make sure it is a valid unit.
        ’
         Select Case Units
              Case "m"
                   Units = ""
              Case "cm"
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                      Introduction to Scripting in ANSYS Electronics Desktop
     Case "mm"
     Case "um"
     Case "in"
     Case "mil"
     Case Else
          MsgBox("Invalid Units - defaults to m")
          Units = ""
End Select
’
’ Obtain the other user-defined parameters.
’
Turns = InputBox("Select the number of turns (must be
     integer):","Variable Helix", 2,50,50)
PointsPerTurn = InputBox("Select the points per turn:", _
     "Variable Helix",16,50,50)
R(0) = InputBox("Select the initial Radius: ", _
     "Variable Helix",10,50,50)
R(1) = InputBox("Select the final Radius: ", _
     "Variable Helix",10,50,50)
P(0) = InputBox("Select the initial Pitch: ", _
     "Variable Helix", 4,50,50)
P(1) = InputBox("Select the final Pitch: ", _
     "Variable Helix", 4,50,50)
NumPoints = Turns*PointsPerTurn
’
’ Initialize the points and segments arrays.
’
Redim points(NumPoints+1)
Redim segments(NumPoints)
points(0) = "NAME:PolylinePoints"
segments(0) = "NAME:PolylineSegments"
’
’ Build the Point and Segment Arrays needed in the HFSS polyline call.
’
For n = 1 To (NumPoints+1)
    ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                        of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
              Angle = (n-1)*2*Pi/PointsPerTurn
              Radius = R(0) + ((n-1)/NumPoints)*(R(1)-R(0))
              Pitch = P(0) + ((n-1)/NumPoints)*(P(1)-P(0))
              Rise = (n-1)*Pitch/PointsPerTurn
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                      Introduction to Scripting in ANSYS Electronics Desktop
    ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                        of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
         Dim oAnsoftApp
         Dim oDesktop
         Dim oProject
         Dim oDesign
         Dim oEditor
         Dim oModule
         Set oAnsoftApp                  = CreateObject("AnsoftHfss.HfssScriptInterface")
         Set oDesktop = oAnsoftApp.GetAppDesktop()
         set oProject = oDesktop.GetActiveProject
         set oDesign =                 oProject.GetActiveDesign()
         Dim oFS,ofile,x,y,z,path,range,
         Dim arr2,del_f,freq,cfreq,val,temp,stn,stw,i,line
        ’
        ’ Input the desired file name.
        ’
         path = inputbox("Input the file name" &chr(13) & _
         "Note: If you do not specify a path the file will " & _
         "be placed in the script directory", _
         "File","C:\hfss_export.txt",50,50)
         ’
        ’ If the user clicks Cancel, the path will be blank, in which case the script should just exit.
         If path <>"" then
        ’
        ’ Create the file, open it for data entry, and output the column labels.
        ’
              Set oFS = CreateObject("Scripting.FileSystemObject")
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                      Introduction to Scripting in ANSYS Electronics Desktop
    ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                        of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                 Index
                                                                                               11-44
                Symbols                                                                  CreateHelix 11-10
                                                                                         CreateObjectFromdges 11-47
                 14-52, 16-38                                                            CreateObjectFromFaces 11-
                                                                                               47
                Numbers                                                                  CreatePoint 11-11
                                                                                         CreatePolyline 11-12
                3D Modeler editor commands                                               CreateRectangle 11-15
                   AssignMaterial 11-39                                                  CreateRegion 11-16
                   Chamfer 11-40                                                         CreateRegularPolygon 11-19
                   ChangeProperty 11-75                                                  CreateRegularPolyhedron
                   Connect 11-40                                                               11-3, 11-18, 11-20
                   Copy 11-30                                                            CreateRelativeCS 11-48, 11-
                   CoverLines 11-40                                                            49
                   CoverSurfaces 11-41                                                   CreateSphere 11-20
                   Create3DComponent 11-3                                                CreateSpiral 11-21
                   CreateBondwire 11-4                                                   CreateTorus 11-21
                   CreateBox 11-5                                                        CreateUserDefinedPart 11-
                   CreateCircle 11-6                                                           22
                   CreateCone 11-7                                                       Delete 11-76
                   CreateCutplane 11-7                                                   DeleteLastOperation 11-49
                   CreateCylinder 11-8                                                   DeletePolylinePoint 11-31
                   CreateEllipse 11-8                                                    DetachFaces 11-49
                   CreateEntityList 11-41                                                DuplicateAlongLine 11-31
                   CreateEquationCurve 11-9                                              DuplicateAroundAxi 11-32,
                   CreateEquationSurface 11-                                                   11-33
                           9                                                             DuplicateMirror 11-33, 11-
                   CreateFaceCS 11-41, 11-43,                                                  34
                                                                                                                              Index-1
ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                    of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Index-2
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Index-3
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Index-4
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Index-5
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Index-6
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                             Introduction to Scripting in ANSYS Electronics Desktop
Index-7
           ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                               of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                            Introduction to Scripting in ANSYS Electronics Desktop
Index-8
          ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                              of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                             Introduction to Scripting in ANSYS Electronics Desktop
Index-9
           ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                               of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                             Introduction to Scripting in ANSYS Electronics Desktop
EditSetup                                                                          128
    Analysis module command 16-4, 16-6                                     Export 11-54
    optimization command 17-16                                             ExportConvergence 9-11
    parametric command 17-12                                               ExportDXConfigFile
    sensitivity command 17-20                                                 Optimetrics module command 17-6
    statistical command 17-22                                              ExportDXF 25-79
EditSignalLine 14-64                                                       ExportEignemodes 18-9
EditSimulationSetup 31-24                                                  ExportForHSpice
EditSkinOp 15-8                                                               Planar EM command 30-9
EditSlave 14-46                                                            ExportForHSpice 18-10
EditSolverOnDemandModel 27-42                                              ExportForSpice
EditSources 18-2                                                              Linear Network Analysis command 31-24,
EditStateVariableDataBlock 31-16                                                       31-25
EditSubstrateDataBlock 31-17                                                  Nexxim Netlist command 31-4, 31-5
EditSurfaceGround 14-67                                                       Planar EM command 30-8
EditSweep 30-21, 31-21                                                     ExportForSpice 18-8
EditSymmetry 14-46                                                         ExportFullWaveSpice 23-2, 27-133
EditTemperatureDataBlock 31-15                                             ExportGDSII 25-80
EditTerminal 14-46                                                         ExportGerber 25-81
EditTrueSurfOp 15-8                                                        ExportImage 26-32
EditUserDefinedSolution 22-4                                               ExportMaterial 6-6
EditVerifEyeAnalysis 13-34                                                 ExportMesh Stats 9-19
EditVoltage 14-47                                                          ExportModelImagetoFile 11-54
EditWavePort 14-47                                                         ExportNCDrill 25-82
EditWithComps 27-29, 27-50, 27-68, 27-92, 27-                              ExportNetlist 31-7
        116                                                                ExportNetworkData 23-3, 27-134, 30-7
ElectricRuleCheck 26-32                                                    ExportNetworkData 18-11
EMDesignOptions 30-6                                                       ExportNMFData 23-4, 27-135, 30-10
EnableAutoSave 4-6                                                         ExportNMFData 18-13
EnterComplex 20-8                                                          ExportOnGrid 20-12, 20-13
EnterComplexVector 20-8                                                    ExportOptimetricsProfile
EnterLine 20-9                                                                Optimetrics module command 17-6
EnterPoint 20-9                                                            ExportOptimetricsResults
EnterQty 20-9                                                                 Optimetrics module command 17-7
EnterScalar 20-10                                                          ExportParametricResults
EnterScalarFunc 20-10                                                         Optimetrics module command 17-8
EnterSurf 20-10                                                            ExportPlotImageToFile 13-36
EnterVector 20-10                                                          ExportProfile 9-20
EnterVectorFunc 20-11                                                      ExportRadiationParametersToFile 21-12
EnterVol 20-11                                                             ExportReport 13-37
EraseMeasurements 25-79, 28-38                                             ExportScript 27-137
ExecuteScript 7-23                                                         ExportToFile 13-38, 13-39, 20-14
Export 27-36, 27-57, 27-75, 27-103, 27-121, 27-
Index-10
           ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                               of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                             Introduction to Scripting in ANSYS Electronics Desktop
                                                                                ClcMaterial 20-6
F                                                                               CopyNamedExprToStack 20-7
                                                                                DeleteNamedExpr 20-7
FFTONReport 13-40                                                               EnterComplex 20-8
Field Overlay module commands                                                   EnterComplexVector 20-8
    GetFieldPlotNames 19-11                                                     EnterLine 20-9
Field Overlays module commands                                                  EnterPoint 20-9
    AddNamedExpr 20-3                                                           EnterQty 20-9
    AddNamedExpression 20-3                                                     EnterScalar 20-10
    CalcOp 20-3                                                                 EnterScalarFunc 20-10
    CalcStack 20-5                                                              EnterSurf 20-10
    ChangeGeomSettings 20-6                                                     EnterVector 20-10
    ClcEval 20-6                                                                EnterVectorFunc 20-11
    ClcMaterial 20-6                                                            EnterVol 20-11
    ClearAllNamedExpr 20-7                                                      ExportOnGrid 20-12, 20-13
    CopyNamedExprToStack 20-7                                                   ExportToFile 20-14
    CreateFieldPlot 19-2                                                   Fillet 11-56
    DeleteFieldPlot 19-11                                                  FilterObjectList 25-37
    DeleteNamedExpr 20-7                                                   FindElements 26-33
    EnterComplex 20-8                                                      FindObjects 25-36
    EnterComplexVector 20-8                                                FindObjectsByPoint 25-38
    EnterLine 20-9                                                         FindObjectsByPolygon 25-38
    EnterPoint 20-9                                                        FlipHorizontal 26-34
    EnterQty 20-9                                                          FlipHorizontal 25-32, 28-38
    EnterScalar 20-10                                                      FlipVertical 26-34
    EnterScalarFunc 20-10                                                  FlipVertical 25-33, 28-38
    EnterSurf 20-10                                                        For...Next loop 1-14
    EnterVector 20-10
    EnterVectorFunc 20-11
    EnteVol 20-11                                                          G
    ExportOnGrid 20-12, 20-13
                                                                           GenerateHistory 11-56
    ExportToFile 20-14
                                                                           GenerateVariationData Parametric
    ModifyFieldPlot 19-12
                                                                              parametric command 17-12
    RenameFieldPlot 19-13
                                                                           GetActiveCoordinateSystem 11-59
    RenamePlotFolder 19-13
                                                                           GetActiveDesign 5-3
    SetFieldPlotSettings 19-14
                                                                           GetActiveProject 4-7
    SetPlotFolderSettings 19-15
                                                                           GetAdaptiveFreq 18-14
Fields Calculator commands
                                                                           GetAllBoundariesList 30-27
    AddNamedExpr 20-3, 20-7
                                                                           GetAllCategories 13-43
    CalcOp 20-3
                                                                           GetAllLayerNames 25-84, 28-38
    CalcStack 20-5
                                                                           GetAllLibRefDataBlocks 31-17
    ChangeGeomSettings 20-6
                                                                           GetAllNetlistDataBlocks 31-18
    ClcEval 20-6
Index-11
           ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                               of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
Index-12
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                             Introduction to Scripting in ANSYS Electronics Desktop
Index-13
           ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                               of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
Index-14
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                             Introduction to Scripting in ANSYS Electronics Desktop
Index-15
           ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                               of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
Index-16
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                             Introduction to Scripting in ANSYS Electronics Desktop
Index-17
           ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                               of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
Index-18
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.
                                                                             Introduction to Scripting in ANSYS Electronics Desktop
Index-19
           ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                               of ANSYS, Inc. and its subsidiaries and affiliates.
Introduction to Scripting in ANSYS Electronics Desktop
Index-20
             ANSYS Electromagnetics Suite 16.1 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
                                                 of ANSYS, Inc. and its subsidiaries and affiliates.