Cable modeling#
The Cable Modeling module includes several methods to work
with the Cable Modeling HFSS Beta feature:
create_cableto create all available types of cables: bundle, straight wire and twisted pair.update_cable_propertiesto update all cables properties for all cable types.update_shieldingto update only the shielding jacket type for bundle cable.remove_cablesto remove cables.add_cable_to_bundleto add a cable or a list of cables to a bundle.create_clock_sourceto create a clock source.update_clock_sourceto update a clock source.remove_sourceto remove a source.remove_all_sourcesto remove all sources.create_pwl_sourceto create a pwl source.create_pwl_source_from_fileto create a pwl source from file.update_pwl_sourceto update a pwl source.create_cable_harnessto create a cable harness.
They are accessible through:
Contains all common Cable features. |
Cable bundle creation example:
from ansys.aedt.core import Hfss
from ansys.aedt.core.generic.DataHandlers import json_to_dict
from ansys.aedt.core.modules.cable_modeling import Cable
hfss = Hfss(
projectname=project_path,
specified_version="2025.2",
non_graphical=False,
new_desktop_session=True,
close_on_exit=True,
student_version=False,
)
# This call returns a dictionary out of the JSON file
cable_props = json_to_dict(json_path)
# This example shows how to manually change from script the cable properties
cable_props["Add_Cable"] = "True"
cable_props["Cable_prop"]["CableType"] = "bundle"
cable_props["Cable_prop"]["IsJacketTypeInsulation"] = "True"
cable_props["CableManager"]["Definitions"]["CableBundle"]["BundleParams"][
"InsulationJacketParams"
]["InsThickness"] = "3.66mm"
cable_props["CableManager"]["Definitions"]["CableBundle"]["BundleParams"][
"InsulationJacketParams"
]["JacketMaterial"] = "pec"
cable_props["CableManager"]["Definitions"]["CableBundle"]["BundleParams"][
"InsulationJacketParams"
]["InnerDiameter"] = "2.88mm"
cable_props["CableManager"]["Definitions"]["CableBundle"]["BundleAttribs"][
"Name"
] = "Bundle_Cable_Insulation"
# This call returns the Cable class
cable = Cable(hfss, cable_props)
# This call creates the cable bundle
cable.create_cable()
Clock source creation example:
from ansys.aedt.core import Hfss
from ansys.aedt.core.generic.DataHandlers import json_to_dict
from ansys.aedt.core.modules.cable_modeling import Cable
hfss = Hfss(
projectname=project_path,
specified_version="2025.2",
non_graphical=False,
new_desktop_session=True,
close_on_exit=True,
student_version=False,
)
# This call returns a dictionary out of the JSON file
cable_props = json_to_dict(json_path)
# This example shows how to manually change from script the clock source properties
cable_props["Add_Cable"] = "False"
cable_props["Update_Cable"] = "False"
cable_props["Add_CablesToBundle"] = "False"
cable_props["Remove_Cable"] = "False"
cable_props["Add_Source"] = "True"
cable_props["Source_prop"]["AddClockSource"] = "True"
cable_props["CableManager"]["TDSources"]["ClockSourceDef"]["ClockSignalParams"][
"Period"
] = "40us"
cable_props["CableManager"]["TDSources"]["ClockSourceDef"]["ClockSignalParams"][
"LowPulseVal"
] = "0.1V"
cable_props["CableManager"]["TDSources"]["ClockSourceDef"]["ClockSignalParams"][
"HighPulseVal"
] = "2V"
cable_props["CableManager"]["TDSources"]["ClockSourceDef"]["ClockSignalParams"][
"Risetime"
] = "5us"
cable_props["CableManager"]["TDSources"]["ClockSourceDef"]["ClockSignalParams"][
"Falltime"
] = "10us"
cable_props["CableManager"]["TDSources"]["ClockSourceDef"]["ClockSignalParams"][
"PulseWidth"
] = "23us"
cable_props["CableManager"]["TDSources"]["ClockSourceDef"]["TDSourceAttribs"][
"Name"
] = "clock_test_1"
# This call returns the Cable class
cable = Cable(hfss, cable_props)
# This call creates the clock source
cable.create_clock_source()
Cable harness creation example:
from ansys.aedt.core import Hfss
from ansys.aedt.core.generic.DataHandlers import json_to_dict
from ansys.aedt.core.modules.cable_modeling import Cable
hfss = Hfss(
projectname=project_path,
specified_version="2025.2",
non_graphical=False,
new_desktop_session=True,
close_on_exit=True,
student_version=False,
)
# This call returns a dictionary out of the JSON file
cable_props = json_to_dict(json_path)
# This example shows how to manually change from script the cable harness properties
cable_props["Add_Cable"] = "False"
cable_props["Update_Cable"] = "False"
cable_props["Add_CablesToBundle"] = "False"
cable_props["Remove_Cable"] = "False"
cable_props["Add_Source"] = "False"
cable_props["Update_Source"] = "False"
cable_props["Remove_Source"] = "False"
cable_props["Add_CableHarness"] = "True"
cable_props["CableHarness_prop"]["Name"] = "cable_harness_test"
cable_props["CableHarness_prop"]["Bundle"] = "New_updated_name_cable_bundle_insulation"
cable_props["CableHarness_prop"]["TwistAngleAlongRoute"] = "20deg"
cable_props["CableHarness_prop"]["Polyline"] = "Polyline1"
cable_props["CableHarness_prop"]["AutoOrient"] = "False"
cable_props["CableHarness_prop"]["XAxis"] = "Undefined"
cable_props["CableHarness_prop"]["XAxisOrigin"] = ["0mm", "0mm", "0mm"]
cable_props["CableHarness_prop"]["XAxisEnd"] = ["0mm", "0mm", "0mm"]
cable_props["CableHarness_prop"]["ReverseYAxisDirection"] = "True"
cable_props["CableHarness_prop"]["CableTerminationsToInclude"][0][
"CableName"
] = "straight_wire_cable"
cable_props["CableHarness_prop"]["CableTerminationsToInclude"][1][
"CableName"
] = "straight_wire_cable1"
cable_props["CableHarness_prop"]["CableTerminationsToInclude"][2][
"CableName"
] = "straight_wire_cable2"
# This call returns the Cable class
cable = Cable(hfss, cable_props)
# This call creates the cable harness
cable.create_cable_harness()