90 lines
2.4 KiB
Python
90 lines
2.4 KiB
Python
#!/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() |