def get_inventor(self): try: oApp = GetActiveObject('Inventor.Application') except Exception as e: print(e) oApp = Dispatch('Inventor.Application') oApp.Visible = True self._mod = gencache.EnsureModule( '{D98A091D-3A0F-4C3E-B36E-61F62068D488}', 0, 1, 0) self._application = self._mod.Application(oApp)
import math from win32com.client import Dispatch, GetActiveObject, gencache, constants try: invApp = GetActiveObject('Inventor.Application') except: invApp = Dispatch('Inventor.Application') invApp.Visible = True mod = gencache.EnsureModule('{D98A091D-3A0F-4C3E-B36E-61F62068D488}', 0, 1, 0) invApp = mod.Application(invApp) # invApp.SilentOperation = True # Create a new part invDoc = invApp.Documents.Add(constants.kPartDocumentObject, "", True) # Casting Document to PartDocument invPartDoc = mod.PartDocument(invDoc) compdef = invPartDoc.ComponentDefinition # Create a sketch xyPlane = compdef.WorkPlanes.Item(3) origin_point = invApp.TransientGeometry.CreatePoint(0, 0, 0) x_axis = invApp.TransientGeometry.CreateUnitVector(1, 0, 0) y_axis = invApp.TransientGeometry.CreateUnitVector(0, 1, 0) l = 4 h = 2*(3**0.5) r = 4/(3**0.5) for i in range(0, 30): angle = i*0.1
#%% try: n += 1 c3d1 = acad.GetInterfaceObject("AeccXUiLand.AeccApplication.9.0") n += 1 c3d2 = acad.GetInterfaceObject("AeccXUiRoadway.AeccRoadwayApplication.9.0") n += 1 #c3d1 = CreateObject("AeccXUiLand.AeccApplication.9.0") #c3d2 = CreateObject("AeccXUiRoadway.AeccRoadwayApplication.9.0") pass except Exception as error: print(error) print('\n' + str(n)) try: acad.Visible = True pass except: pass print('\33aaaaa') # %% x = np.linspace(0, 4, 12) y = np.cos(x**2 / 3 + 4) print(x, y) plt.plot(x, y) #%% from numpy import cos, sin, pi, arccos as acos
def _connect_to_running_excel(visible=True): xl = GetActiveObject('Excel.Application') xl.Visible = visible return xl
def main(): uiApplication = GetActiveObject('STK12.Application') uiApplication.Visible = True root = uiApplication.Personality2 graph = Graph("bolt://localhost:7687", auth=("neo4j", "ssr")) ASO_type = int(input("Enter 1 or 2 to score either: (1) an ASO already in orbit or (2) a new ASO - ")) if ASO_type == 1: norad_id = input("Input the NORAD ID for the ASO you want to score: ") aso_orb = query_orbit(norad_id, graph) elif ASO_type == 2: aso_orb = {} SMA = float(input("Enter the planned semimajor axis in kilometers: ")) aso_orb['SMA'] = SMA * 1000 inclination = float(input("Enter the planned inclination of the orbit in degrees: ")) aso_orb['Inc'] = math.radians(inclination) eccentricity = float(input("Enter the planned eccentricity of the orbit: ")) aso_orb['Ecc'] = eccentricity raan = float(input("Enter the planned right ascension of the ascending node in degrees: ")) aso_orb['RAAN'] = math.radians(raan) argp = float(input("Enter the planned argument of perigee in degrees: ")) aso_orb['ArgP'] = math.radians(argp) scenario = root.CurrentScenario # build satellite satellite = scenario.Children.New(18, "ASO") keplerian = satellite.Propagator.InitialState.Representation.ConvertTo(1) keplerian.LocationType = 5 keplerian.SizeShape.Eccentricity = aso_orb['Ecc'] keplerian.SizeShape.SemiMajorAxis = aso_orb['SMA'] / 1000 keplerian.Orientation.Inclination = math.degrees(aso_orb['Inc']) keplerian.Orientation.ArgOfPerigee = math.degrees(aso_orb['ArgP']) # deg keplerian.Orientation.AscNode.Value = math.degrees(aso_orb['RAAN']) # deg keplerian.Location.Value = 0 # Apply the changes made to the satellite's state and propagate: satellite.Propagator.InitialState.Representation.Assign(keplerian) satellite.Propagator.Propagate() # detectability scoring radar_detect_results = pd.DataFrame(columns=['Metric', 'Value', 'Tier', 'Score']) prob_detection = radar_detectability(root) radar_detect_results = fill_d_dataframe(radar_detect_results, prob_detection) print(radar_detect_results) # optical_detectability(root) # trackability scoring radar_results = pd.DataFrame(columns=['Metric', 'Value', 'Tier', 'Score']) optical_results = pd.DataFrame(columns=['Metric', 'Value', 'Tier', 'Score']) avg_pass, avg_coverage, avg_interval = radar_trackability(aso_orb, root) opt_pass, opt_coverage, opt_int = optical_trackability(aso_orb, root) radar_results = fill_dataframe(radar_results, avg_pass, avg_coverage, avg_interval) optical_results = fill_dataframe(optical_results, opt_pass, opt_coverage, opt_int) print(radar_results) radar_score = radar_results['Score'].mean() print("\nOverall T Radar Score: {}\n".format(radar_score)) print(optical_results) optical_score = optical_results['Score'].mean() print("\nOverall T Optical Score: {}".format(optical_score))