@@ -181,15 +181,29 @@ def antenna_temperature(self) -> float:
181181 def antenna_temperature (self , value : float ):
182182 self ._set_property ("Antenna Temperature" , f"{ value } " )
183183
184- @property
185- def type (self ):
184+ class TypeOption (Enum ):
185+ ISOTROPIC = "Isotropic"
186+ BY_FILE = "By File"
187+ HEMITROPIC = "Hemitropic"
188+ SHORT_DIPOLE = "Short Dipole"
189+ HALF_WAVE_DIPOLE = "Half-wave Dipole"
190+ QUARTER_WAVE_MONOPOLE = "Quarter-wave Monopole"
191+ WIRE_DIPOLE = "Wire Dipole"
192+ WIRE_MONOPOLE = "Wire Monopole"
193+ SMALL_LOOP = "Small Loop"
194+ DIRECTIVE_BEAM = "Directive Beam"
195+ PYRAMIDAL_HORN = "Pyramidal Horn"
196+
197+ @property
198+ def type (self ) -> TypeOption :
186199 """Defines the type of antenna."""
187200 val = self ._get_property ("Type" )
201+ val = self .TypeOption [val .upper ()]
188202 return val
189203
190204 @type .setter
191- def type (self , value ):
192- self ._set_property ("Type" , f"{ value } " )
205+ def type (self , value : TypeOption ):
206+ self ._set_property ("Type" , f"{ value . value } " )
193207
194208 @property
195209 def antenna_file (self ) -> str :
@@ -227,22 +241,6 @@ def peak_gain(self) -> float:
227241 def peak_gain (self , value : float ):
228242 self ._set_property ("Peak Gain" , f"{ value } " )
229243
230- class BoresightOption (Enum ):
231- XAXIS = "+X Axis"
232- YAXIS = "+Y Axis"
233- ZAXIS = "+Z Axis"
234-
235- @property
236- def boresight (self ) -> BoresightOption :
237- """Select peak beam direction in local coordinates."""
238- val = self ._get_property ("Boresight" )
239- val = self .BoresightOption [val .upper ()]
240- return val
241-
242- @boresight .setter
243- def boresight (self , value : BoresightOption ):
244- self ._set_property ("Boresight" , f"{ value .value } " )
245-
246244 @property
247245 def vertical_beamwidth (self ) -> float :
248246 """Set half-power beamwidth in local-coordinates elevation plane.
@@ -358,21 +356,6 @@ def resonant_frequency(self, value: float | str):
358356 value = self ._convert_to_internal_units (value , "Freq" )
359357 self ._set_property ("Resonant Frequency" , f"{ value } " )
360358
361- @property
362- def slot_length (self ) -> float :
363- """Set slot length of parametric slot.
364-
365- Value should be greater than 1e-6.
366- """
367- val = self ._get_property ("Slot Length" )
368- val = self ._convert_from_internal_units (float (val ), "Length" )
369- return float (val )
370-
371- @slot_length .setter
372- def slot_length (self , value : float | str ):
373- value = self ._convert_to_internal_units (value , "Length" )
374- self ._set_property ("Slot Length" , f"{ value } " )
375-
376359 @property
377360 def mouth_width (self ) -> float :
378361 """Set mouth width (along local y-axis) of the horn antenna.
@@ -453,37 +436,6 @@ def height_flare_half_angle(self) -> float:
453436 def height_flare_half_angle (self , value : float ):
454437 self ._set_property ("Height Flare Half-angle" , f"{ value } " )
455438
456- @property
457- def mouth_diameter (self ) -> float :
458- """Set aperture (mouth) diameter of horn antenna.
459-
460- Value should be between 1e-6 and 100.
461- """
462- val = self ._get_property ("Mouth Diameter" )
463- val = self ._convert_from_internal_units (float (val ), "Length" )
464- return float (val )
465-
466- @mouth_diameter .setter
467- def mouth_diameter (self , value : float | str ):
468- value = self ._convert_to_internal_units (value , "Length" )
469- self ._set_property ("Mouth Diameter" , f"{ value } " )
470-
471- @property
472- def flare_half_angle (self ) -> float :
473- """Flare Half-angle.
474-
475- Set half-angle (degrees) of conical horn wall measured from boresight
476- (z).
477-
478- Value should be between 1 and 89.9.
479- """
480- val = self ._get_property ("Flare Half-angle" )
481- return float (val )
482-
483- @flare_half_angle .setter
484- def flare_half_angle (self , value : float ):
485- self ._set_property ("Flare Half-angle" , f"{ value } " )
486-
487439 @property
488440 def vswr (self ) -> float :
489441 """VSWR.
@@ -517,161 +469,6 @@ def antenna_polarization(self) -> AntennaPolarizationOption:
517469 def antenna_polarization (self , value : AntennaPolarizationOption ):
518470 self ._set_property ("Antenna Polarization" , f"{ value .value } " )
519471
520- class CrossDipoleModeOption (Enum ):
521- FREESTANDING = "Freestanding"
522- OVER_GROUND_PLANE = "Over Ground Plane"
523-
524- @property
525- def cross_dipole_mode (self ) -> CrossDipoleModeOption :
526- """Choose the Cross Dipole type."""
527- val = self ._get_property ("Cross Dipole Mode" )
528- val = self .CrossDipoleModeOption [val .upper ()]
529- return val
530-
531- @cross_dipole_mode .setter
532- def cross_dipole_mode (self , value : CrossDipoleModeOption ):
533- self ._set_property ("Cross Dipole Mode" , f"{ value .value } " )
534-
535- class CrossDipolePolarizationOption (Enum ):
536- RHCP = "RHCP"
537- LHCP = "LHCP"
538-
539- @property
540- def cross_dipole_polarization (self ) -> CrossDipolePolarizationOption :
541- """Choose local-coordinates polarization along boresight."""
542- val = self ._get_property ("Cross Dipole Polarization" )
543- val = self .CrossDipolePolarizationOption [val .upper ()]
544- return val
545-
546- @cross_dipole_polarization .setter
547- def cross_dipole_polarization (self , value : CrossDipolePolarizationOption ):
548- self ._set_property ("Cross Dipole Polarization" , f"{ value .value } " )
549-
550- @property
551- def override_height (self ) -> bool :
552- """Override Height.
553-
554- Ignores the default placement of quarter design wavelength over the
555- ground plane.
556-
557- Value should be 'true' or 'false'.
558- """
559- val = self ._get_property ("Override Height" )
560- return val == "true"
561-
562- @override_height .setter
563- def override_height (self , value : bool ):
564- self ._set_property ("Override Height" , f"{ str (value ).lower ()} " )
565-
566- @property
567- def offset_height (self ) -> float :
568- """Offset Height.
569-
570- Sets the offset height for the current sources above the ground plane.
571-
572- Value should be greater than 0.
573- """
574- val = self ._get_property ("Offset Height" )
575- val = self ._convert_from_internal_units (float (val ), "Length" )
576- return float (val )
577-
578- @offset_height .setter
579- def offset_height (self , value : float | str ):
580- value = self ._convert_to_internal_units (value , "Length" )
581- self ._set_property ("Offset Height" , f"{ value } " )
582-
583- @property
584- def auto_height_offset (self ) -> bool :
585- """Auto Height Offset.
586-
587- Switch on to automatically place slot current at sub-wavelength offset
588- height above ground plane.
589-
590- Value should be 'true' or 'false'.
591- """
592- val = self ._get_property ("Auto Height Offset" )
593- return val == "true"
594-
595- @auto_height_offset .setter
596- def auto_height_offset (self , value : bool ):
597- self ._set_property ("Auto Height Offset" , f"{ str (value ).lower ()} " )
598-
599- @property
600- def conform__adjust_antenna (self ) -> bool :
601- """Toggle (on/off) conformal adjustment for array antenna elements.
602-
603- Value should be 'true' or 'false'.
604- """
605- val = self ._get_property ("Conform / Adjust Antenna" )
606- return val == "true"
607-
608- @conform__adjust_antenna .setter
609- def conform__adjust_antenna (self , value : bool ):
610- self ._set_property ("Conform / Adjust Antenna" , f"{ str (value ).lower ()} " )
611-
612- @property
613- def element_offset (self ):
614- """Element Offset.
615-
616- Set vector for shifting element positions in antenna local coordinates.
617-
618- Value should be x/y/z, delimited by spaces.
619- """
620- val = self ._get_property ("Element Offset" )
621- return val
622-
623- @element_offset .setter
624- def element_offset (self , value ):
625- self ._set_property ("Element Offset" , f"{ value } " )
626-
627- class ConformtoPlatformOption (Enum ):
628- NONE = "None"
629- ALONG_NORMAL = "Along Normal"
630- PERPENDICULAR_TO_PLANE = "Perpendicular to Plane"
631-
632- @property
633- def conform_to_platform (self ) -> ConformtoPlatformOption :
634- """Select method of automated conforming applied after Element Offset."""
635- val = self ._get_property ("Conform to Platform" )
636- val = self .ConformtoPlatformOption [val .upper ()]
637- return val
638-
639- @conform_to_platform .setter
640- def conform_to_platform (self , value : ConformtoPlatformOption ):
641- self ._set_property ("Conform to Platform" , f"{ value .value } " )
642-
643- class ReferencePlaneOption (Enum ):
644- XY_PLANE = "XY Plane"
645- YZ_PLANE = "YZ Plane"
646- ZX_PLANE = "ZX Plane"
647-
648- @property
649- def reference_plane (self ) -> ReferencePlaneOption :
650- """Select reference plane for determining original element heights."""
651- val = self ._get_property ("Reference Plane" )
652- val = self .ReferencePlaneOption [val .upper ()]
653- return val
654-
655- @reference_plane .setter
656- def reference_plane (self , value : ReferencePlaneOption ):
657- self ._set_property ("Reference Plane" , f"{ value .value } " )
658-
659- @property
660- def conform_element_orientation (self ) -> bool :
661- """Conform Element Orientation.
662-
663- Toggle (on/off) re-orientation of elements to conform to curved
664- placement surface.
665-
666- Value should be 'true' or 'false'.
667- """
668- val = self ._get_property ("Conform Element Orientation" )
669- return val == "true"
670-
671- @conform_element_orientation .setter
672- def conform_element_orientation (self , value : bool ):
673- self ._set_property ("Conform Element Orientation" , f"{ str (value ).lower ()} " )
674-
675472 @property
676473 def show_axes (self ) -> bool :
677474 """Toggle (on/off) display of antenna coordinate axes in 3-D window.
@@ -751,38 +548,6 @@ def frequency_domain(self):
751548 val = self ._get_property ("Frequency Domain" )
752549 return val
753550
754- @property
755- def number_of_electric_sources (self ) -> int :
756- """Number of freestanding electric current sources defining antenna."""
757- val = self ._get_property ("Number of Electric Sources" )
758- return int (val )
759-
760- @property
761- def number_of_magnetic_sources (self ) -> int :
762- """Number of freestanding magnetic current sources defining antenna."""
763- val = self ._get_property ("Number of Magnetic Sources" )
764- return int (val )
765-
766- @property
767- def number_of_imaged_electric_sources (self ) -> int :
768- """Number of Imaged Electric Sources.
769-
770- Number of imaged, half-space radiating electric current sources defining
771- antenna.
772- """
773- val = self ._get_property ("Number of Imaged Electric Sources" )
774- return int (val )
775-
776- @property
777- def number_of_imaged_magnetic_sources (self ) -> int :
778- """Number of Imaged Magnetic Sources.
779-
780- Number of imaged, half-space radiating magnetic current sources defining
781- antenna.
782- """
783- val = self ._get_property ("Number of Imaged Magnetic Sources" )
784- return int (val )
785-
786551 @property
787552 def waveguide_height (self ) -> float :
788553 """Waveguide Height.
@@ -801,46 +566,6 @@ def waveguide_cutoff_frequency(self) -> float:
801566 val = self ._convert_from_internal_units (float (val ), "Freq" )
802567 return float (val )
803568
804- @property
805- def aperture_cutoff_frequency (self ) -> float :
806- """Implied lowest operating frequency of conical horn antenna."""
807- val = self ._get_property ("Aperture Cutoff Frequency" )
808- val = self ._convert_from_internal_units (float (val ), "Freq" )
809- return float (val )
810-
811- class SWEModeTruncationOption (Enum ):
812- DYNAMIC = "Dynamic"
813- FIXED_CUSTOM = "Fixed (Custom)"
814- NONE = "None"
815-
816- @property
817- def swe_mode_truncation (self ) -> SWEModeTruncationOption :
818- """SWE Mode Truncation.
819-
820- Select the method for stability-enhancing truncation of spherical wave
821- expansion terms.
822- """
823- val = self ._get_property ("SWE Mode Truncation" )
824- val = self .SWEModeTruncationOption [val .upper ()]
825- return val
826-
827- @swe_mode_truncation .setter
828- def swe_mode_truncation (self , value : SWEModeTruncationOption ):
829- self ._set_property ("SWE Mode Truncation" , f"{ value .value } " )
830-
831- @property
832- def max_n_index (self ) -> int :
833- """Set maximum allowed index N for spherical wave expansion terms.
834-
835- Value should be greater than 1.
836- """
837- val = self ._get_property ("Max N Index" )
838- return int (val )
839-
840- @max_n_index .setter
841- def max_n_index (self , value : int ):
842- self ._set_property ("Max N Index" , f"{ value } " )
843-
844569 @property
845570 def notes (self ) -> str :
846571 """Expand to view/edit notes stored with the project."""
0 commit comments