news 2026/6/10 18:42:52

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/6/10 15:03:56

SeedVR视频修复革命:让模糊记忆重获新生

SeedVR视频修复革命:让模糊记忆重获新生 【免费下载链接】SeedVR-7B 项目地址: https://ai.gitcode.com/hf_mirrors/ByteDance-Seed/SeedVR-7B 那些尘封在硬盘深处的老视频,是否曾让你感到惋惜?婚礼录像的模糊身影,家庭聚…

作者头像 李华
网站建设 2026/6/10 12:36:23

从Oracle到金仓:交通行业数据库自主可控转型的破局之路

在数字化浪潮席卷各行各业的今天,交通系统正面临前所未有的变革压力。数据孤岛林立、实时响应滞后、运维成本高企,成为制约智慧交通发展的关键瓶颈。尤其在核心业务系统中长期依赖国外商业数据库(如Oracle)的背景下,高…

作者头像 李华
网站建设 2026/6/10 12:39:11

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…

作者头像 李华
网站建设 2026/6/10 16:02:47

OSHI项目代码质量管控体系深度解析

OSHI项目代码质量管控体系深度解析 【免费下载链接】oshi Native Operating System and Hardware Information 项目地址: https://gitcode.com/gh_mirrors/os/oshi 在当今复杂的系统监控领域,OSHI项目以其卓越的跨平台能力和稳定的性能表现脱颖而出。作为一款…

作者头像 李华
网站建设 2026/6/10 12:30:31

告别文档孤岛:Think云策如何重塑你的团队知识体系

你是否经历过这样的场景?团队的重要文档散落在不同的沟通记录、邮件附件和个人电脑中,当需要查找某个关键信息时,就像在茫茫大海中寻找一根针。更糟糕的是,当团队成员离职时,那些宝贵的经验和知识也随之消失。 【免费下…

作者头像 李华