import os import tkinter.filedialog import tkinter.simpledialog from pyautocad import Autocad # 选择文件夹 folder_path = tkinter.filedialog.askdirectory() # 弹窗输入要查找的文本 search_text = tkinter.simpledialog.askstring("查找", "输入要查找的文本:") if not search_text: print("未输入查找文本") exit() # 递归遍历所有子文件夹查找DWG/DXF文件 cad_files = [] for root, dirs, files in os.walk(folder_path): for file in files: if file.lower().endswith(('.dwg', '.dxf')): if search_text.lower() in file.lower(): cad_files.append(os.path.join(root, file)) # 在AutoCAD中打开第一个匹配的文件并替换字体 acad = Autocad(create_if_not_exists=True) if cad_files: try: file_to_open = cad_files[0] print(f"尝试打开文件: {file_to_open}") # 打开文件 acad.app.Documents.Open(file_to_open) print(f"成功打开文件: {file_to_open}") # 等待文档完全加载 import time time.sleep(1) # 使用 acad.doc 而不是返回的文档对象 doc = acad.doc # 检查文档是否有 TextStyles 属性 if hasattr(doc, 'TextStyles'): print("找到 TextStyles 集合") for style in doc.TextStyles: try: # 尝试多种方式更新字体 if hasattr(style, 'FontFile'): style.FontFile = 'gbcbig.shx' print(f"已更新样式 {style.Name} 的字体为 gbcbig.shx") elif hasattr(style, 'font'): style.font = 'gbcbig.shx' print(f"已更新样式 {style.Name} 的字体为 gbcbig.shx") else: print(f"样式 {style.Name} 不支持字体修改") except Exception as e: print(f"更新样式 {style.Name} 失败: {e}") except Exception as e: print(f"打开文件时出错: {e}") print(f"错误类型: {type(e).__name__}") else: print("未找到文件名包含该文本的DWG或DXF文件") try: import win32gui import win32con def find_autocad_window(): """查找包含'AutoCAD'字样的窗口""" def enum_windows_callback(hwnd, windows): if win32gui.IsWindowVisible(hwnd): window_title = win32gui.GetWindowText(hwnd) if 'autocad' in window_title.lower(): windows.append((hwnd, window_title)) return True windows = [] win32gui.EnumWindows(enum_windows_callback, windows) return windows # 查找AutoCAD窗口 autocad_windows = find_autocad_window() if autocad_windows: # 获取第一个匹配的窗口 hwnd, title = autocad_windows[0] print(f"找到AutoCAD窗口: {title}") # 将窗口带到前台并置顶 win32gui.ShowWindow(hwnd, win32con.SW_RESTORE) win32gui.SetForegroundWindow(hwnd) print("AutoCAD窗口已置顶") else: print("未找到AutoCAD窗口") except ImportError: print("缺少win32gui库,请安装pywin32") except Exception as e: print(f"设置窗口置顶失败: {e}")pyautocad查找文件夹内 名称含文本的cad文件打开
张小明
前端开发工程师
SeedVR视频修复革命:让模糊记忆重获新生
SeedVR视频修复革命:让模糊记忆重获新生 【免费下载链接】SeedVR-7B 项目地址: https://ai.gitcode.com/hf_mirrors/ByteDance-Seed/SeedVR-7B 那些尘封在硬盘深处的老视频,是否曾让你感到惋惜?婚礼录像的模糊身影,家庭聚…
从Oracle到金仓:交通行业数据库自主可控转型的破局之路
在数字化浪潮席卷各行各业的今天,交通系统正面临前所未有的变革压力。数据孤岛林立、实时响应滞后、运维成本高企,成为制约智慧交通发展的关键瓶颈。尤其在核心业务系统中长期依赖国外商业数据库(如Oracle)的背景下,高…
“3个月稳定运行”国产化实践:金仓数据库助力金融核心系统完成去O转型
作为服务超200家政务与金融机构的ISV,我们曾长期面临Oracle带来的“高成本、难运维”挑战——年维保费用突破千万元,一次版本升级需停机12小时。在引入金仓数据库后,仅用90天即完成核心系统国产化迁移,上线以来保持稳定运行&#…
Docassemble终极指南:5步搭建智能访谈与文档生成系统
Docassemble终极指南:5步搭建智能访谈与文档生成系统 【免费下载链接】docassemble A free, open-source expert system for guided interviews and document assembly, based on Python, YAML, and Markdown. 项目地址: https://gitcode.com/gh_mirrors/do/docas…
OSHI项目代码质量管控体系深度解析
OSHI项目代码质量管控体系深度解析 【免费下载链接】oshi Native Operating System and Hardware Information 项目地址: https://gitcode.com/gh_mirrors/os/oshi 在当今复杂的系统监控领域,OSHI项目以其卓越的跨平台能力和稳定的性能表现脱颖而出。作为一款…
告别文档孤岛:Think云策如何重塑你的团队知识体系
你是否经历过这样的场景?团队的重要文档散落在不同的沟通记录、邮件附件和个人电脑中,当需要查找某个关键信息时,就像在茫茫大海中寻找一根针。更糟糕的是,当团队成员离职时,那些宝贵的经验和知识也随之消失。 【免费下…