105 lines
2.7 KiB
Python
105 lines
2.7 KiB
Python
#!/usr/bin/env python3
|
||
# -*- coding: utf-8 -*-
|
||
"""
|
||
BlenderPython - SUWood Python翻译包
|
||
原Ruby代码翻译为Python版本,适配Blender环境
|
||
|
||
主要模块:
|
||
- suw_constants: 常量定义
|
||
- suw_client: TCP客户端通信
|
||
- suw_observer: 事件观察者
|
||
- suw_impl: 核心实现(待翻译)
|
||
- suw_menu: 菜单系统(待翻译)
|
||
- 各种工具模块(待翻译)
|
||
"""
|
||
|
||
__version__ = "1.0.0"
|
||
__author__ = "Ruby to Python Translator"
|
||
__description__ = "SUWood Ruby代码的Python翻译版本"
|
||
|
||
# 导入主要模块
|
||
try:
|
||
from . import suw_constants
|
||
from . import suw_client
|
||
from . import suw_observer
|
||
from . import suw_load
|
||
|
||
# 尝试导入其他模块(如果存在)
|
||
try:
|
||
from . import suw_impl
|
||
except ImportError:
|
||
print("⚠️ suw_impl 模块待翻译")
|
||
|
||
try:
|
||
from . import suw_menu
|
||
except ImportError:
|
||
print("⚠️ suw_menu 模块待翻译")
|
||
|
||
print("✅ BlenderPython SUWood 包加载成功")
|
||
|
||
except ImportError as e:
|
||
print(f"❌ 包加载错误: {e}")
|
||
|
||
# 包级别的便捷函数
|
||
def get_version():
|
||
"""获取版本信息"""
|
||
return __version__
|
||
|
||
def get_modules():
|
||
"""获取已加载的模块列表"""
|
||
import sys
|
||
package_name = __name__
|
||
modules = []
|
||
|
||
for module_name in sys.modules:
|
||
if module_name.startswith(package_name + '.'):
|
||
modules.append(module_name.split('.')[-1])
|
||
|
||
return modules
|
||
|
||
def check_dependencies():
|
||
"""检查依赖项"""
|
||
dependencies = {
|
||
"bpy": "Blender Python API",
|
||
"socket": "网络通信",
|
||
"json": "JSON处理",
|
||
"threading": "多线程支持"
|
||
}
|
||
|
||
available = {}
|
||
for dep, desc in dependencies.items():
|
||
try:
|
||
__import__(dep)
|
||
available[dep] = True
|
||
except ImportError:
|
||
available[dep] = False
|
||
|
||
return available
|
||
|
||
if __name__ == "__main__":
|
||
print(f"🚀 BlenderPython SUWood v{__version__}")
|
||
print("=" * 50)
|
||
|
||
# 显示模块信息
|
||
modules = get_modules()
|
||
print(f"📦 已加载模块: {modules}")
|
||
|
||
# 检查依赖
|
||
deps = check_dependencies()
|
||
print("\n🔍 依赖检查:")
|
||
for dep, available in deps.items():
|
||
status = "✅" if available else "❌"
|
||
print(f" {status} {dep}")
|
||
|
||
print("\n📚 待翻译的Ruby文件:")
|
||
pending_files = [
|
||
"SUWImpl.rb (核心实现,2019行)",
|
||
"SUWMenu.rb (菜单系统)",
|
||
"SUWUnitPointTool.rb (点工具)",
|
||
"SUWUnitFaceTool.rb (面工具)",
|
||
"SUWUnitContTool.rb (轮廓工具)",
|
||
"SUWZoneDiv1Tool.rb (区域分割工具)"
|
||
]
|
||
|
||
for file in pending_files:
|
||
print(f" ⏳ {file}") |