#!/usr/bin/env python3 """ CAE Mesh Generator Application Launcher """ import os import sys from pathlib import Path def check_dependencies(): """Check if required dependencies are available""" required_packages = [ 'flask', 'werkzeug' ] missing_packages = [] for package in required_packages: try: __import__(package) except ImportError: missing_packages.append(package) if missing_packages: print(f"Missing required packages: {', '.join(missing_packages)}") print("Please install them using: pip install -r requirements.txt") return False return True def setup_directories(): """Create necessary directories if they don't exist""" directories = [ 'uploads', 'results', 'temp', 'static/css', 'static/js', 'templates' ] for directory in directories: Path(directory).mkdir(parents=True, exist_ok=True) print(f"✓ Directory '{directory}' ready") def main(): """Main application launcher""" print("=" * 50) print("CAE Mesh Generator - Starting Application") print("=" * 50) # Check dependencies print("\n1. Checking dependencies...") if not check_dependencies(): sys.exit(1) print("✓ All dependencies available") # Setup directories print("\n2. Setting up directories...") setup_directories() # Check if ANSYS is available (optional) print("\n3. Checking ANSYS availability...") try: import ansys.mechanical.core as mech print("✓ ANSYS Mechanical available") except ImportError: print("⚠ ANSYS Mechanical not available - running in demo mode") # Start Flask application print("\n4. Starting Flask application...") print("Application will be available at: http://localhost:5000") print("Press Ctrl+C to stop the application") print("-" * 50) try: # 添加项目根目录到Python路径 project_root = Path(__file__).parent.parent sys.path.insert(0, str(project_root)) from app import create_app app = create_app() app.run(host='0.0.0.0', port=5000, debug=True) except KeyboardInterrupt: print("\n\nApplication stopped by user") except Exception as e: print(f"\nError starting application: {e}") sys.exit(1) if __name__ == '__main__': main()