当前位置: 首页 > news >正文

珠宝营销型网站wordpress 免插件 cdn

珠宝营销型网站,wordpress 免插件 cdn,国内最大的摄影网站,湖州做网站的公司deepseek连接solidworks设计一台非标设备仓库gitee.com/njsgcs/llm_sw 想法是deepseek连接solidworks pywin32的装配体放入新零件功能 然后deepseek从所有零件的列表里 (按照提前写好的信息:比如一个上料机需要(气缸,步进电机)&…

deepseek连接solidworks设计一台非标设备

仓库gitee.com/njsgcs/llm_sw


想法是deepseek连接solidworks pywin32的装配体放入新零件功能

然后deepseek从所有零件的列表里

(按照提前写好的信息:比如一个上料机需要(气缸,步进电机))

选出设计这台非标设备所需的零部件

(比如气缸,步进电机等)

然后全部放入装配体文件asm里

deepseek生成一个所有零件相互连接的图graph结构

像这样子

然后每个零件指定几个装配孔和装配面(在零件里用名称提前设置好)

然后把所有东西连接在一起就是一台设备了




等等可以写一个按照信息放入所有选择的零件到原点的实现

然后才是按孔,面把东西连接起来

from sw_server import get_sw_app
import os
import win32com.client
import pythoncom
import timedef create_or_use_assembly(sw_app, template_path=None):"""如果已有装配体打开,则使用它;否则创建一个新的装配体。"""try:# 获取当前活动文档active_doc = sw_app.ActiveDocif active_doc is not None:return active_docexcept Exception as e:print(f"⚠️ 检查活动文档时出错: {e}")# 如果没有打开装配体,创建一个新的print("🔧 未检测到打开的装配体,正在创建新的...")if template_path is None:template_path = r"C:\ProgramData\SOLIDWORKS\SOLIDWORKS 2025\templates\gb_assembly.asmdot"if not os.path.exists(template_path):print(f"⚠️ 模板文件不存在: {template_path}")print("尝试使用 NewAssembly 方法...")try:assembly_doc = sw_app.NewAssembly()if assembly_doc:print("✅ 使用 NewAssembly 成功创建装配体")return assembly_docelse:raise Exception("NewAssembly 返回空对象")except Exception as e:raise Exception(f"NewAssembly 失败: {e}")else:try:assembly_doc = sw_app.NewDocument(template_path, 0, 0, 0)if assembly_doc:print("✅ 使用模板成功创建装配体")# 等待装配体完全初始化time.sleep(1)return assembly_docelse:raise Exception("NewDocument 返回空对象")except Exception as e:raise Exception(f"NewDocument 失败: {e}")return Nonedef add_components_to_assembly(sw_app, assembly_model, part_paths):"""向装配体中添加零件组件。:param sw_app: SolidWorks 应用程序对象:param assembly_model: 装配体模型 (IModelDoc2):param part_paths: 零件路径列表"""# 确保COM库初始化pythoncom.CoInitialize()# 获取装配体标题(安全方式)assembly_title = "默认装配体"try:temp_title = assembly_model.GetTitleif temp_title and isinstance(temp_title, str):assembly_title = temp_titleprint(f"当前装配体: {assembly_title}")except Exception as e: print(f"⚠️ 获取装配体标题失败: {e}")error = win32com.client.VARIANT(pythoncom.VT_BYREF | pythoncom.VT_I4, 0)warnings=win32com.client.VARIANT(pythoncom.VT_BYREF | pythoncom.VT_I4, 0)Part = sw_app.ActivateDoc3(assembly_title, True, 0,error)# 使用更直接的方式调用装配体方法,避免类型转换问题base_path = r"solidworksdata\一体式油水分离器"for part_name in part_paths:# 修复路径构建,去除可能的空格part_name = part_name.strip()  # 去除首尾空格part_path = f"{part_name}.sldprt"full_path = os.path.join(base_path, part_path)full_path = os.path.abspath(full_path)# 清理路径中的多余空格full_path = full_path.replace("\ ", " ").replace(" \\", "\\")if not os.path.exists(full_path):print(f"⚠️ 文件不存在: {full_path}")continueprint(f"正在插入零件: {full_path}")# 打开文档part_doc = sw_app.OpenDoc6(full_path,  # 文件路径1,          # 文档类型 (1=零件)32,         # 打开选项 (32=Quiet打开,无用户界面)"",         # 配置名称error,     # 错误变量warnings    # 警告变量)try:# 使用更简单的方式直接插入组件,不预先打开零件component = Part.AddComponent5(full_path,      # CompName: 零件路径0,              # ConfigOption: 配置选项 (0=当前配置)"",             # NewConfigName: 新配置名称False,          # UseConfigForPartReferences: 是否使用配置作为参考"",             # ExistingConfigName: 现有配置名称0.0,            # X: X坐标0.0,            # Y: Y坐标0.0             # Z: Z坐标)sw_app.CloseDoc(full_path)if component:try:comp_name = component.Name2except:comp_name = os.path.basename(full_path)print(f"✅ 成功插入零件: {comp_name}")else:print(f"❌ 插入失败: {full_path}")except Exception as e:print(f"❌ 插入零件 {part_name} 时出错: {e}")# 如果 AddComponent5 失败,尝试使用更简单的方法try:print(f"  尝试使用 AddComponent2 方法...")component2 = assembly_model.AddComponent2(full_path,0,  # 默认对齐0.0, 0.0, 0.0  # 位置)if component2:print(f"  ✅ 使用 AddComponent2 成功插入零件: {part_name}")else:print(f"  ❌ AddComponent2 也失败: {full_path}")except Exception as e2:print(f"  ❌ AddComponent2 方法也失败: {e2}")def add_part(part_files):# 可选:指定模板路径,或设为 None 让程序尝试 NewAssemblytemplate_path = r"C:\ProgramData\SOLIDWORKS\SOLIDWORKS 2025\templates\gb_assembly.asmdot"# === 主逻辑 ===sw_app = get_sw_app()if not sw_app:print("❌ 请先启动 SolidWorks")return ("❌ 请先启动 SolidWorks")try:assembly_model = create_or_use_assembly(sw_app, template_path)if assembly_model:add_components_to_assembly(sw_app, assembly_model, part_files)print("🎉 所有零件处理完成!")return ("🎉 所有零件处理完成!")else:print("❌ 未能创建或获取装配体")return ("❌ 未能创建或获取装配体")except Exception as e:print(f"❌ 操作失败: {e}")# =========================  
# 使用示例
# =========================
if __name__ == "__main__":# === 配置参数 ===part_files = ["电机","主体1",# 添加更多零件...]add_part(["电机","主体1",# 添加更多零件...]
)

http://www.dtcms.com/a/502223.html

相关文章:

  • 怎么查询搜索关键词seo优化啥意思
  • 广州商务网站建设电话wordpress 极简 文字
  • 流行网站开发工具城建中心官网查询证书
  • 精美网站制作公司网络最好的运营商
  • 深圳制作网站主页网页制作和网页制作技术
  • 网站制作的动画怎么做的企业工商信息查询
  • 中药材天地网做中药零售网站给公司做网站数据分析
  • 关于加强网站建设和管理的通知聊城企业网站建设公司
  • 网站建设的常用技术在深圳怎么注册一家公司
  • 北京网站建设及优化怎样让公司网站更吸引人
  • 用dw如何做网站网站制作公司石家庄
  • 备案信息查询手机网站怎么优化
  • 盘锦做网站专家我要自学网app下载
  • 门户网站 源码个人中心页面
  • 锦州网站建设动态可以浏览的外文网站
  • 网站开发赚不赚钱WordPress文章可视化php代码
  • 怎样才能增加网站重庆公司网站建设价格
  • 旅游公司网站建设pptphp网站有哪些
  • 中山企业建网站网站建设与推广公司
  • 郑州中小企业网站制作石家庄网红打卡地
  • 58和搜房那个网站做房产好wordpress 打赏不能用
  • 东莞九江网站制作中国人事建设部网站
  • 做seo网站诊断书怎么做app封装平台
  • 太原市住房与城乡建设厅网站dw做网站 后台用什么后台
  • 微信投票网站制作海口建站网站模板
  • 南海网站推广个人微信公众平台注册
  • 网站适配手机怎么做电子商务网站建设与管理课后题
  • 量力商务大厦网站建设腾讯云官网登录入口
  • 网投怎么做网站wordpress判断是否开启用户注册
  • 网站建设哪家好就推 鹏博资讯做轮播海报的网站