JavaScript中使用SOLIDWORKS API:方法与实战!

如何在脚本中使用SOLIDWORKS API方法

本节提供示例并解释从不同脚本调用 SOLIDWORKS API 的方法,包括 vbScript、PowerShell、JavaScript。

在 SOLIDWORKS 自动化中使用脚本的主要优点是简化了部署和维护过程。脚本是开源的,不需要特殊的IDE,可以很容易地集成到自动化工作流程中。

脚本通常接受参数,从而实现交互式自动化方式。

脚本可以使用专用于 OLE 自动化的特殊“自动化”版本的 SOLIDWORKS。这意味着 SOLIDWORKS 可以在后台轻量级启动,从而大大提高了流程的性能。

在 JavaScript 中使用 SOLIDWORKS API 方法

JavaScript是一种高级编程语言,主要用于Web应用程序。

由于安全原因,在 Web 浏览器中运行的 Java 脚本不允许访问桌面对象。但是,在Internet Explorer浏览器中运行的JavaScript允许通过ActiveXObject对象访问COM对象。

本节中的示例演示了如何使用此技术在 Web 浏览器中从 JavaScript 调用 SOLIDWORKS API。

使用 SOLIDWORKS API 在 HTML 页面中呈现特征树

此示例演示如何使用 Internet Explorer 中的 JavaScript 和 ActiveX 使用 SOLIDWORKS API 将 SOLIDWORKS 零件文件的特征树内容加载到 HTML 页面中(这在任何其他浏览器中都不起作用,因为默认情况下不支持 ActiveX - 可能需要安装特殊插件才能启用支持)。

  • 创建新的 html 文件。
  • 将以下代码复制粘贴到文件中。
<!DOCTYPE html>
<html>
<body>

	<input type="text" placeholder="Part File Path" id="filePath"></input>
	<button type="button" onclick="RenderFeatureTree()">Get Feature Tree</button>

	<p id="featTree">Feature Tree</p>

	<script>
		function RenderFeatureTree() {

			var swApp = new ActiveXObject("SldWorks.Application");
			var filePath = document.getElementById('filePath').value;

			var docSpec = swApp.GetOpenDocSpec(filePath);
			docSpec.ReadOnly = true;
			docSpec.Silent = true;
			var swModel = swApp.OpenDoc7(docSpec);

			var swFeatMgr = swModel.FeatureManager;

			var swRootFeatNode = swFeatMgr.GetFeatureTreeRootItem2(1);

			var root = document.getElementById("featTree");

			RenderFeatureNode(swRootFeatNode, root);

			swApp.CloseDoc(swModel.GetTitle());
		}

		function RenderFeatureNode(featNode, parentElem) {

			parentElem.innerText = featNode.Text

			var ul = document.createElement("UL");
			parentElem.appendChild(ul);

			var swChildFeatNode = featNode.GetFirstChild()

			while (swChildFeatNode !== null) {
				var li = document.createElement("LI");
				ul.appendChild(li);
				RenderFeatureNode(swChildFeatNode, li);
				swChildFeatNode = swChildFeatNode.GetNext();
			}
		}
	</script>
</body>
</html>
  • 保存文件并在 MS Internet Explorer 中打开。

包含输入字段的 HTML 页面

此页正在使用 ActiveX,因此可以显示以下消息:

Internet Explorer 中的 ActiveX 限制警告

单击“允许阻止的内容”按钮。

  • 在文本框输入字段中输入 SOLIDWORKS 零件的完整路径。
  • 单击获取要素树按钮。
  • 在以下弹出窗口中单击是。

有关 ActiveX 内容的警告消息

结果,零件的特征树呈现在页面上。

以 HTML 格式呈现的 SOLIDWORKS 零件特征树

文章翻译自https://www.codestack.net/

仅供学习使用。

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空