- 博客(26)
- 资源 (14)
- 收藏
- 关注
原创 Fiddling with the Vault API
如果你不知道什么是Fiddler,这是一个可以监控电脑上HTTP流量的工具。由于Vault使用网络服务进行服务器通信,因此你可以使用Fiddler来检查文件传输是否正常。如果您出错,文件将以文本形式传输,但您的应用程序仍然可以正常运行,因此很难找到问题所在。一段时间以来,我一直在寻找一个好的方法来检测Vault应用程序的二进制传输是否设置正确。最终我找到了这个方法,它的名字叫做Fiddler。注意:如果配置不正确,没有启用MTOM,则可以使用Fiddler中的XML视图。
2025-04-07 17:00:33
389
原创 Generating File Names生成文件名
如果要生成文件名,有两个完全不同的机制可供选择,每个机制都有自己的API函数和优缺点,你需要根据自己的需求做出选择,没有一个机制适用于所有情况。更糟糕的是,它们的名字很相似。一个用于文件命名方案,另一个用于文件编号方案。这就像读一本三卷的奇幻史诗,其中一个反派叫做索隆,另一个叫做萨鲁曼。这是一个非常基本的机制,如果你想要快速简单的东西,这很不错。一个不错的功能是,如果您决定不使用某个名称,您可以“回滚”该名称。这里是Vault Explorer的一些截图,展示了字段是如何相互关联形成编号方案的。
2025-04-07 16:39:10
347
原创 Vault Getting to Know the VDF了解VDF
原因是因为它确实是由一个完全不同的团队构建的。Autodesk.DataManagement.Client.Framework.Vault.Forms.dll - 这包含 Vault 用户界面。Autodesk.DataManagement.Client.Framework.dll - 此文件包含非 Vault 特定的组件,且不包含用户界面(UI)。Autodesk.DataManagement.Client.Framework.Forms.dll - 这包含了非 Vault 特有的用户界面组件。
2025-04-07 16:27:56
400
原创 Vault How to Acquire Files如何获取文件
下载和签出已经过时了。时尚的Vault API开发者通过Vault API获取文件,更加时尚和高雅。此外,2014年的API中不再包含DocumentService.DownloadFile和DocumentService.CheckoutFile等功能。我将在后面的文章中详细解释这种更改的架构原因。我发现的唯一缺点是无法直接将文件读入内存,只能从磁盘上的某个位置获取。解决办法是先将文件读入临时位置,然后再将其读入内存,最后再删除临时文件。是的,更新代码确实很麻烦,但在你过度焦虑之前,让我来列举一下好处。
2025-04-07 16:20:46
166
原创 Vault Getting the status icon获取状态图标
这不是服务器可以完成的任务,因为它需要从您的硬盘中获取数据。状态图像的生成涉及许多因素,包括比较本地文件的状态与Vault中相应文件的状态。因此,如果您正在寻找一种简单的方法让您的应用程序查看哪些文件已过时,状态属性可以轻松地为您提供这些信息。由于客户端使用的是相同的代码,因此您的图标将与Vault Explorer和CAD插件中显示的图标相匹配。如果您使用过新的网格控件,您可能已经注意到有一个用于显示状态图标的列。因此,您可以编写特殊的逻辑来处理本地文件版本与任何库版本不匹配的情况(例如,意外编辑)。
2025-04-07 16:12:18
307
原创 Vault文件关联
文件关联是指一个文件的不同版本之间的关联。这意味着每个文件的依赖树可能会发生变化。这篇文章将只关注Vault基本版本中的关联。下一篇文章将介绍Vault工作组的概念,如修订和生命周期状态。这就是困惑的起点所在。你拥有大量的数据和多种遍历数据的方式。让我们来看一个简单的例子。首先,我们上传了两个新文件,A和B。接下来,我们将检查B并使用一个新的文件C将其重新签入。对于Vault,我们有两个概念,它们本身很简单,但当混合在一起时会变得复杂。第一个概念是文件版本。每次编辑文件时,您都会获得一个新版本。
2025-04-07 15:27:40
289
原创 Vault Entities and Behaviors实体和行为
行为服务最容易被发现,因为函数的参数有“entityId”和“entityClassId”这样的标识符。在基于实体的服务中,函数通常使用更具体的标识符,例如“fileId”。通常,这是对象上的“MasterId”属性。在 Vault 中,并非每个对象都是实体,也并非每个功能都是行为。通过拥有可以处理多种对象类型的功能,Vault拥有更少的代码、更简洁的API、更高的稳定性等等。EntityId - 每个实体都有一个唯一标识它的ID,通常是对象上的“Id”属性。实体:是一个可以具有行为的对象。
2025-04-07 14:48:57
207
原创 通过Vault API在选择文件窗口添加查找命令
您可以使用SelectEntitySettings中的DoSearch属性为SelectEntity对话框添加搜索命令。选择EntityOptions可扩展性类。如果未设置此属性,则根本不显示搜索按钮。下面是设置了DoSearch属性的SelectEntity对话框。您可以看到搜索功能的命令按钮(右上角圆圈)。下面是代码示例供参考。测试以下代码的最简单方法是将其添加到Vault SDK附带的VaultList示例中。按下搜索按钮并找到搜索到的文件后,对话框将导航到找到的文件,如下所示。
2025-04-07 14:03:07
850
原创 将带有单位的文本删除单位的方法
现在我在3D软件中发现导出的总数量带有单位 m ,现在我需要把单位“m”去掉,可以使用下面的方法进行去除单位!System.Text.RegularExpressions.Regex.Match(str, @"-?\d+(\.\d+)?").ToString();
2022-04-27 21:50:05
330
原创 对于数组去重的问题
数组中存在重复元素,需要把重复的元素去除掉,可以使用以下的方法进行处理。 private void button1_Click(object sender, EventArgs e){ List<string> tt = new List<string>() { "abc", "test", "123", "abc", "test","123" }; int count=tt.Count; for (int i = 0; i < tt.Count; i++) {
2022-04-26 22:11:37
133
原创 单例模式的创建方法
现在我需要在窗体1上做个按钮,单击按钮弹出窗体2,那么正常的Form.Show()就会出现一直创建窗体2,如果点击按钮时永久只弹出一个窗体,现在就需要做个单例模式的方法。首先需要把窗体2私有化;创建一个共有的静态窗体2,值位null;最后创建一个可以给静态窗体化的公有静态函数public partial class Register : Form{ private Register() { InitializeComponent(); } /// <summary>
2022-04-22 09:31:41
213
原创 C#调用Inventor的可执行程序启动Inventor
最近在用进程启动Inventor的时候,发现启动的Inventor程序很很诡异,干脆一不做二不休,直接启动可执行程序!var localMachine = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64);var key = localMachine.OpenSubKey(@"SOFTWARE\Autodesk\Inventor\RegistryVersion24.0", false);object
2022-04-21 20:11:19
403
转载 C#中的自定义控件中的属性、事件及一些相关特性的总结(转)
摘要: C#中的自定义控件中的属性(Property)、事件(Event)及一些相关特性(Attribute)的总结今天学习了下C#用户控件开发添加自定义属性的事件,主要参考了MSDN,总结并实验了一些用于开发自定义属性和事件的特性(Attribute)。在这里先说一下我的环境:操作系统:Windows7旗舰版(Service Pack 1)VS版本:Microsoft Visual Studio Ultimate 2012,版本 11.0.50727.1 RTMREL.NET Framework
2022-02-08 11:25:24
5869
原创 Vault安装服务器端总是提示需要重启
我在安装Autodesk Vault Server 时发现一个怪异的现在,即便是我刚刚重新启动了机器,Vault安装程序也总是提示我需要重新启动,那么这种情况如何处理呢?对于这种情况来说的话需要删除注册表信息,但是请注意注册表的备份,防止误删除造成其他的影响!进入注册表编辑器(开始–运行-- regedit),删除如下键值中的:Key: HKLM\System\CurrentControlSet\Control\Session Manager,中的"PendingFileRenameOperati
2021-12-20 16:18:08
379
原创 C#启动获取SolidEdge进程的方法
需要提前引用命名空间using System.Runtime.InteropServices;我们现在以一个单击按钮事件进行展示 private void button1_Click(object sender, EventArgs e) { try { // 连接SolidEdge程序 SeApplication = (SolidEdgeFramework.Applica
2021-12-10 14:20:01
624
原创 关于在Inventor中一些零部件无法读取需要删除的问题
在Inventor的部件中,由于某些非关键零部件丢失后,无法正常读取时。需要将这些零件批量删除,通过以下代码可以实现批量删除的功能。使用方法:1、打开Inventor VBA模块2、复制代码进入VBA代码模块中,运行宏aa即可Sub aa() Dim oAssemDoc As AssemblyDocument Set oAssemDoc = ThisApplication.ActiveDocument Dim oCompDef As AssemblyComponen
2021-04-01 10:24:58
2828
原创 关于Inventor中物理特性更新的API
在Inventor中物理特性在零部件创建完成后,属性不更新,那么需要使用MassProperty的API来实现。代码如下:Sub updateMassProperties() Dim oDoc As PartDocument Set oDoc = ThisApplication.ActiveDocument '后台调用MassProperty Debug.print(oDoc.ComponentDefinition.MassProperties)End Sub或者
2021-03-19 16:36:50
661
原创 Inventor API学习
第一章 Inventor API基本概述1. 课程目标——AgentAPI范例——API COM model如何使用API——How do I access the API对象模型——The Object Model对象工具:browser,VBA debug——Object Model tools:Object browser,VBA debug集合、枚举、接口——Collection、Enumerate、Inheritance程序——The Application Onject如何使用
2021-03-19 13:44:42
1383
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人