news 2026/4/15 16:39:02

pyautocad查找文件夹内 名称含文本的cad文件打开

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
pyautocad查找文件夹内 名称含文本的cad文件打开
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}")
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/9 19:46:28

告别音频噪音!用Ultimate Vocal Remover实现专业级音质修复

告别音频噪音!用Ultimate Vocal Remover实现专业级音质修复 【免费下载链接】ultimatevocalremovergui 使用深度神经网络的声音消除器的图形用户界面。 项目地址: https://gitcode.com/GitHub_Trending/ul/ultimatevocalremovergui 你是否曾经录制完一段重要…

作者头像 李华
网站建设 2026/4/13 15:24:47

电商后台管理系统前端解决方案:mall-admin-web 深度解析

电商后台管理系统前端解决方案:mall-admin-web 深度解析 【免费下载链接】mall-admin-web mall-admin-web是一个电商后台管理系统的前端项目,基于VueElement实现。 主要包括商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务…

作者头像 李华
网站建设 2026/4/15 9:28:38

Spoolman终极指南:3步打造高效的3D打印丝材管理系统

Spoolman终极指南:3步打造高效的3D打印丝材管理系统 【免费下载链接】Spoolman Keep track of your inventory of 3D-printer filament spools. 项目地址: https://gitcode.com/gh_mirrors/sp/Spoolman Spoolman是一款专为3D打印爱好者设计的开源丝材管理工具…

作者头像 李华
网站建设 2026/4/12 12:32:54

5大理由告诉你为什么Docling是文档处理的革命性工具

5大理由告诉你为什么Docling是文档处理的革命性工具 【免费下载链接】docling Get your documents ready for gen AI 项目地址: https://gitcode.com/GitHub_Trending/do/docling 在现代人工智能应用中,文档处理一直是技术发展的瓶颈之一。而Docling作为一款…

作者头像 李华
网站建设 2026/4/15 14:46:58

UI-TARS:重新定义移动应用自动化的新一代智能体解决方案

UI-TARS:重新定义移动应用自动化的新一代智能体解决方案 【免费下载链接】UI-TARS 项目地址: https://gitcode.com/GitHub_Trending/ui/UI-TARS 在移动应用测试领域,传统自动化工具面临着学习曲线陡峭、维护成本高、界面变化适应性差等痛点。开发…

作者头像 李华