symcad.parts.fixed.TecnadyneModel2051Thruster

 1#!/usr/bin/env python3
 2# Copyright (C) 2022, Will Hedgecock
 3#
 4# This program is free software: you can redistribute it and/or modify
 5# it under the terms of the GNU General Public License as published by
 6# the Free Software Foundation, either version 3 of the License, or
 7# (at your option) any later version.
 8#
 9# This program is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY; without even the implied warranty of
11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12# GNU General Public License for more details.
13#
14# You should have received a copy of the GNU General Public License
15# along with this program.  If not, see <http://www.gnu.org/licenses/>.
16
17from __future__ import annotations
18from typing import Tuple, Union
19from . import FixedPart
20from sympy import Expr
21
22class TecnadyneModel2051Thruster(FixedPart):
23   """Model representing a Tecnadyne Model 2051 thruster.
24
25   By default, the part is oriented in the following way:
26
27   ![TecnadyneModel2051Thruster](https://symbench.github.io/SymCAD/images/TecnadyneModel2051Thruster.png)
28   """
29
30   # Constructor ----------------------------------------------------------------------------------
31
32   def __init__(self, identifier: str) -> None:
33      """Initializes the Tecnadyne Model 2051 thruster fixed-geometry part.
34
35      Parameters
36      ----------
37      identifier : `str`
38         Unique identifying name for the object.
39      """
40      super().__init__(identifier, 'thrusters/Tecnadyne_Model_2051.FCStd', 11255.278)
41
42
43   # Geometric properties -------------------------------------------------------------------------
44
45   @property
46   def unoriented_center_of_gravity(self) -> Tuple[Union[float, Expr],
47                                                   Union[float, Expr],
48                                                   Union[float, Expr]]:
49      return self.__cad_props__['cg_x'], 0.5 * self.unoriented_width, 0.5 * self.unoriented_height
50
51   @property
52   def unoriented_center_of_buoyancy(self) -> Tuple[Union[float, Expr],
53                                                    Union[float, Expr],
54                                                    Union[float, Expr]]:
55      return self.__cad_props__['cb_x'], 0.5 * self.unoriented_width, 0.5 * self.unoriented_height
56
57   @property
58   def unoriented_width(self) -> Union[float, Expr]:
59      return 0.127
60
61   @property
62   def unoriented_height(self) -> Union[float, Expr]:
63      return self.unoriented_width
class TecnadyneModel2051Thruster(symcad.parts.fixed.FixedPart):
23class TecnadyneModel2051Thruster(FixedPart):
24   """Model representing a Tecnadyne Model 2051 thruster.
25
26   By default, the part is oriented in the following way:
27
28   ![TecnadyneModel2051Thruster](https://symbench.github.io/SymCAD/images/TecnadyneModel2051Thruster.png)
29   """
30
31   # Constructor ----------------------------------------------------------------------------------
32
33   def __init__(self, identifier: str) -> None:
34      """Initializes the Tecnadyne Model 2051 thruster fixed-geometry part.
35
36      Parameters
37      ----------
38      identifier : `str`
39         Unique identifying name for the object.
40      """
41      super().__init__(identifier, 'thrusters/Tecnadyne_Model_2051.FCStd', 11255.278)
42
43
44   # Geometric properties -------------------------------------------------------------------------
45
46   @property
47   def unoriented_center_of_gravity(self) -> Tuple[Union[float, Expr],
48                                                   Union[float, Expr],
49                                                   Union[float, Expr]]:
50      return self.__cad_props__['cg_x'], 0.5 * self.unoriented_width, 0.5 * self.unoriented_height
51
52   @property
53   def unoriented_center_of_buoyancy(self) -> Tuple[Union[float, Expr],
54                                                    Union[float, Expr],
55                                                    Union[float, Expr]]:
56      return self.__cad_props__['cb_x'], 0.5 * self.unoriented_width, 0.5 * self.unoriented_height
57
58   @property
59   def unoriented_width(self) -> Union[float, Expr]:
60      return 0.127
61
62   @property
63   def unoriented_height(self) -> Union[float, Expr]:
64      return self.unoriented_width

Model representing a Tecnadyne Model 2051 thruster.

By default, the part is oriented in the following way:

TecnadyneModel2051Thruster

TecnadyneModel2051Thruster(identifier: str)
33   def __init__(self, identifier: str) -> None:
34      """Initializes the Tecnadyne Model 2051 thruster fixed-geometry part.
35
36      Parameters
37      ----------
38      identifier : `str`
39         Unique identifying name for the object.
40      """
41      super().__init__(identifier, 'thrusters/Tecnadyne_Model_2051.FCStd', 11255.278)

Initializes the Tecnadyne Model 2051 thruster fixed-geometry part.

Parameters
  • identifier (str): Unique identifying name for the object.
unoriented_center_of_gravity: Tuple[Union[float, sympy.core.expr.Expr], Union[float, sympy.core.expr.Expr], Union[float, sympy.core.expr.Expr]]

Center of gravity (in m) of the unoriented SymPart (read-only).

unoriented_center_of_buoyancy: Tuple[Union[float, sympy.core.expr.Expr], Union[float, sympy.core.expr.Expr], Union[float, sympy.core.expr.Expr]]

Center of buoyancy (in m) of the unoriented SymPart (read-only).

unoriented_width: Union[float, sympy.core.expr.Expr]

Y-axis width (in m) of the bounding box of the unoriented SymPart (read-only).

unoriented_height: Union[float, sympy.core.expr.Expr]

Z-axis height (in m) of the bounding box of the unoriented SymPart (read-only).