c#读取solidworks文件_C# SolidWorks 二次开发 API---钣金零件信息提取

有一段时间没有发博文了,最近有人问到钣金件的相关操作,今天我们来看看钣金零件信息的读取。

Solidworks中钣金件是有一个单独的模块,里面有一些固定的文件夹结构。

498f5073706712a37701222a4f164f6f.png

最后这个文件夹中包含了展开状态时零件的信息。如长度与折弯线相关的信息都在这里面。

43022d90498376d4d2478c80101b1a1f.png

一般我们要找到长 宽 厚 折弯角 与距离  折弯方向 这些信息。

545a384cb6566180cddca8fd364630b9.png

输出结果如下,有些小数的处理就忽略了。大家看看就行。

48c44ac3ccd8bd25293477dd4b1be90c.png

粗略的写了下,输入信息在这里。很多就是API帮助里面的例子,大家可以在中文翻译中查找到。

private void btnSheetmetal_Click(object sender, EventArgs e)

{

//连接到Solidworks

ISldWorks swApp = Utility.ConnectToSolidWorks();

swApp.CommandInProgress = true;

ModelDoc2 swModel = (ModelDoc2)swApp.ActiveDoc;

//钣金 变成平板模式的特征

List flatPatternFeatures = new List();

//Bounding Box草图

List boundingSketchesName = new List();

//获取当前钣金状态--这个已经过时

//swSMBendStateFlattened 2 = 弯曲变平;该模型回滚到FlattenBends功能之后,但恰好在相应的ProcessBends功能之前

//swSMBendStateFolded 3 = 折弯处已折叠;模型回滚到FlattenBends ProcessBends功能对之后

//swSMBendStateNone 0 = 不是钣金零件;没有SheetMetal功能

//swSMBendStateSharps 1 = 弯曲处处于锐利状态;零件回滚到第一个FlattenBends功能之前

var bendState = swModel.GetBendState();

if (bendState == 0)

{

swApp.SendMsgToUser("不是钣金零件!");

return;

}

// swApp.SendMsgToUser("当前状态" + bendState);

if (bendState != 2)

{

//swApp.Command((int)swCommands_e.swCommands_Flatten, "");

//设定当前钣金状态 平板

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值