SOLIDWORKS PDM 独立程序 C#

news2024/9/17 7:33:58

本主题介绍如何创建登录到 一个 SOLIDWORKS PDM Professional 文件库,并列出根文件夹中的文件。

  1. 启动Visual Studio.
  2. 文件 > 新建 > 项目 > Visual C# > WPF(也可以使用WF) 
    1. 输入程序名称
    2. 选择存储路径
    3. 确定
    4. 在解决方案资源管理器中右键项目名称,添加引用,将SOLIDWORKS PDM Professional primary assembly interop 添加到你的项目中
      1. 导航到PDM的安装根目录
      2. 选择 EPDM.Interop.epdm.dll,这里复制到项目下。
      3. 打开
      4. 添加
      5. 关闭 
  3. 更改 .NET Framework 和目标的版本
    1. 项目 > 属性 > 生成 ,并将“平台目标”设置为“任何 CPU”。
    2. 选择应用程序,将目标框架设置为.NET Framework 4
    3. 确定 
  4. 添加 按钮从到窗体上。

  5. 双击按钮,将代码窗口中的所有代码替换为以下内容 
    using System;
    using System.Windows;
    using EPDM.Interop.epdm;//新增
    
    namespace SW_PDM__Standalone_APP_DEMO
    {
        /// <summary>
        /// MainWindow.xaml 的交互逻辑
        /// </summary>
        public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
            }
    
            private void Button_Click(object sender, RoutedEventArgs e)
            {
                try
                {
                    //Create a file vault interface and log into a vault
                    //创建文件库登录
                    IEdmVault5 vault = new EdmVault5();
                    vault.LoginAuto("JXEM",0 /*this.Handle.ToInt32()*/); //JXEM:MyVaultName
    
                    //Get the vault's root folder interface
                    //获取库根目录
                    string message = "";
                    IEdmFile5 file = null;
                    IEdmFolder5 folder = null;
                    folder = vault.RootFolder;
    
                    //Get position of first file in the root folder
                    //获取根文件夹中第一个文件的位置
                    IEdmPos5 pos = null;
                    pos = folder.GetFirstFilePosition();
                    if (pos.IsNull)
                    {
                        message = "The root folder of your vault does not contain any files.";
                        MessageBox.Show(message);
                        return;
                    }
                    message = "The root folder of your vault contains these files: " + "\n";
                    while (!pos.IsNull)
                    {
                        file = folder.GetNextFile(pos);
                        message = message + file.Name + "\n";
                    }
    
                    //Show the names of all files in the root folder
                    //显示根文件夹中所有文件的名称
                    MessageBox.Show(message);
    
                }
    
                catch (System.Runtime.InteropServices.COMException ex)
                {
                    MessageBox.Show("HRESULT = 0x" + ex.ErrorCode.ToString("X") + "\n" + ex.Message);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
    }
  6. 把代码中的 MyVaultName  替换为 你计算机中的库名,这里是JXEM。
  7. F5调试
    1. 单击按钮,将显示一个消息框,其中包含 指定库的根文件夹中的文件,或通知您 指定库的根文件夹不包含任何文件。
    2. 关闭窗体。

    3. 注意:这里要先在windows 资源管理器手动登录下,再使用这个程序。 

程序打包 https://download.csdn.net/download/hd51cc/87871608

提醒:

1.测试机需要安装SW PDM

2.运行前需要登录库

Stand-alone Applications (VB.NET)

Stand-alone Applications (C++)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/617252.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(学习日记)2023.06.06

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

【Linux】基础文件IO、动静态库的制作和使用

基础IO 前言回顾C语言文件IO操作三个标准 系统文件I/O系统调用接口不带mode的open带mode的openwirtereadopen的第二个参数flagsopen返回值文件的管理0&#xff0c;1&#xff0c;2演示文件描述符的分配规则重定向C中的0、1、2输入重定向追加重定向 另一种重定向的方式dup2实现输…

MySQL5.7主从同步配置(一台master,两台slave)

1. 下载MySQL(5.7.42) rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm2.安装 yum install mysql-server2.1 安装过程中如果报错如下&#xff0c;按下边方法处理。否则略过即可 2.2 解决方案&#xff1a;执行以下命令 rpm --import https…

mongodb redis mysql 区别

一、MySQL 关系型数据库。 在不同的引擎上有不同 的存储方式。 查询语句是使用传统的sql语句&#xff0c;拥有较为成熟的体系&#xff0c;成熟度很高。 开源数据库的份额在不断增加&#xff0c;mysql的份额页在持续增长。 缺点就是在海量数据处理的时候效率会显著变慢。 二、Mo…

Vue3中setup函数、以及父子组件传值讲解

文章目录 1.vue3中setup函数的执行时机2.setup函数的两种写法2.1 普通写法2.2 语法糖写法 3.vue3父组件给子组件传值。4.vue3子组件给父组件传值 1.vue3中setup函数的执行时机 setup选项的写法和执行时机&#xff0c;setup函数在beforeCreate函数之前执行&#xff0c;并且是自…

以安全为底线 共迎机遇和挑战|2023 开放原子全球开源峰会可信基础设施技术分论坛即将启幕

蚂蚁集团的业务领域&#xff0c;对于「可信」有非常高的技术要求。这种可信技术不仅体现在可靠、健壮&#xff0c;也体现在金融领域独有的风控难题以及分布式系统中持续提供服务的续航能力。可信基础设施中有大量的开源项目&#xff0c;而新的机会也在不断涌现。 2023 开放原子…

echarts 图表导出PDF(带滚动条)/图片导出PDF

echarts 图表导出PDF[带滚动条]/图片导出PDF 效果展示提出问题思考问题解决问题导出PDF 里面的页头中文乱码问题参数说明 效果展示 提出问题 在开发过程中,有需求是将展示出来的echarts图表导出为pdf 原本我的滚动条是使用echarts图表进行的滚动,但通过了解后得知,echarts图表如…

《人月神话》阅读推荐

用了两周的时间&#xff0c;大致过了一遍。书中讲述的很多方面可能此时并没有很深刻的体会&#xff0c;但是该书的预见性和分析还是很让人钦佩的。书中对项目、产品、程序、程序员等一系列对象的分析是相当精准的。虽然距今已有四十多年&#xff0c;但很多依旧在发生。   书中…

Java设计模式(四)

系列文章目录 UML类图 文章目录 系列文章目录前言一、UML类图二、UML基本介绍三、UML图1.类图—依赖关系(Dependence)2.类图—泛化关系(generalization)3.类图—实现关系(Implementation)4.类图—关联关系(Association)5.类图—聚合关系(Aggregation)6.类图—组合关系(Composi…

分布式(二)-大型网站架构演化发展历程

大型网站架构演化发展历程 大型网站的技术挑战主要来自于庞大的用户&#xff0c;高并发的访问和海量的数据&#xff0c;任何简单的业务一旦需要处理数以 P 计的数据和面对数以亿计的用户&#xff0c;问题就会变得很棘手。大型网站架构主要解决这类问题。 初始阶段的网站架构 …

MinIO 分片上传

文章目录 1.MinIO 简介2.为什么要分片上传&#xff1f;3.实现思路4.具体实现初始化客户端获取分片上传的预签名 URL合并分片中止合并 5.FAQ端口错误协议错误 参考文献 1.MinIO 简介 MinIO 是适用于 AI 的高性能对象存储系统。 MinIO 简单易用。简单性是 EB 级数据基础设施的基…

宝塔配置MySQL队列调度 | ModStart

执行以下操作前提前进入网站根目录&#xff0c;如 cd /www/wwwroot/xxx.com执行 artisan 命令前请参照 开发教程 → 开发使用常见问题 → 如何运行 /www/server/php/xxx/bin/php artisan xxx 命令 ① 生成数据库队列表迁移文件 在执行该步骤前&#xff0c;请先检查迁移文件 da…

【CSS 05】文本颜色 文本对齐 文字装饰 文本转换 文字间距 文本阴影 字体 字体样式 字体大小 谷歌字体

CSS 说在前面文本 text文本对齐 text-align文字装饰 text-decoration文本转换 text-transform文字间距 text_spacing文本阴影 text-shadow字体 font字体样式 font-style字体大小 font-size谷歌字体简写属性 shorthand 说在前面 事实证明&#xff0c;Zoro只要出现在标题就会被识…

go-GUI开发:fyne解决中文乱码+注册windows服务

go-GUI框架&#xff1a;fyne教程及解决中文乱码等常见bug 1 fyne教程 fyne教程地址&#xff1a; https://www.topgoer.cn/docs/goday/goday-1crdp17nj4v6phttps://pkg.go.dev/fyne.io/fyne/v2#section-readme 1.1 介绍 简单易用&#xff0c;fyne提供了简单直观的API&#xff…

iOS编译提效插件cocoapods-jxedt方案详解

1. 前言 本篇文章是cocoapods-jxedt插件实现方案的详解&#xff0c;主要从以下几个方面阐述了一下插件的实现方案和历程。 插件文件目录介绍插件的工作流程介绍插件实现过程中的问题和解决方案记录 如果你对插件的使用还不了解&#xff0c;建议先读一下cocoapods-jxedt使用介…

CVE漏洞复现-CVE-2023-32233 NetFilter权限提升

CVE-2023-32233 NetFilter权限提升 Netfilter是Linux 内核中的网络数据包处理框架&#xff08;iptables&#xff09;通过各种规则和过滤器&#xff0c;基于数据包的来源、目标地址、协议类型、端口号等信息&#xff0c;控制网络流量和数据包的转发和处理具体&#xff0c;详情请…

使用贝叶斯网络预测糖尿病:从理论到实践

2023年9月数学建模国赛期间提供ABCDE题思路加Matlab代码,专栏链接(赛前一个月恢复源码199,欢迎大家订阅):http://t.csdn.cn/Um9Zd 引言 在现实世界中&#xff0c;许多变量之间存在着复杂的概率关系&#xff0c;例如天气、交通、健康等方面的因素都会相互影响。为了更好地理解…

音频基本概念

1.音频信号 音频信号是一种连续变化的模拟信号&#xff0c;但计算机只能处理和记录二进制的数字信号&#xff0c;由自然音源得到的音频信号必须经过一定的变换&#xff0c;成为数字音频信号之后&#xff0c;才能送到计算机中作进一步的处理。 数字音频系统通过将声波的波型转换…

调用腾讯云API实现英文识别

目录 1. 作者介绍2. 腾讯云英文识别API介绍2.1 英文识别原理—OCR技术2.2 腾讯云英文识别API 3. 实验过程3.1获得API3.2申请调用接口3.3调试接口3.4实验代码3.5实验结果3.6 问题分析 4. 参考连接 1. 作者介绍 乔奕婕&#xff0c;女&#xff0c;西安工程大学电子信息学院&#…

nginx系列第六篇:结合nginx梳理linux中信号的使用

nginx中master进程来管理整个nginx工作的全过程&#xff0c;运行时其通过接收外部信号输入的方式来对内部进行相关调整。本文对照nginx来梳理一下linux中信号常用API的使用。 目录 1.函数sigaction和signal 2.关于信号集sigset_t 2.1 测试程序1 2.2 测试程序1 3.信号屏蔽…