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.

Files changed (128) hide show
  1. pyedb/__init__.py +17 -0
  2. pyedb/dotnet/__init__.py +0 -0
  3. pyedb/dotnet/application/Variables.py +2261 -0
  4. pyedb/dotnet/application/__init__.py +0 -0
  5. pyedb/dotnet/clr_module.py +103 -0
  6. pyedb/dotnet/edb.py +4237 -0
  7. pyedb/dotnet/edb_core/__init__.py +1 -0
  8. pyedb/dotnet/edb_core/cell/__init__.py +0 -0
  9. pyedb/dotnet/edb_core/cell/hierarchy/__init__.py +0 -0
  10. pyedb/dotnet/edb_core/cell/hierarchy/model.py +66 -0
  11. pyedb/dotnet/edb_core/components.py +2669 -0
  12. pyedb/dotnet/edb_core/configuration.py +423 -0
  13. pyedb/dotnet/edb_core/definition/__init__.py +0 -0
  14. pyedb/dotnet/edb_core/definition/component_def.py +166 -0
  15. pyedb/dotnet/edb_core/definition/component_model.py +30 -0
  16. pyedb/dotnet/edb_core/definition/definition_obj.py +18 -0
  17. pyedb/dotnet/edb_core/definition/definitions.py +12 -0
  18. pyedb/dotnet/edb_core/dotnet/__init__.py +0 -0
  19. pyedb/dotnet/edb_core/dotnet/database.py +1218 -0
  20. pyedb/dotnet/edb_core/dotnet/layout.py +238 -0
  21. pyedb/dotnet/edb_core/dotnet/primitive.py +1517 -0
  22. pyedb/dotnet/edb_core/edb_data/__init__.py +0 -0
  23. pyedb/dotnet/edb_core/edb_data/components_data.py +938 -0
  24. pyedb/dotnet/edb_core/edb_data/connectable.py +113 -0
  25. pyedb/dotnet/edb_core/edb_data/control_file.py +1268 -0
  26. pyedb/dotnet/edb_core/edb_data/design_options.py +35 -0
  27. pyedb/dotnet/edb_core/edb_data/edbvalue.py +45 -0
  28. pyedb/dotnet/edb_core/edb_data/hfss_extent_info.py +330 -0
  29. pyedb/dotnet/edb_core/edb_data/hfss_simulation_setup_data.py +1607 -0
  30. pyedb/dotnet/edb_core/edb_data/layer_data.py +576 -0
  31. pyedb/dotnet/edb_core/edb_data/nets_data.py +281 -0
  32. pyedb/dotnet/edb_core/edb_data/obj_base.py +19 -0
  33. pyedb/dotnet/edb_core/edb_data/padstacks_data.py +2080 -0
  34. pyedb/dotnet/edb_core/edb_data/ports.py +287 -0
  35. pyedb/dotnet/edb_core/edb_data/primitives_data.py +1397 -0
  36. pyedb/dotnet/edb_core/edb_data/simulation_configuration.py +2914 -0
  37. pyedb/dotnet/edb_core/edb_data/simulation_setup.py +716 -0
  38. pyedb/dotnet/edb_core/edb_data/siwave_simulation_setup_data.py +1205 -0
  39. pyedb/dotnet/edb_core/edb_data/sources.py +514 -0
  40. pyedb/dotnet/edb_core/edb_data/terminals.py +632 -0
  41. pyedb/dotnet/edb_core/edb_data/utilities.py +148 -0
  42. pyedb/dotnet/edb_core/edb_data/variables.py +91 -0
  43. pyedb/dotnet/edb_core/general.py +181 -0
  44. pyedb/dotnet/edb_core/hfss.py +1646 -0
  45. pyedb/dotnet/edb_core/layout.py +1244 -0
  46. pyedb/dotnet/edb_core/layout_validation.py +272 -0
  47. pyedb/dotnet/edb_core/materials.py +939 -0
  48. pyedb/dotnet/edb_core/net_class.py +335 -0
  49. pyedb/dotnet/edb_core/nets.py +1215 -0
  50. pyedb/dotnet/edb_core/padstack.py +1389 -0
  51. pyedb/dotnet/edb_core/siwave.py +1427 -0
  52. pyedb/dotnet/edb_core/stackup.py +2703 -0
  53. pyedb/edb_logger.py +396 -0
  54. pyedb/generic/__init__.py +0 -0
  55. pyedb/generic/constants.py +1063 -0
  56. pyedb/generic/data_handlers.py +320 -0
  57. pyedb/generic/design_types.py +104 -0
  58. pyedb/generic/filesystem.py +150 -0
  59. pyedb/generic/general_methods.py +1535 -0
  60. pyedb/generic/plot.py +1840 -0
  61. pyedb/generic/process.py +285 -0
  62. pyedb/generic/settings.py +224 -0
  63. pyedb/ipc2581/__init__.py +0 -0
  64. pyedb/ipc2581/bom/__init__.py +0 -0
  65. pyedb/ipc2581/bom/bom.py +21 -0
  66. pyedb/ipc2581/bom/bom_item.py +32 -0
  67. pyedb/ipc2581/bom/characteristics.py +37 -0
  68. pyedb/ipc2581/bom/refdes.py +16 -0
  69. pyedb/ipc2581/content/__init__.py +0 -0
  70. pyedb/ipc2581/content/color.py +38 -0
  71. pyedb/ipc2581/content/content.py +55 -0
  72. pyedb/ipc2581/content/dictionary_color.py +29 -0
  73. pyedb/ipc2581/content/dictionary_fill.py +28 -0
  74. pyedb/ipc2581/content/dictionary_line.py +30 -0
  75. pyedb/ipc2581/content/entry_color.py +13 -0
  76. pyedb/ipc2581/content/entry_line.py +14 -0
  77. pyedb/ipc2581/content/fill.py +15 -0
  78. pyedb/ipc2581/content/layer_ref.py +10 -0
  79. pyedb/ipc2581/content/standard_geometries_dictionary.py +72 -0
  80. pyedb/ipc2581/ecad/__init__.py +0 -0
  81. pyedb/ipc2581/ecad/cad_data/__init__.py +0 -0
  82. pyedb/ipc2581/ecad/cad_data/assembly_drawing.py +26 -0
  83. pyedb/ipc2581/ecad/cad_data/cad_data.py +37 -0
  84. pyedb/ipc2581/ecad/cad_data/component.py +41 -0
  85. pyedb/ipc2581/ecad/cad_data/drill.py +30 -0
  86. pyedb/ipc2581/ecad/cad_data/feature.py +54 -0
  87. pyedb/ipc2581/ecad/cad_data/layer.py +41 -0
  88. pyedb/ipc2581/ecad/cad_data/layer_feature.py +151 -0
  89. pyedb/ipc2581/ecad/cad_data/logical_net.py +32 -0
  90. pyedb/ipc2581/ecad/cad_data/outline.py +25 -0
  91. pyedb/ipc2581/ecad/cad_data/package.py +104 -0
  92. pyedb/ipc2581/ecad/cad_data/padstack_def.py +38 -0
  93. pyedb/ipc2581/ecad/cad_data/padstack_hole_def.py +24 -0
  94. pyedb/ipc2581/ecad/cad_data/padstack_instance.py +62 -0
  95. pyedb/ipc2581/ecad/cad_data/padstack_pad_def.py +26 -0
  96. pyedb/ipc2581/ecad/cad_data/path.py +89 -0
  97. pyedb/ipc2581/ecad/cad_data/phy_net.py +80 -0
  98. pyedb/ipc2581/ecad/cad_data/pin.py +31 -0
  99. pyedb/ipc2581/ecad/cad_data/polygon.py +169 -0
  100. pyedb/ipc2581/ecad/cad_data/profile.py +40 -0
  101. pyedb/ipc2581/ecad/cad_data/stackup.py +31 -0
  102. pyedb/ipc2581/ecad/cad_data/stackup_group.py +42 -0
  103. pyedb/ipc2581/ecad/cad_data/stackup_layer.py +21 -0
  104. pyedb/ipc2581/ecad/cad_data/step.py +275 -0
  105. pyedb/ipc2581/ecad/cad_header.py +33 -0
  106. pyedb/ipc2581/ecad/ecad.py +19 -0
  107. pyedb/ipc2581/ecad/spec.py +46 -0
  108. pyedb/ipc2581/history_record.py +37 -0
  109. pyedb/ipc2581/ipc2581.py +387 -0
  110. pyedb/ipc2581/logistic_header.py +25 -0
  111. pyedb/misc/__init__.py +0 -0
  112. pyedb/misc/aedtlib_personalib_install.py +14 -0
  113. pyedb/misc/downloads.py +322 -0
  114. pyedb/misc/misc.py +67 -0
  115. pyedb/misc/pyedb.runtimeconfig.json +13 -0
  116. pyedb/misc/siw_feature_config/__init__.py +0 -0
  117. pyedb/misc/siw_feature_config/emc/__init__.py +0 -0
  118. pyedb/misc/siw_feature_config/emc/component_tags.py +46 -0
  119. pyedb/misc/siw_feature_config/emc/net_tags.py +37 -0
  120. pyedb/misc/siw_feature_config/emc/tag_library.py +62 -0
  121. pyedb/misc/siw_feature_config/emc/xml_generic.py +78 -0
  122. pyedb/misc/siw_feature_config/emc_rule_checker_settings.py +179 -0
  123. pyedb/misc/utilities.py +27 -0
  124. pyedb/modeler/geometry_operators.py +2082 -0
  125. pyedb-0.2.0.dist-info/LICENSE +21 -0
  126. pyedb-0.2.0.dist-info/METADATA +208 -0
  127. pyedb-0.2.0.dist-info/RECORD +128 -0
  128. 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