pyedb 0.2.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 +17 -0
- pyedb/dotnet/__init__.py +0 -0
- pyedb/dotnet/application/Variables.py +2261 -0
- pyedb/dotnet/application/__init__.py +0 -0
- pyedb/dotnet/clr_module.py +103 -0
- pyedb/dotnet/edb.py +4237 -0
- pyedb/dotnet/edb_core/__init__.py +1 -0
- pyedb/dotnet/edb_core/cell/__init__.py +0 -0
- pyedb/dotnet/edb_core/cell/hierarchy/__init__.py +0 -0
- pyedb/dotnet/edb_core/cell/hierarchy/model.py +66 -0
- pyedb/dotnet/edb_core/components.py +2669 -0
- pyedb/dotnet/edb_core/configuration.py +423 -0
- pyedb/dotnet/edb_core/definition/__init__.py +0 -0
- pyedb/dotnet/edb_core/definition/component_def.py +166 -0
- pyedb/dotnet/edb_core/definition/component_model.py +30 -0
- pyedb/dotnet/edb_core/definition/definition_obj.py +18 -0
- pyedb/dotnet/edb_core/definition/definitions.py +12 -0
- pyedb/dotnet/edb_core/dotnet/__init__.py +0 -0
- pyedb/dotnet/edb_core/dotnet/database.py +1218 -0
- pyedb/dotnet/edb_core/dotnet/layout.py +238 -0
- pyedb/dotnet/edb_core/dotnet/primitive.py +1517 -0
- pyedb/dotnet/edb_core/edb_data/__init__.py +0 -0
- pyedb/dotnet/edb_core/edb_data/components_data.py +938 -0
- pyedb/dotnet/edb_core/edb_data/connectable.py +113 -0
- pyedb/dotnet/edb_core/edb_data/control_file.py +1268 -0
- pyedb/dotnet/edb_core/edb_data/design_options.py +35 -0
- pyedb/dotnet/edb_core/edb_data/edbvalue.py +45 -0
- pyedb/dotnet/edb_core/edb_data/hfss_extent_info.py +330 -0
- pyedb/dotnet/edb_core/edb_data/hfss_simulation_setup_data.py +1607 -0
- pyedb/dotnet/edb_core/edb_data/layer_data.py +576 -0
- pyedb/dotnet/edb_core/edb_data/nets_data.py +281 -0
- pyedb/dotnet/edb_core/edb_data/obj_base.py +19 -0
- pyedb/dotnet/edb_core/edb_data/padstacks_data.py +2080 -0
- pyedb/dotnet/edb_core/edb_data/ports.py +287 -0
- pyedb/dotnet/edb_core/edb_data/primitives_data.py +1397 -0
- pyedb/dotnet/edb_core/edb_data/simulation_configuration.py +2914 -0
- pyedb/dotnet/edb_core/edb_data/simulation_setup.py +716 -0
- pyedb/dotnet/edb_core/edb_data/siwave_simulation_setup_data.py +1205 -0
- pyedb/dotnet/edb_core/edb_data/sources.py +514 -0
- pyedb/dotnet/edb_core/edb_data/terminals.py +632 -0
- pyedb/dotnet/edb_core/edb_data/utilities.py +148 -0
- pyedb/dotnet/edb_core/edb_data/variables.py +91 -0
- pyedb/dotnet/edb_core/general.py +181 -0
- pyedb/dotnet/edb_core/hfss.py +1646 -0
- pyedb/dotnet/edb_core/layout.py +1244 -0
- pyedb/dotnet/edb_core/layout_validation.py +272 -0
- pyedb/dotnet/edb_core/materials.py +939 -0
- pyedb/dotnet/edb_core/net_class.py +335 -0
- pyedb/dotnet/edb_core/nets.py +1215 -0
- pyedb/dotnet/edb_core/padstack.py +1389 -0
- pyedb/dotnet/edb_core/siwave.py +1427 -0
- pyedb/dotnet/edb_core/stackup.py +2703 -0
- pyedb/edb_logger.py +396 -0
- pyedb/generic/__init__.py +0 -0
- pyedb/generic/constants.py +1063 -0
- pyedb/generic/data_handlers.py +320 -0
- pyedb/generic/design_types.py +104 -0
- pyedb/generic/filesystem.py +150 -0
- pyedb/generic/general_methods.py +1535 -0
- pyedb/generic/plot.py +1840 -0
- pyedb/generic/process.py +285 -0
- pyedb/generic/settings.py +224 -0
- pyedb/ipc2581/__init__.py +0 -0
- pyedb/ipc2581/bom/__init__.py +0 -0
- pyedb/ipc2581/bom/bom.py +21 -0
- pyedb/ipc2581/bom/bom_item.py +32 -0
- pyedb/ipc2581/bom/characteristics.py +37 -0
- pyedb/ipc2581/bom/refdes.py +16 -0
- pyedb/ipc2581/content/__init__.py +0 -0
- pyedb/ipc2581/content/color.py +38 -0
- pyedb/ipc2581/content/content.py +55 -0
- pyedb/ipc2581/content/dictionary_color.py +29 -0
- pyedb/ipc2581/content/dictionary_fill.py +28 -0
- pyedb/ipc2581/content/dictionary_line.py +30 -0
- pyedb/ipc2581/content/entry_color.py +13 -0
- pyedb/ipc2581/content/entry_line.py +14 -0
- pyedb/ipc2581/content/fill.py +15 -0
- pyedb/ipc2581/content/layer_ref.py +10 -0
- pyedb/ipc2581/content/standard_geometries_dictionary.py +72 -0
- pyedb/ipc2581/ecad/__init__.py +0 -0
- pyedb/ipc2581/ecad/cad_data/__init__.py +0 -0
- pyedb/ipc2581/ecad/cad_data/assembly_drawing.py +26 -0
- pyedb/ipc2581/ecad/cad_data/cad_data.py +37 -0
- pyedb/ipc2581/ecad/cad_data/component.py +41 -0
- pyedb/ipc2581/ecad/cad_data/drill.py +30 -0
- pyedb/ipc2581/ecad/cad_data/feature.py +54 -0
- pyedb/ipc2581/ecad/cad_data/layer.py +41 -0
- pyedb/ipc2581/ecad/cad_data/layer_feature.py +151 -0
- pyedb/ipc2581/ecad/cad_data/logical_net.py +32 -0
- pyedb/ipc2581/ecad/cad_data/outline.py +25 -0
- pyedb/ipc2581/ecad/cad_data/package.py +104 -0
- pyedb/ipc2581/ecad/cad_data/padstack_def.py +38 -0
- pyedb/ipc2581/ecad/cad_data/padstack_hole_def.py +24 -0
- pyedb/ipc2581/ecad/cad_data/padstack_instance.py +62 -0
- pyedb/ipc2581/ecad/cad_data/padstack_pad_def.py +26 -0
- pyedb/ipc2581/ecad/cad_data/path.py +89 -0
- pyedb/ipc2581/ecad/cad_data/phy_net.py +80 -0
- pyedb/ipc2581/ecad/cad_data/pin.py +31 -0
- pyedb/ipc2581/ecad/cad_data/polygon.py +169 -0
- pyedb/ipc2581/ecad/cad_data/profile.py +40 -0
- pyedb/ipc2581/ecad/cad_data/stackup.py +31 -0
- pyedb/ipc2581/ecad/cad_data/stackup_group.py +42 -0
- pyedb/ipc2581/ecad/cad_data/stackup_layer.py +21 -0
- pyedb/ipc2581/ecad/cad_data/step.py +275 -0
- pyedb/ipc2581/ecad/cad_header.py +33 -0
- pyedb/ipc2581/ecad/ecad.py +19 -0
- pyedb/ipc2581/ecad/spec.py +46 -0
- pyedb/ipc2581/history_record.py +37 -0
- pyedb/ipc2581/ipc2581.py +387 -0
- pyedb/ipc2581/logistic_header.py +25 -0
- pyedb/misc/__init__.py +0 -0
- pyedb/misc/aedtlib_personalib_install.py +14 -0
- pyedb/misc/downloads.py +322 -0
- pyedb/misc/misc.py +67 -0
- pyedb/misc/pyedb.runtimeconfig.json +13 -0
- pyedb/misc/siw_feature_config/__init__.py +0 -0
- pyedb/misc/siw_feature_config/emc/__init__.py +0 -0
- pyedb/misc/siw_feature_config/emc/component_tags.py +46 -0
- pyedb/misc/siw_feature_config/emc/net_tags.py +37 -0
- pyedb/misc/siw_feature_config/emc/tag_library.py +62 -0
- pyedb/misc/siw_feature_config/emc/xml_generic.py +78 -0
- pyedb/misc/siw_feature_config/emc_rule_checker_settings.py +179 -0
- pyedb/misc/utilities.py +27 -0
- pyedb/modeler/geometry_operators.py +2082 -0
- pyedb-0.2.0.dist-info/LICENSE +21 -0
- pyedb-0.2.0.dist-info/METADATA +208 -0
- pyedb-0.2.0.dist-info/RECORD +128 -0
- pyedb-0.2.0.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
from pyedb.dotnet.edb_core.edb_data.terminals import (
|
|
2
|
+
BundleTerminal,
|
|
3
|
+
EdgeTerminal,
|
|
4
|
+
PadstackInstanceTerminal,
|
|
5
|
+
Terminal,
|
|
6
|
+
)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class GapPort(EdgeTerminal):
|
|
10
|
+
"""Manages gap port properties.
|
|
11
|
+
|
|
12
|
+
Parameters
|
|
13
|
+
----------
|
|
14
|
+
pedb : pyedb.edb.Edb
|
|
15
|
+
EDB object from the ``Edblib`` library.
|
|
16
|
+
edb_object : Ansys.Ansoft.Edb.Cell.Terminal.EdgeTerminal
|
|
17
|
+
Edge terminal instance from EDB.
|
|
18
|
+
|
|
19
|
+
Examples
|
|
20
|
+
--------
|
|
21
|
+
This example shows how to access the ``GapPort`` class.
|
|
22
|
+
>>> from pyedb import Edb
|
|
23
|
+
>>> edb = Edb("myaedb.aedb")
|
|
24
|
+
>>> gap_port = edb.ports["gap_port"]
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
def __init__(self, pedb, edb_object):
|
|
28
|
+
super().__init__(pedb, edb_object)
|
|
29
|
+
|
|
30
|
+
@property
|
|
31
|
+
def magnitude(self):
|
|
32
|
+
"""Magnitude."""
|
|
33
|
+
return self._edb_object.GetSourceAmplitude().ToDouble()
|
|
34
|
+
|
|
35
|
+
@property
|
|
36
|
+
def phase(self):
|
|
37
|
+
"""Phase."""
|
|
38
|
+
return self._edb_object.GetSourcePhase().ToDouble()
|
|
39
|
+
|
|
40
|
+
@property
|
|
41
|
+
def renormalize(self):
|
|
42
|
+
"""Whether renormalize is active."""
|
|
43
|
+
return self._edb_object.GetPortPostProcessingProp().DoRenormalize
|
|
44
|
+
|
|
45
|
+
@property
|
|
46
|
+
def deembed(self):
|
|
47
|
+
"""Inductance value of the deembed gap port."""
|
|
48
|
+
return self._edb_object.GetPortPostProcessingProp().DoDeembedGapL
|
|
49
|
+
|
|
50
|
+
@property
|
|
51
|
+
def renormalize_z0(self):
|
|
52
|
+
"""Renormalize Z0 value (real, imag)."""
|
|
53
|
+
return (
|
|
54
|
+
self._edb_object.GetPortPostProcessingProp().RenormalizionZ0.ToComplex().Item1,
|
|
55
|
+
self._edb_object.GetPortPostProcessingProp().RenormalizionZ0.ToComplex().Item2,
|
|
56
|
+
)
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
class CircuitPort(GapPort):
|
|
60
|
+
"""Manages gap port properties.
|
|
61
|
+
Parameters
|
|
62
|
+
----------
|
|
63
|
+
pedb : pyedb.edb.Edb
|
|
64
|
+
EDB object from the ``Edblib`` library.
|
|
65
|
+
edb_object : Ansys.Ansoft.Edb.Cell.Terminal.EdgeTerminal
|
|
66
|
+
Edge terminal instance from EDB.
|
|
67
|
+
Examples
|
|
68
|
+
--------
|
|
69
|
+
This example shows how to access the ``GapPort`` class.
|
|
70
|
+
"""
|
|
71
|
+
|
|
72
|
+
def __init__(self, pedb, edb_object):
|
|
73
|
+
super().__init__(pedb, edb_object)
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
class WavePort(EdgeTerminal):
|
|
77
|
+
"""Manages wave port properties.
|
|
78
|
+
|
|
79
|
+
Parameters
|
|
80
|
+
----------
|
|
81
|
+
pedb : pyedb.edb.Edb
|
|
82
|
+
EDB object from the ``Edblib`` library.
|
|
83
|
+
edb_object : Ansys.Ansoft.Edb.Cell.Terminal.EdgeTerminal
|
|
84
|
+
Edge terminal instance from EDB.
|
|
85
|
+
|
|
86
|
+
Examples
|
|
87
|
+
--------
|
|
88
|
+
This example shows how to access the ``WavePort`` class.
|
|
89
|
+
|
|
90
|
+
>>> from pyedb import Edb
|
|
91
|
+
>>> edb = Edb("myaedb.aedb")
|
|
92
|
+
>>> exc = edb.ports
|
|
93
|
+
"""
|
|
94
|
+
|
|
95
|
+
def __init__(self, pedb, edb_terminal):
|
|
96
|
+
super().__init__(pedb, edb_terminal)
|
|
97
|
+
|
|
98
|
+
@property
|
|
99
|
+
def horizontal_extent_factor(self):
|
|
100
|
+
"""Horizontal extent factor."""
|
|
101
|
+
return self._hfss_port_property["Horizontal Extent Factor"]
|
|
102
|
+
|
|
103
|
+
@horizontal_extent_factor.setter
|
|
104
|
+
def horizontal_extent_factor(self, value):
|
|
105
|
+
p = self._hfss_port_property
|
|
106
|
+
p["Horizontal Extent Factor"] = value
|
|
107
|
+
self._hfss_port_property = p
|
|
108
|
+
|
|
109
|
+
@property
|
|
110
|
+
def vertical_extent_factor(self):
|
|
111
|
+
"""Vertical extent factor."""
|
|
112
|
+
return self._hfss_port_property["Vertical Extent Factor"]
|
|
113
|
+
|
|
114
|
+
@vertical_extent_factor.setter
|
|
115
|
+
def vertical_extent_factor(self, value):
|
|
116
|
+
p = self._hfss_port_property
|
|
117
|
+
p["Vertical Extent Factor"] = value
|
|
118
|
+
self._hfss_port_property = p
|
|
119
|
+
|
|
120
|
+
@property
|
|
121
|
+
def pec_launch_width(self):
|
|
122
|
+
"""Launch width for the printed electronic component (PEC)."""
|
|
123
|
+
return self._hfss_port_property["PEC Launch Width"]
|
|
124
|
+
|
|
125
|
+
@pec_launch_width.setter
|
|
126
|
+
def pec_launch_width(self, value):
|
|
127
|
+
p = self._hfss_port_property
|
|
128
|
+
p["PEC Launch Width"] = value
|
|
129
|
+
self._hfss_port_property = p
|
|
130
|
+
|
|
131
|
+
@property
|
|
132
|
+
def deembed(self):
|
|
133
|
+
"""Whether deembed is active."""
|
|
134
|
+
return self._edb_object.GetPortPostProcessingProp().DoDeembed
|
|
135
|
+
|
|
136
|
+
@deembed.setter
|
|
137
|
+
def deembed(self, value):
|
|
138
|
+
p = self._edb_object.GetPortPostProcessingProp()
|
|
139
|
+
p.DoDeembed = value
|
|
140
|
+
self._edb_object.SetPortPostProcessingProp(p)
|
|
141
|
+
|
|
142
|
+
@property
|
|
143
|
+
def deembed_length(self):
|
|
144
|
+
"""Deembed Length."""
|
|
145
|
+
return self._edb_object.GetPortPostProcessingProp().DeembedLength.ToDouble()
|
|
146
|
+
|
|
147
|
+
@deembed_length.setter
|
|
148
|
+
def deembed_length(self, value):
|
|
149
|
+
p = self._edb_object.GetPortPostProcessingProp()
|
|
150
|
+
p.DeembedLength = self._pedb.edb_value(value)
|
|
151
|
+
self._edb_object.SetPortPostProcessingProp(p)
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
class ExcitationSources(Terminal):
|
|
155
|
+
"""Manage sources properties.
|
|
156
|
+
|
|
157
|
+
Parameters
|
|
158
|
+
----------
|
|
159
|
+
pedb : pyedb.edb.Edb
|
|
160
|
+
Edb object from Edblib.
|
|
161
|
+
edb_terminal : Ansys.Ansoft.Edb.Cell.Terminal.EdgeTerminal
|
|
162
|
+
Edge terminal instance from Edb.
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
Examples
|
|
167
|
+
--------
|
|
168
|
+
This example shows how to access this class.
|
|
169
|
+
>>> from pyedb import Edb
|
|
170
|
+
>>> edb = Edb("myaedb.aedb")
|
|
171
|
+
>>> all_sources = edb.sources
|
|
172
|
+
>>> print(all_sources["VSource1"].name)
|
|
173
|
+
|
|
174
|
+
"""
|
|
175
|
+
|
|
176
|
+
def __init__(self, pedb, edb_terminal):
|
|
177
|
+
Terminal.__init__(self, pedb, edb_terminal)
|
|
178
|
+
|
|
179
|
+
@property
|
|
180
|
+
def magnitude(self):
|
|
181
|
+
"""Get the magnitude of the source."""
|
|
182
|
+
return self._edb_object.GetSourceAmplitude().ToDouble()
|
|
183
|
+
|
|
184
|
+
@magnitude.setter
|
|
185
|
+
def magnitude(self, value):
|
|
186
|
+
self._edb_object.SetSourceAmplitude(self._edb.utility.value(value))
|
|
187
|
+
|
|
188
|
+
@property
|
|
189
|
+
def phase(self):
|
|
190
|
+
"""Get the phase of the source."""
|
|
191
|
+
return self._edb_object.GetSourcePhase().ToDouble()
|
|
192
|
+
|
|
193
|
+
@phase.setter
|
|
194
|
+
def phase(self, value):
|
|
195
|
+
self._edb_object.SetSourcePhase(self._edb.utility.value(value))
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
class BundleWavePort(BundleTerminal):
|
|
199
|
+
"""Manages bundle wave port properties.
|
|
200
|
+
|
|
201
|
+
Parameters
|
|
202
|
+
----------
|
|
203
|
+
pedb : pyedb.edb.Edb
|
|
204
|
+
EDB object from the ``Edblib`` library.
|
|
205
|
+
edb_object : Ansys.Ansoft.Edb.Cell.Terminal.BundleTerminal
|
|
206
|
+
BundleTerminal instance from EDB.
|
|
207
|
+
|
|
208
|
+
"""
|
|
209
|
+
|
|
210
|
+
def __init__(self, pedb, edb_object):
|
|
211
|
+
super().__init__(pedb, edb_object)
|
|
212
|
+
|
|
213
|
+
@property
|
|
214
|
+
def _wave_port(self):
|
|
215
|
+
return WavePort(self._pedb, self.terminals[0]._edb_object)
|
|
216
|
+
|
|
217
|
+
@property
|
|
218
|
+
def horizontal_extent_factor(self):
|
|
219
|
+
"""Horizontal extent factor."""
|
|
220
|
+
return self._wave_port.horizontal_extent_factor
|
|
221
|
+
|
|
222
|
+
@horizontal_extent_factor.setter
|
|
223
|
+
def horizontal_extent_factor(self, value):
|
|
224
|
+
self._wave_port.horizontal_extent_factor = value
|
|
225
|
+
|
|
226
|
+
@property
|
|
227
|
+
def vertical_extent_factor(self):
|
|
228
|
+
"""Vertical extent factor."""
|
|
229
|
+
return self._wave_port.vertical_extent_factor
|
|
230
|
+
|
|
231
|
+
@vertical_extent_factor.setter
|
|
232
|
+
def vertical_extent_factor(self, value):
|
|
233
|
+
self._wave_port.vertical_extent_factor = value
|
|
234
|
+
|
|
235
|
+
@property
|
|
236
|
+
def pec_launch_width(self):
|
|
237
|
+
"""Launch width for the printed electronic component (PEC)."""
|
|
238
|
+
return self._wave_port.pec_launch_width
|
|
239
|
+
|
|
240
|
+
@pec_launch_width.setter
|
|
241
|
+
def pec_launch_width(self, value):
|
|
242
|
+
self._wave_port.pec_launch_width = value
|
|
243
|
+
|
|
244
|
+
@property
|
|
245
|
+
def deembed(self):
|
|
246
|
+
"""Whether deembed is active."""
|
|
247
|
+
return self._wave_port.deembed
|
|
248
|
+
|
|
249
|
+
@deembed.setter
|
|
250
|
+
def deembed(self, value):
|
|
251
|
+
self._wave_port.deembed = value
|
|
252
|
+
|
|
253
|
+
@property
|
|
254
|
+
def deembed_length(self):
|
|
255
|
+
"""Deembed Length."""
|
|
256
|
+
return self._wave_port.deembed_length
|
|
257
|
+
|
|
258
|
+
@deembed_length.setter
|
|
259
|
+
def deembed_length(self, value):
|
|
260
|
+
self._wave_port.deembed_length = value
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
class CoaxPort(PadstackInstanceTerminal):
|
|
264
|
+
"""Manages bundle wave port properties.
|
|
265
|
+
|
|
266
|
+
Parameters
|
|
267
|
+
----------
|
|
268
|
+
pedb : pyedb.edb.Edb
|
|
269
|
+
EDB object from the ``Edblib`` library.
|
|
270
|
+
edb_object : Ansys.Ansoft.Edb.Cell.Terminal.PadstackInstanceTerminal
|
|
271
|
+
PadstackInstanceTerminal instance from EDB.
|
|
272
|
+
|
|
273
|
+
"""
|
|
274
|
+
|
|
275
|
+
def __init__(self, pedb, edb_object):
|
|
276
|
+
super().__init__(pedb, edb_object)
|
|
277
|
+
|
|
278
|
+
@property
|
|
279
|
+
def radial_extent_factor(self):
|
|
280
|
+
"""Radial extent factor."""
|
|
281
|
+
return self._hfss_port_property["Radial Extent Factor"]
|
|
282
|
+
|
|
283
|
+
@radial_extent_factor.setter
|
|
284
|
+
def radial_extent_factor(self, value):
|
|
285
|
+
p = self._hfss_port_property
|
|
286
|
+
p["Radial Extent Factor"] = value
|
|
287
|
+
self._hfss_port_property = p
|