pyedb 0.5.dev0__py3-none-any.whl → 0.6.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pyedb might be problematic. Click here for more details.
- pyedb/__init__.py +2 -3
- pyedb/dotnet/application/Variables.py +22 -0
- pyedb/dotnet/edb.py +46 -9
- pyedb/dotnet/edb_core/cell/hierarchy/model.py +22 -0
- pyedb/dotnet/edb_core/components.py +23 -1
- pyedb/dotnet/edb_core/configuration.py +23 -2
- pyedb/dotnet/edb_core/definition/component_def.py +24 -3
- pyedb/dotnet/edb_core/definition/component_model.py +22 -0
- pyedb/dotnet/edb_core/definition/definition_obj.py +24 -4
- pyedb/dotnet/edb_core/definition/definitions.py +22 -1
- pyedb/dotnet/edb_core/definition/package_def.py +23 -3
- pyedb/dotnet/edb_core/dotnet/database.py +22 -0
- pyedb/dotnet/edb_core/dotnet/layout.py +22 -0
- pyedb/dotnet/edb_core/dotnet/primitive.py +22 -0
- pyedb/dotnet/edb_core/edb_data/components_data.py +107 -2
- pyedb/dotnet/edb_core/edb_data/connectable.py +22 -0
- pyedb/dotnet/edb_core/edb_data/control_file.py +22 -0
- pyedb/dotnet/edb_core/edb_data/design_options.py +23 -0
- pyedb/dotnet/edb_core/edb_data/edbvalue.py +23 -0
- pyedb/dotnet/edb_core/edb_data/hfss_extent_info.py +22 -0
- pyedb/dotnet/edb_core/edb_data/hfss_simulation_setup_data.py +22 -0
- pyedb/dotnet/edb_core/edb_data/layer_data.py +22 -0
- pyedb/dotnet/edb_core/edb_data/nets_data.py +23 -1
- pyedb/dotnet/edb_core/edb_data/obj_base.py +23 -0
- pyedb/dotnet/edb_core/edb_data/padstacks_data.py +22 -0
- pyedb/dotnet/edb_core/edb_data/ports.py +22 -0
- pyedb/dotnet/edb_core/edb_data/primitives_data.py +62 -7
- pyedb/dotnet/edb_core/edb_data/simulation_configuration.py +22 -0
- pyedb/dotnet/edb_core/edb_data/simulation_setup.py +22 -0
- pyedb/dotnet/edb_core/edb_data/siwave_simulation_setup_data.py +22 -0
- pyedb/dotnet/edb_core/edb_data/sources.py +23 -3
- pyedb/dotnet/edb_core/edb_data/terminals.py +22 -0
- pyedb/dotnet/edb_core/edb_data/utilities.py +25 -2
- pyedb/dotnet/edb_core/edb_data/variables.py +23 -0
- pyedb/dotnet/edb_core/general.py +22 -0
- pyedb/dotnet/edb_core/hfss.py +22 -0
- pyedb/dotnet/edb_core/layout.py +33 -4
- pyedb/dotnet/edb_core/layout_validation.py +24 -2
- pyedb/dotnet/edb_core/materials.py +22 -0
- pyedb/dotnet/edb_core/net_class.py +22 -0
- pyedb/dotnet/edb_core/nets.py +22 -0
- pyedb/dotnet/edb_core/padstack.py +22 -0
- pyedb/dotnet/edb_core/siwave.py +22 -0
- pyedb/dotnet/edb_core/stackup.py +22 -0
- pyedb/edb_logger.py +22 -0
- pyedb/generic/constants.py +22 -0
- pyedb/generic/data_handlers.py +0 -1
- pyedb/generic/design_types.py +24 -0
- pyedb/generic/general_methods.py +22 -115
- pyedb/generic/plot.py +3 -13
- pyedb/generic/settings.py +22 -0
- pyedb/ipc2581/bom/bom.py +22 -0
- pyedb/ipc2581/bom/bom_item.py +22 -0
- pyedb/ipc2581/bom/characteristics.py +22 -0
- pyedb/ipc2581/bom/refdes.py +22 -0
- pyedb/ipc2581/content/color.py +22 -0
- pyedb/ipc2581/content/content.py +22 -0
- pyedb/ipc2581/content/dictionary_color.py +22 -0
- pyedb/ipc2581/content/dictionary_fill.py +22 -0
- pyedb/ipc2581/content/dictionary_line.py +22 -0
- pyedb/ipc2581/content/entry_color.py +22 -0
- pyedb/ipc2581/content/entry_line.py +22 -0
- pyedb/ipc2581/content/fill.py +22 -0
- pyedb/ipc2581/content/layer_ref.py +22 -0
- pyedb/ipc2581/content/standard_geometries_dictionary.py +22 -0
- pyedb/ipc2581/ecad/cad_data/assembly_drawing.py +22 -0
- pyedb/ipc2581/ecad/cad_data/cad_data.py +22 -0
- pyedb/ipc2581/ecad/cad_data/component.py +22 -0
- pyedb/ipc2581/ecad/cad_data/drill.py +22 -0
- pyedb/ipc2581/ecad/cad_data/feature.py +22 -0
- pyedb/ipc2581/ecad/cad_data/layer.py +22 -0
- pyedb/ipc2581/ecad/cad_data/layer_feature.py +22 -0
- pyedb/ipc2581/ecad/cad_data/logical_net.py +22 -0
- pyedb/ipc2581/ecad/cad_data/outline.py +22 -0
- pyedb/ipc2581/ecad/cad_data/package.py +22 -0
- pyedb/ipc2581/ecad/cad_data/padstack_def.py +22 -0
- pyedb/ipc2581/ecad/cad_data/padstack_hole_def.py +22 -0
- pyedb/ipc2581/ecad/cad_data/padstack_instance.py +22 -0
- pyedb/ipc2581/ecad/cad_data/padstack_pad_def.py +22 -0
- pyedb/ipc2581/ecad/cad_data/path.py +22 -0
- pyedb/ipc2581/ecad/cad_data/phy_net.py +22 -0
- pyedb/ipc2581/ecad/cad_data/pin.py +22 -0
- pyedb/ipc2581/ecad/cad_data/polygon.py +22 -0
- pyedb/ipc2581/ecad/cad_data/profile.py +22 -0
- pyedb/ipc2581/ecad/cad_data/stackup.py +22 -0
- pyedb/ipc2581/ecad/cad_data/stackup_group.py +22 -0
- pyedb/ipc2581/ecad/cad_data/stackup_layer.py +22 -0
- pyedb/ipc2581/ecad/cad_data/step.py +22 -0
- pyedb/ipc2581/ecad/cad_header.py +22 -0
- pyedb/ipc2581/ecad/ecad.py +22 -0
- pyedb/ipc2581/ecad/spec.py +22 -0
- pyedb/ipc2581/history_record.py +22 -0
- pyedb/ipc2581/ipc2581.py +22 -0
- pyedb/ipc2581/logistic_header.py +22 -0
- pyedb/misc/aedtlib_personalib_install.py +22 -0
- pyedb/misc/downloads.py +22 -0
- pyedb/misc/misc.py +22 -0
- pyedb/misc/siw_feature_config/emc/component_tags.py +3 -5
- pyedb/misc/siw_feature_config/emc/net_tags.py +1 -3
- pyedb/misc/siw_feature_config/emc/tag_library.py +5 -4
- pyedb/misc/siw_feature_config/emc/xml_generic.py +1 -2
- pyedb/misc/siw_feature_config/emc_rule_checker_settings.py +55 -30
- pyedb/siwave.py +6 -4
- {pyedb-0.5.dev0.dist-info → pyedb-0.6.0.dist-info}/METADATA +5 -7
- pyedb-0.6.0.dist-info/RECORD +130 -0
- pyedb-0.5.dev0.dist-info/RECORD +0 -130
- {pyedb-0.5.dev0.dist-info → pyedb-0.6.0.dist-info}/LICENSE +0 -0
- {pyedb-0.5.dev0.dist-info → pyedb-0.6.0.dist-info}/WHEEL +0 -0
pyedb/dotnet/edb_core/general.py
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
# Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
#
|
|
4
|
+
#
|
|
5
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
# of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
# in the Software without restriction, including without limitation the rights
|
|
8
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
# copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
# furnished to do so, subject to the following conditions:
|
|
11
|
+
#
|
|
12
|
+
# The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
# copies or substantial portions of the Software.
|
|
14
|
+
#
|
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
# SOFTWARE.
|
|
22
|
+
|
|
1
23
|
"""
|
|
2
24
|
This module contains EDB general methods and related methods.
|
|
3
25
|
|
pyedb/dotnet/edb_core/hfss.py
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
# Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
#
|
|
4
|
+
#
|
|
5
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
# of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
# in the Software without restriction, including without limitation the rights
|
|
8
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
# copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
# furnished to do so, subject to the following conditions:
|
|
11
|
+
#
|
|
12
|
+
# The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
# copies or substantial portions of the Software.
|
|
14
|
+
#
|
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
# SOFTWARE.
|
|
22
|
+
|
|
1
23
|
"""
|
|
2
24
|
This module contains the ``EdbHfss`` class.
|
|
3
25
|
"""
|
pyedb/dotnet/edb_core/layout.py
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
# Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
#
|
|
4
|
+
#
|
|
5
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
# of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
# in the Software without restriction, including without limitation the rights
|
|
8
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
# copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
# furnished to do so, subject to the following conditions:
|
|
11
|
+
#
|
|
12
|
+
# The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
# copies or substantial portions of the Software.
|
|
14
|
+
#
|
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
# SOFTWARE.
|
|
22
|
+
|
|
1
23
|
"""
|
|
2
24
|
This module contains these classes: `EdbLayout` and `Shape`.
|
|
3
25
|
"""
|
|
@@ -1233,12 +1255,19 @@ class EdbLayout(object):
|
|
|
1233
1255
|
stat_model.num_vias = len(self._pedb.padstacks.instances)
|
|
1234
1256
|
stat_model.stackup_thickness = self._pedb.stackup.get_layout_thickness()
|
|
1235
1257
|
if evaluate_area:
|
|
1258
|
+
outline_surface = stat_model.layout_size[0] * stat_model.layout_size[1]
|
|
1236
1259
|
if net_list:
|
|
1237
1260
|
netlist = list(self._pedb.nets.nets.keys())
|
|
1238
1261
|
_poly = self._pedb.get_conformal_polygon_from_netlist(netlist)
|
|
1239
1262
|
else:
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1263
|
+
for layer in list(self._pedb.stackup.signal_layers.keys()):
|
|
1264
|
+
surface = 0.0
|
|
1265
|
+
primitives = self.primitives_by_layer[layer]
|
|
1266
|
+
for prim in primitives:
|
|
1267
|
+
if prim.type == "Path":
|
|
1268
|
+
surface += prim.length * prim.width
|
|
1269
|
+
if prim.type == "Polygon":
|
|
1270
|
+
surface += prim.polygon_data.edb_api.Area()
|
|
1271
|
+
stat_model.occupying_surface[layer] = surface
|
|
1272
|
+
stat_model.occupying_ratio[layer] = surface / outline_surface
|
|
1244
1273
|
return stat_model
|
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
# Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
#
|
|
4
|
+
#
|
|
5
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
# of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
# in the Software without restriction, including without limitation the rights
|
|
8
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
# copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
# furnished to do so, subject to the following conditions:
|
|
11
|
+
#
|
|
12
|
+
# The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
# copies or substantial portions of the Software.
|
|
14
|
+
#
|
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
# SOFTWARE.
|
|
22
|
+
|
|
1
23
|
import re
|
|
2
24
|
|
|
3
25
|
from pyedb.dotnet.edb_core.edb_data.padstacks_data import EDBPadstackInstance
|
|
@@ -73,7 +95,7 @@ class LayoutValidation:
|
|
|
73
95
|
all_shorted_nets.append(net)
|
|
74
96
|
if net_dc_shorts:
|
|
75
97
|
dc_nets = list(set([obj.net.name for obj in net_dc_shorts]))
|
|
76
|
-
dc_nets =
|
|
98
|
+
dc_nets = [i for i in dc_nets if i != net]
|
|
77
99
|
for dc in dc_nets:
|
|
78
100
|
if dc:
|
|
79
101
|
dc_shorts.append([net, dc])
|
|
@@ -96,7 +118,7 @@ class LayoutValidation:
|
|
|
96
118
|
rename_shorts = [i for i in net_dc_shorts if i._edb_object.GetNet().GetName() != temp_name]
|
|
97
119
|
for i in rename_shorts:
|
|
98
120
|
i._edb_object.SetNet(self._pedb.nets.nets[temp_name].net_obj)
|
|
99
|
-
#i.net = temp_name
|
|
121
|
+
# i.net = temp_name
|
|
100
122
|
return dc_shorts
|
|
101
123
|
|
|
102
124
|
@pyedb_function_handler()
|
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
# Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
#
|
|
4
|
+
#
|
|
5
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
# of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
# in the Software without restriction, including without limitation the rights
|
|
8
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
# copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
# furnished to do so, subject to the following conditions:
|
|
11
|
+
#
|
|
12
|
+
# The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
# copies or substantial portions of the Software.
|
|
14
|
+
#
|
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
# SOFTWARE.
|
|
22
|
+
|
|
1
23
|
from __future__ import absolute_import # noreorder
|
|
2
24
|
|
|
3
25
|
import difflib
|
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
# Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
#
|
|
4
|
+
#
|
|
5
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
# of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
# in the Software without restriction, including without limitation the rights
|
|
8
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
# copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
# furnished to do so, subject to the following conditions:
|
|
11
|
+
#
|
|
12
|
+
# The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
# copies or substantial portions of the Software.
|
|
14
|
+
#
|
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
# SOFTWARE.
|
|
22
|
+
|
|
1
23
|
from __future__ import absolute_import # noreorder
|
|
2
24
|
|
|
3
25
|
import re
|
pyedb/dotnet/edb_core/nets.py
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
# Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
#
|
|
4
|
+
#
|
|
5
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
# of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
# in the Software without restriction, including without limitation the rights
|
|
8
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
# copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
# furnished to do so, subject to the following conditions:
|
|
11
|
+
#
|
|
12
|
+
# The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
# copies or substantial portions of the Software.
|
|
14
|
+
#
|
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
# SOFTWARE.
|
|
22
|
+
|
|
1
23
|
from __future__ import absolute_import # noreorder
|
|
2
24
|
|
|
3
25
|
import math
|
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
# Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
#
|
|
4
|
+
#
|
|
5
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
# of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
# in the Software without restriction, including without limitation the rights
|
|
8
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
# copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
# furnished to do so, subject to the following conditions:
|
|
11
|
+
#
|
|
12
|
+
# The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
# copies or substantial portions of the Software.
|
|
14
|
+
#
|
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
# SOFTWARE.
|
|
22
|
+
|
|
1
23
|
"""
|
|
2
24
|
This module contains the `EdbPadstacks` class.
|
|
3
25
|
"""
|
pyedb/dotnet/edb_core/siwave.py
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
# Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
#
|
|
4
|
+
#
|
|
5
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
# of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
# in the Software without restriction, including without limitation the rights
|
|
8
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
# copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
# furnished to do so, subject to the following conditions:
|
|
11
|
+
#
|
|
12
|
+
# The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
# copies or substantial portions of the Software.
|
|
14
|
+
#
|
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
# SOFTWARE.
|
|
22
|
+
|
|
1
23
|
"""
|
|
2
24
|
This module contains these classes: ``CircuitPort``, ``CurrentSource``, ``EdbSiwave``,
|
|
3
25
|
``PinGroup``, ``ResistorSource``, ``Source``, ``SourceType``, and ``VoltageSource``.
|
pyedb/dotnet/edb_core/stackup.py
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
# Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
#
|
|
4
|
+
#
|
|
5
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
# of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
# in the Software without restriction, including without limitation the rights
|
|
8
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
# copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
# furnished to do so, subject to the following conditions:
|
|
11
|
+
#
|
|
12
|
+
# The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
# copies or substantial portions of the Software.
|
|
14
|
+
#
|
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
# SOFTWARE.
|
|
22
|
+
|
|
1
23
|
"""
|
|
2
24
|
This module contains the `EdbStackup` class.
|
|
3
25
|
|
pyedb/edb_logger.py
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
# Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
#
|
|
4
|
+
#
|
|
5
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
# of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
# in the Software without restriction, including without limitation the rights
|
|
8
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
# copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
# furnished to do so, subject to the following conditions:
|
|
11
|
+
#
|
|
12
|
+
# The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
# copies or substantial portions of the Software.
|
|
14
|
+
#
|
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
# SOFTWARE.
|
|
22
|
+
|
|
1
23
|
# -*- coding: utf-8 -*-
|
|
2
24
|
import logging
|
|
3
25
|
from logging.handlers import RotatingFileHandler
|
pyedb/generic/constants.py
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
# Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
#
|
|
4
|
+
#
|
|
5
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
# of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
# in the Software without restriction, including without limitation the rights
|
|
8
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
# copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
# furnished to do so, subject to the following conditions:
|
|
11
|
+
#
|
|
12
|
+
# The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
# copies or substantial portions of the Software.
|
|
14
|
+
#
|
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
# SOFTWARE.
|
|
22
|
+
|
|
1
23
|
import math
|
|
2
24
|
import warnings
|
|
3
25
|
|
pyedb/generic/data_handlers.py
CHANGED
pyedb/generic/design_types.py
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
# Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
#
|
|
4
|
+
#
|
|
5
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
# of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
# in the Software without restriction, including without limitation the rights
|
|
8
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
# copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
# furnished to do so, subject to the following conditions:
|
|
11
|
+
#
|
|
12
|
+
# The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
# copies or substantial portions of the Software.
|
|
14
|
+
#
|
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
# SOFTWARE.
|
|
22
|
+
|
|
1
23
|
import os
|
|
2
24
|
|
|
3
25
|
|
|
@@ -100,6 +122,7 @@ def Edb(
|
|
|
100
122
|
else:
|
|
101
123
|
raise Exception("not implemented yet.")
|
|
102
124
|
|
|
125
|
+
|
|
103
126
|
def Siwave(
|
|
104
127
|
specified_version=None,
|
|
105
128
|
):
|
|
@@ -110,4 +133,5 @@ def Siwave(
|
|
|
110
133
|
specified_version=specified_version,
|
|
111
134
|
)
|
|
112
135
|
|
|
136
|
+
|
|
113
137
|
app_map = {"EDB": Edb}
|
pyedb/generic/general_methods.py
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
# Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
#
|
|
4
|
+
#
|
|
5
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
# of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
# in the Software without restriction, including without limitation the rights
|
|
8
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
# copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
# furnished to do so, subject to the following conditions:
|
|
11
|
+
#
|
|
12
|
+
# The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
# copies or substantial portions of the Software.
|
|
14
|
+
#
|
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
# SOFTWARE.
|
|
22
|
+
|
|
1
23
|
# -*- coding: utf-8 -*-
|
|
2
24
|
from __future__ import absolute_import
|
|
3
25
|
|
|
@@ -11,7 +33,6 @@ import fnmatch
|
|
|
11
33
|
from functools import update_wrapper
|
|
12
34
|
import inspect
|
|
13
35
|
import itertools
|
|
14
|
-
import json
|
|
15
36
|
import logging
|
|
16
37
|
import math
|
|
17
38
|
import os
|
|
@@ -32,8 +53,6 @@ is_windows = not is_linux
|
|
|
32
53
|
_pythonver = sys.version_info[0]
|
|
33
54
|
inside_desktop = True if is_ironpython and "4.0.30319.42000" in sys.version else False
|
|
34
55
|
|
|
35
|
-
if not is_ironpython:
|
|
36
|
-
import psutil
|
|
37
56
|
|
|
38
57
|
try:
|
|
39
58
|
import xml.etree.cElementTree as ET
|
|
@@ -974,118 +993,6 @@ def number_aware_string_key(s): # pragma: no cover
|
|
|
974
993
|
return tuple(result)
|
|
975
994
|
|
|
976
995
|
|
|
977
|
-
@pyedb_function_handler()
|
|
978
|
-
def active_sessions(version=None, student_version=False, non_graphical=False): # pragma: no cover
|
|
979
|
-
"""Get information for the active AEDT sessions.
|
|
980
|
-
|
|
981
|
-
Parameters
|
|
982
|
-
----------
|
|
983
|
-
version : str, optional
|
|
984
|
-
Version to check. The default is ``None``, in which case all versions are checked.
|
|
985
|
-
When specifying a version, you can use a three-digit format like ``"222"`` or a
|
|
986
|
-
five-digit format like ``"2022.2"``.
|
|
987
|
-
student_version : bool, optional
|
|
988
|
-
non_graphical : bool, optional
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
Returns
|
|
992
|
-
-------
|
|
993
|
-
dict
|
|
994
|
-
{AEDT PID: port}
|
|
995
|
-
If the PID corresponds to a COM session port is set to -1
|
|
996
|
-
"""
|
|
997
|
-
return_dict = {}
|
|
998
|
-
if student_version:
|
|
999
|
-
keys = ["ansysedtsv.exe", "ansysedtsv"]
|
|
1000
|
-
else:
|
|
1001
|
-
keys = ["ansysedt.exe", "ansysedt"]
|
|
1002
|
-
if version and "." in version:
|
|
1003
|
-
version = version[-4:].replace(".", "")
|
|
1004
|
-
if version and version < "221":
|
|
1005
|
-
version = version[:2] + "." + version[2]
|
|
1006
|
-
for p in psutil.process_iter():
|
|
1007
|
-
try:
|
|
1008
|
-
if p.name() in keys:
|
|
1009
|
-
cmd = p.cmdline()
|
|
1010
|
-
if non_graphical and "-ng" in cmd or not non_graphical:
|
|
1011
|
-
if not version or (version and version in cmd[0]):
|
|
1012
|
-
if "-grpcsrv" in cmd:
|
|
1013
|
-
if not version or (version and version in cmd[0]):
|
|
1014
|
-
try:
|
|
1015
|
-
return_dict[p.pid] = int(cmd[cmd.index("-grpcsrv") + 1])
|
|
1016
|
-
except (IndexError, ValueError):
|
|
1017
|
-
# default desktop grpc port.
|
|
1018
|
-
return_dict[p.pid] = 50051
|
|
1019
|
-
else:
|
|
1020
|
-
return_dict[p.pid] = -1
|
|
1021
|
-
for i in psutil.net_connections():
|
|
1022
|
-
if i.pid == p.pid and (i.laddr.port > 50050 and i.laddr.port < 50200):
|
|
1023
|
-
return_dict[p.pid] = i.laddr.port
|
|
1024
|
-
break
|
|
1025
|
-
except:
|
|
1026
|
-
pass
|
|
1027
|
-
return return_dict
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
@pyedb_function_handler()
|
|
1031
|
-
def com_active_sessions(version=None, student_version=False, non_graphical=False): # pragma: no cover
|
|
1032
|
-
"""Get information for the active COM AEDT sessions.
|
|
1033
|
-
|
|
1034
|
-
Parameters
|
|
1035
|
-
----------
|
|
1036
|
-
version : str, optional
|
|
1037
|
-
Version to check. The default is ``None``, in which case all versions are checked.
|
|
1038
|
-
When specifying a version, you can use a three-digit format like ``"222"`` or a
|
|
1039
|
-
five-digit format like ``"2022.2"``.
|
|
1040
|
-
student_version : bool, optional
|
|
1041
|
-
Whether to check for student version sessions. The default is ``False``.
|
|
1042
|
-
non_graphical : bool, optional
|
|
1043
|
-
Whether to check only for active non-graphical sessions. The default is ``False``.
|
|
1044
|
-
|
|
1045
|
-
Returns
|
|
1046
|
-
-------
|
|
1047
|
-
List
|
|
1048
|
-
List of AEDT process IDs.
|
|
1049
|
-
"""
|
|
1050
|
-
|
|
1051
|
-
all_sessions = active_sessions(version, student_version, non_graphical)
|
|
1052
|
-
|
|
1053
|
-
return_list = []
|
|
1054
|
-
for s, p in all_sessions.items():
|
|
1055
|
-
if p == -1:
|
|
1056
|
-
return_list.append(s)
|
|
1057
|
-
return return_list
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
@pyedb_function_handler()
|
|
1061
|
-
def grpc_active_sessions(version=None, student_version=False, non_graphical=False): # pragma: no cover
|
|
1062
|
-
"""Get information for the active gRPC AEDT sessions.
|
|
1063
|
-
|
|
1064
|
-
Parameters
|
|
1065
|
-
----------
|
|
1066
|
-
version : str, optional
|
|
1067
|
-
Version to check. The default is ``None``, in which case all versions are checked.
|
|
1068
|
-
When specifying a version, you can use a three-digit format like ``"222"`` or a
|
|
1069
|
-
five-digit format like ``"2022.2"``.
|
|
1070
|
-
student_version : bool, optional
|
|
1071
|
-
Whether to check for student version sessions. The default is ``False``.
|
|
1072
|
-
non_graphical : bool, optional
|
|
1073
|
-
Whether to check only for active non-graphical sessions. The default is ``False``.
|
|
1074
|
-
|
|
1075
|
-
Returns
|
|
1076
|
-
-------
|
|
1077
|
-
List
|
|
1078
|
-
List of gRPC ports.
|
|
1079
|
-
"""
|
|
1080
|
-
all_sessions = active_sessions(version, student_version, non_graphical)
|
|
1081
|
-
|
|
1082
|
-
return_list = []
|
|
1083
|
-
for _, p in all_sessions.items():
|
|
1084
|
-
if p > -1:
|
|
1085
|
-
return_list.append(p)
|
|
1086
|
-
return return_list
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
996
|
@pyedb_function_handler()
|
|
1090
997
|
def compute_fft(time_vals, value): # pragma: no cover
|
|
1091
998
|
"""Compute FFT of input transient data.
|
pyedb/generic/plot.py
CHANGED
|
@@ -1,23 +1,12 @@
|
|
|
1
1
|
import ast
|
|
2
|
-
from collections import defaultdict
|
|
3
|
-
import csv
|
|
4
|
-
from datetime import datetime
|
|
5
|
-
import math
|
|
6
2
|
import os
|
|
7
|
-
import tempfile
|
|
8
|
-
import time
|
|
9
3
|
import warnings
|
|
10
4
|
|
|
11
|
-
from pyedb.generic.
|
|
12
|
-
from pyedb.generic.general_methods import (
|
|
13
|
-
is_ironpython,
|
|
14
|
-
open_file,
|
|
15
|
-
pyedb_function_handler,
|
|
16
|
-
)
|
|
5
|
+
from pyedb.generic.general_methods import is_ironpython, pyedb_function_handler
|
|
17
6
|
|
|
18
7
|
if not is_ironpython: # pragma: no cover
|
|
19
8
|
try:
|
|
20
|
-
import numpy
|
|
9
|
+
import numpy # noqa: F401
|
|
21
10
|
except ImportError:
|
|
22
11
|
warnings.warn(
|
|
23
12
|
"The NumPy module is required to run some functionalities of PostProcess.\n"
|
|
@@ -43,6 +32,7 @@ if not is_ironpython: # pragma: no cover
|
|
|
43
32
|
except:
|
|
44
33
|
pass
|
|
45
34
|
|
|
35
|
+
|
|
46
36
|
@pyedb_function_handler()
|
|
47
37
|
def plot_matplotlib(
|
|
48
38
|
plot_data,
|
pyedb/generic/settings.py
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
# Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
#
|
|
4
|
+
#
|
|
5
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
# of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
# in the Software without restriction, including without limitation the rights
|
|
8
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
# copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
# furnished to do so, subject to the following conditions:
|
|
11
|
+
#
|
|
12
|
+
# The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
# copies or substantial portions of the Software.
|
|
14
|
+
#
|
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
# SOFTWARE.
|
|
22
|
+
|
|
1
23
|
import logging
|
|
2
24
|
import os
|
|
3
25
|
import time
|
pyedb/ipc2581/bom/bom.py
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
# Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
#
|
|
4
|
+
#
|
|
5
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
# of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
# in the Software without restriction, including without limitation the rights
|
|
8
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
# copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
# furnished to do so, subject to the following conditions:
|
|
11
|
+
#
|
|
12
|
+
# The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
# copies or substantial portions of the Software.
|
|
14
|
+
#
|
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
# SOFTWARE.
|
|
22
|
+
|
|
1
23
|
from pyedb.generic.general_methods import ET
|
|
2
24
|
|
|
3
25
|
|