Parameterizing Solid Models for ANSYS HFSS

ANSYS HFSS features an integrated “history-based modeler”. This means that an object’s final shape is dependent on each and every operation performed on that object. History-based modelers are a perfect choice for analysis since they naturally support parameterization for design exploration and optimization. However, editing imported solid 3D Mechanical CAD (or MCAD) models can sometimes be challenging with a history-based modeler since there are no imported parameters, the order of operation is important, and operational dependencies can sometimes lead to logic errors. Conversely, direct modelers are not bound by previous operations which can offer more freedom to edit geometry in any order without historic logic errors. This makes direct modelers a popular choice for CAD software but, since dependencies are not maintained, they are not typically the natural choice for parametric analysis. If only there was a way to leverage the best of both worlds… Well, with ANSYS, there is a way.

As discussed in a previous blog post, since the release of ANSYS 18.1, ANSYS SpaceClaim Direct Modeler (SCDM) and the MCAD translator used to import geometry from third-party CAD tools are now packaged together. The post also covered a few simple procedures to import and prepare a solid model for electromagnetic analysis. However, this blog post will demonstrate how to define parameters in SCDM, directly link the model in SCDM to HFSS, and drive a parametric sweep from HFSS. This link unites the geometric flexibility of a direct modeler to the parametric flexibility of a history-based modeler.

You can download a copy of this model here to follow along. If you need access to SCDM, you can contact us at It’s also worth noting that the processes discussed throughout this article work the same for HFSS-IE, Q3D, and Maxwell designs as well.

[1] To begin, open ANSYS SpaceClaim and select File > Open to import the step file.

[2] Split the patch antenna and reference plane from the dielectric. Click here for steps to splitting geometry. Notice the objects can be renamed and colors can be changed under the Display tab.

This slideshow requires JavaScript.

[1] Click and hold the center mouse button to rotate the model, zoom into the microstrip feed using the mouse scroll, then select the side of the trace.

[2] Rotate to the other side of the microstrip feed, hold the Ctrl key, and select the other side of the trace. Note the distance between the faces is shown as 3mm in the Status Bar at the bottom of the screen, which is the initial trace width.

[3] Select Design > Edit > Pull and select No merge under Options – Pull.

[4] Click the yellow arrow in the model, and drag the side of the trace. Notice how both faces move in or out to change the trace width. After releasing the mouse, a P will appear next to the measurement box. Click this P to create a parameter.

[5] Select the Groups panel under the Structure tree. Change “Group1” to “traceWidth” and reset the Ruler dimension to 0mm. Then, save the project as UWB_Patch_Antenna_PCB.scdoc and leave SCDM open.

This slideshow requires JavaScript.

[1] Open ANSYS Electronics Desktop (AEDT), insert a new HFSS Design, and select the menu item Modeler > SpaceClaim Link > Connect to Active Session… Notice that there is an option to browse and open any SCDM project if the session is not currently active (or open).

[2] Select the active UWB_Patch_Antenna_PCB session and click Connect.

[3] The geometry from SCDM is automatically imported into HFSS.

This slideshow requires JavaScript.

[1] Double-click the SpaceClaim1 model in the HFSS modeler tree and select the Parameters tab in the pop-up dialogue box. Notice the SCDM parameter can now be controlled within HFSS. Change the Value of traceWidth to SCDM_traceWidth to create a local variable and set SCDM_traceWidth equal to -1mm. Then click OK. Notice a lightning bolt over the SpaceClaim1 model to indicate changes have been made.

[2] Right-click SpaceClaim1 in the modeler tree and select Send Parameters and Generate.

[3] Notice how the HFSS geometry reflects the changes.

[4] Notice how the SCDM also reflects the changes. In practice, it is generally recommended to browse to unopen SCDM projects (rather than connecting to an active session) to avoid accidentally editing the same geometry in two places.

This slideshow requires JavaScript.

At this point, not only can the geometry in SCDM be controlled by variables in HFSS, but a parametric analysis can now be performed on geometry within a direct modeler. The best of both worlds!

Use the typical steps within HFSS to setup a parametric sweep or optimization. When performing a parametric analysis, the geometry will automatically update the link between HFSS and SCDM, so step [2] above does not need to be performed manually. Be sure to follow the typical HFSS setup procedures such as assigning materials, defining ports and boundaries, and creating a solution setup before solving.

Here are some additional pro-tips:

  1. Create local variables in HFSS that can be used for both local and linked geometry. For example, create a variable in HFSS for traceWidth = 3mm (which was the previously noted width). Define SCDM_traceWidth = (traceWidth-3mm)/2. Now the port width can scale with the trace width.

This slideshow requires JavaScript.

  1. Link to multiple SCDM projects. Either move and rotate parts as needed or create a separate coordinate system for each component. For example, link an SMA end connector to the same HFSS project to analyze both components. Notice that each component has variables and the substrate thickness changes both SCDM projects.

This slideshow requires JavaScript.

  1. Design other objects in the native HFSS history-based modeler that are dependent on the SCDM design variables. For example, the void in an enclosure could be a function of SCDM_dielectricHeight. Notice that the enclosure void is dependent on the SCDM dielectric height.

This slideshow requires JavaScript.