Solidworks API和Winforms C# swApp(独立)。
这是solidworks告诉您要做的参考swApp,但是我一直在引用它的行上. 有人知道为什么吗?还是我如何维修? 我稍后可以在swApp = ???? 上引用它 private void button5_Click(object sender, EventArgs e) { //Save Drawing ModelDoc2 swDoc = null; int longstatus = 0; swDoc = ((ModelDoc2)(swApp.ActiveDoc)); longstatus = swDoc.SaveAs3( @"C:\Engineering\Engineering\SW Automation\Linear Actuator Technology\MLD Series\Prints\Configured Prints\" + textBox1.Text + ".SLD
14 2024-04-26
编程技术问答社区
C#: DLL已注册,但仍出现COM错误80040154
当i debug 我的 Windows表单应用程序我得到此错误: 检索CLSID组件的COM级工厂 {27526253-6119-4B38-A1F9-2DC877E72334}由于以下原因而失败 错误:80040154类未注册(Hresult的例外: 0x80040154(regdb_e_classnotreg)) 因此,我的 wfa 无法与我的计算机上安装的软件 solidworks soliceworks交互; wfa 唯一需要与 solidworks 交互的库是 SolidWorks.Interop.sldworks.dll( solidworks 目录中的本地位置 c:\ program Files \ solidworks corp 2017 \ solidworks \ solidworks \ solidworks.interop.sldworks.dll ). ). 以下其他信息. 编译器: Microsoft Visual C#2010 Exp
22 2024-04-26
编程技术问答社区
为Solidworks建立一个C#插件
在多个站点上似乎很复杂.使用Visual Studio 2017在C#中构建Solidworks Addin的适当步骤是什么? 解决方案 我想分享我在使用Visual Studio Professional 2017和Windows 10的Solidworks构建C#ADDIN的经验进入这个. 1.下载用于Visual Studio的C#模板并安装 我基本上遵循了SolidWorks提供的步骤(需要SolidWorks客户门户帐户),您可以找到在这里: 问题:将EXE提取到MSI中,然后将MSI运行.安装完成后,我将无法在Visual Studio中找到模板项目,在其文件夹( c:\ users [用户名] \ documents \ Visual Studio 2017 \ templates \ projectTemplates \ Visual C#)中均未找到模板项目. 解决方案:我发现了这个 post 这表明使用7ZIP解开MSI.果然,该解决方
14 2024-04-21
编程技术问答社区
在Windows XP/Vista上获取任何文件的缩略图,包括SolidWorks。
每个安装的操作系统内部都有很多建筑物的缩略图.由于这些提供商,Windows可以显示许多文件的缩略图.例如,Windows Explorer可以显示 *.jpg文件的内容,但也可以从SolidWorks *.sldprt文件(如果已安装SolidWorks). 但是有什么方法可以获取这些缩略图?我尝试使用Windows API编解码程序来管理此操作,但我仅在Windows 7上成功了. ShellFile shellFile = ShellFile.FromFilePath(filePath); Bitmap shellThumb = shellFile.Thumbnail.Bitmap; 问题是:还有其他可用方法可以在Windows XP/Vista上使用注册的缩略图提供商获取任何文件的缩略图?我真的很绝望... 解决方案 有几种方法: 1)使用库 openmcdf"> OpenMCDF . SolidWorks文件是复合文
4 2024-04-19
编程技术问答社区
solidworks VBA中的一些挤出物循环不工作
我正在尝试使用VBA在SolidWorks API中运行挤出循环.每个挤出的高度取决于位图中像素的亮度. 在大多数情况下,代码可以按预期工作,但是大约四分之一的挤出根本无法正常工作.制作草图,但不是挤压. 我不知所措,因为我没有看到不起作用的模式之间的任何模式.我在feature Extrusion2上运行了一个QuickWatch,并且在不起作用的功能上,它返回了"什么都没有",并且那些没有返回值的人. 任何帮助都将不胜感激 这是整个代码: Option Explicit Private Type typHeader Tipo As String * 2 Tamanho As Long res1 As Integer res2 As Integer Offset As Long End Type Private Type typInfoHeader Tamanho As Long Largura As Lo
8 2024-03-31
编程技术问答社区
regsvr32尝试在另一台计算机上构建的.dll时,错误代码80040111失败
我使用netcoreapp3.1在C#中创建了一个实体工具.建筑物(带有dotnet build)产生A MyAddin.dll以及MyAddin.comhost.dll. 为了注册加载项,我可以运行(使用管理权限): regsvr32 MyAddin.comhost.dll 这使得在SOLIDWORKS中可用. 但是,如果我与我的同事共享构建输出文件,并且他试图以相同的方式注册.dll,则会出现一个消息框,上面说: The module "MyAddin.comhost.dll" was loaded but the call to DllRegisterServer failed with error code 0x80040111. For more information about this problem, search online using the error code
32 2024-01-08
编程技术问答社区
如何从vb.net脚本打开Solidworks,运行宏,并关闭Solidworks?
我在实心工程中运行一个VBA宏,该宏工会停止工作,并要求我每次运行478个环上重新启动SolidWorks. 在我的循环中,我打开一个步骤文件,验证它,然后将其保存为STL文件.似乎SolidWorks在同一会话中努力打开超过固定数量的文件. 我的计划是在SOLIDWORKS之外编写一个VB.NET脚本,该脚本可以自动重新启动应用程序,而无需我干预每一个X数字iTtwerations,以便我可以处理数千个文件,而无需干预. vb.net控制台脚本,每当达到477个迭代时关闭并重新打开Solidworks,然后继续将宏从离开的位置继续. 带有我文件的文件夹编号,例如 c:\data\0\file.STEP c:\data\1\file.STEP c:\data\2\file.STEP ... c:\data\20000\file.STEP 具体来说,我正在寻找执行以下操作的VB.NET代码: Open Solidworks 调用现有的宏观标记(可能
76 2023-12-07
编程技术问答社区
是否有view.getOutline()的替代方法包括临时轴?
注意:这是不是由建议的问题 - 实际上与之相反.此外,是我也问了这个问题,我也链接到. . 我正在修复其他人的VBA代码,以根据其大小将绘图视图彼此相邻. 视图的大小是从View.GetOutline()返回的边界框中获取的,并且通过更改View.Position属性来设置视图的位置. 代码处理多体零件,每个身体创建一个绘图表. 问题是View.Position属性对应于包含临时轴的边界框的中心. 这是多体部件,也是SW GUI中临时轴开启的有问题的绘图视图: 在图纸中您可以看到: SW GUI(浅蓝色虚线矩形)显示的选择大纲 View.GetOutline()返回的轮廓的对角线(红线) 视图的中心如View.Position属性(红色x) 临时轴(蓝色十字和线) 是否有一种方法可以获取绘图视图的真实大小,一个与属性的边界框相对应? 显然,图形视图包括来自其他物体的临时轴在此多体部件中. 这指出了另一种问题:是否有一种方法可以防止多体部件中其
14 2023-11-16
编程技术问答社区
Excel的Edrawings API
我试图通过Excel使用Edrawings VBA API.我已经下载了Edrawings SDK,似乎API仅通过用户表单运行.我通过Excel为Solidworks制作了一些VBA宏,但是与Solidworks不同,文档的文档非常有限.我只是想与API建立连接,之后我应该能够从那里进行. 目前,我只想通过Excel打开一幅在Edrawings中绘制的Solidworks.因此,类似以下内容: Sub OpenDrawing() Dim xlBook As Workbook Dim xlsheet As Worksheet Dim eDraw As New EModelViewControl Dim FilePath As String Set xlBook = ActiveWorkbook Set xlsheet = xlBook.Sheets(1) FilePath = Range("B1").Value eDraw.OpenDoc FilePath, Fals
14 2023-11-16
编程技术问答社区
将CAD模型(Solidworks、AutoCAD或CATIA)与Raspbery Pi或Arduino传感器的实时测量连接起来
提出我的问题,我将简化我的示例. 我将在踏板电机上连接链轮,并用加速度计测量加速度.数据将通过使用Arduino或Raspberry Pi传感器设置来捕获数据.然后,测量结果将存储在基于云的环境中或以某种方式存储,并将其发送到CAD模型(这就是想法). 基本上我想实现的是: 将阶梯电机的运动与SW/CATIA/AUTOCAD模型连接(如果物理链轮在旋转,CAD模型中的链轮也是如此), 如果测量结果确定了组件中的问题,则临界/弱组件将在CAD模型内以某种方式突出显示. 有人知道如何做到这一点,或者是否有可能? 解决方案 我认为Catia绝对有可能(非常容易)(这是我知道的唯一一个). Catia暴露了COM自动化(即您可以像MS Office应用程序一样与之互动),并且自然而然地以相同的方式编写VBA项目. 但是VBA项目有很多局限性,我认为几乎不可能拥有背景,例如您描述的一个过程. . 如果您切换到Python,您将可以: 访问所有Py
34 2023-07-25
编程技术问答社区
为SelectById2调用指针
我正在尝试移植我在VBA编写的一些代码,以将Solidworks控制到Python.特别是自动化的草图编辑.我在Python中使用SolidWorks SelectById2遇到问题.在VBA中,以下代码正常: Part.Extension.SelectByID2("Sketch1", "SKETCH", 0, 0, 0, False, 0, Nothing, 0) 我遇到的问题是用某些python等效地替换VBA的"无"价值. 从SolidWorks API文档中,SelectById2的寻找是: SelectByID2(Name, Type, X, Y, Z, Append, Mark, Callout, SelectOption) 呼叫是指向关联的标注的指针.我宁愿不创建指针,因为它与我无关,并且我在VBA中看到了这不是必要的. 我尝试使用python的none,pythoncom.missing,pythoncom.empty,"","",0 ..
20 2023-07-05
编程技术问答社区
XpsDocument GetFixedDocumentSequence 对于由特定计算机生成的文件,返回空。
SolidWorks生成" EDRWX"文件.通常,这些是使用 Microsoft XPS Viewer打开. 问题: 应用程序使用.NET XPSDocument将它们打开并在打印之前对其进行操作.故障方法是" GetFixedDocumentSequence".它通过从特定计算机生成的文件返回null.即使应用程序在特定的计算机上运行,​​也可以这样做.但是它可以与其他计算机生成的文件一起工作. 尝试使用XPS Document Viewer打开文件时,它无法打开,说它无法打开.但是,它确实在创建它的特定计算机上打开.如果此计算机从Microsoft Word打印出普通的XPS文件,则其他计算机可以使用XPS Document Viewer正常打开它.另外,其他计算机生成的" EDRWX"文件很容易在每个计算机上使用XPS文档查看器打开. 更多规格: 特定的计算机在Windows 8.1下运行. 其他计算机在Windows 7下运行. 该应用程序使用.NET
50 2023-02-17
编程技术问答社区
如何将excel中的VBA脚本的参数作为参数传递给外部可执行文件(C#)?
我在Excel表中有一个嵌入式按钮,该按钮调用VBA脚本.在此脚本中,我正在阅读当前目录,解析并使用它来生成值以将字符串[]传递给外部C#可执行文件.我已经经历了许多迭代,它确实称为可执行文件,但是当C#.exe运行时,所传递的参数为null(空).我能够在其他程序中使用此c#.exe并通过参数,但是此VBA脚本无法正常工作.我也知道它正在传递正确的参数#,因为我没有从c#.exe中获得异常.我目前正在将所有这些论点转换为字符串,以试图解决此问题,但这很可能不是必需的.附带的VBA代码: Sub ButtonSG1b7_Click() Dim FileLocation Dim ProgramName Dim length FileLocation = ActiveWorkbook.FullName length = Len(FileLocation) - 5 ProgramName = Left(FileLocation, length) ProgramName = Right
108 2022-09-13
编程技术问答社区
是否有替代View.GetOutline()的方法,可以提供更好的轮廓?
View.GetOutline() 方法返回的轮廓与可见工程图不完全对应 - 它返回的比 SolidWorks GUI 显示的选择轮廓多一点. 下面的截图显示了View.GetOutline()返回的轮廓的选择轮廓(浅蓝色虚线矩形)和对角线(红线): 有没有办法获得与实际可见绘图相对应的边界框? 注意:这个问题的原标题是“是否有不包括临时轴的 View.GetOutline() 的替代方法?",但是我发现 View.GetOutline() 实际上不包括临时轴.问题出在 View.Position 属性中,该属性定义了 包括临时轴的中心边界框. Artem 的回答非常有用,所以我决定更改问题以对应答案并发布 新问题针对实际问题. 解决方案 您可以通过 IPartDoc::GetBox/IAssemblyDoc::GetBox API 从底层模型中获取边界框,并通过 IView::ModelToViewTransform 将其转换为视图空间显示在本示例中.
260 2022-08-11
编程技术问答社区
获取任何文件的缩略图,不仅仅是Windows XP/Vista上的图像文件
每个已安装的操作系统内部存在大量构建缩略图.由于这些提供商,Windows能够显示许多文件的缩略图.例如,Windows资源管理器可以显示* .jpg文件的内容,而是从solidWorks * .sldprt文件(如果安装了solidWorks). 但有没有办法得到这些缩略图?我试图使用Windows API CodeCpack管理这一点,但我只在Windows 7上成功了. ShellFile shellFile = ShellFile.FromFilePath(filePath); Bitmap shellThumb = shellFile.Thumbnail.Bitmap; 问题是:是否有任何其他可用方法在Windows XP/Vista上使用已注册的缩略图提供商获取任何文件的缩略图?我真的绝望... 解决方案 有几种方式: 1)与库 OpenMCDF . SolidWorks文件是 OpenFileDialog dia
1574 2022-07-19
编程技术问答社区