当前位置: 服务支持 >  技术文档 >  Solidworks装配技巧:高效组装与调试

Solidworks装配技巧:高效组装与调试

阅读数 106
点赞 43
copyright 著作权
article_banner

本文将继续给读者介绍装配体对象AssemblyDoc中的方法--添加装配。如下图所示,本文我们将给转轴添加3个配合关系,分别为轴重合,距离配合以及角度配合。

image.png

在AssemblyDoc中,存在AddMate5的方法,用于部件的装配操作,方法详情:

Mate2 SwMate = AssemblyDoc.instance.AddMate5(MateTypeFromEnum, AlignFromEnum, Flip, Distance, DistanceAbsUpperLimit, DistanceAbsLowerLimit, GearRatioNumerator, GearRatioDenominator, Angle, AngleAbsUpperLimit, AngleAbsLowerLimit, ForPositioningOnly, LockRotation, WidthMateOption, ErrorStatus)

该方法中有很多的参数,详情如下

参数MateTypeFromEnum:

该参数为装配类型的枚举swMateType_e,例如距离配合重合配合等,其成员如下:

image.png

参数AlignFromEnum:

该参数为对齐类型的枚举swMateAlign_e,主要成员如下,其作用即为操作中的【配合对齐】选择项

image.png

参数Flip:

该参数仅在距离装配时有效,其作用即为操作中的【反转尺寸】选择项

image.png

参数Distance,DistanceAbsUpperLimit,DistanceAbsLowerLimit:

此3个参数都与距离相关的配合有关。

当为固定距离配合时,该三个参数的取值相同。

当为距离范围配合时,DistanceAbsUpperLimit,DistanceAbsLowerLimit分别代表上下限值。

参数GearRatioNumerator ,GearRatioDenominator用于齿轮配合时有效。

参数Angle,AngleAbsLowerLimit,AngleAbsLowerLimit :

此3个参数都与角度相关的配合有关,用法同距离。

当为固定角度配合时,该三个参数的取值相同。

当为角度范围配合时,AngleAbsUpperLimit,AngleAbsLowerLimit分别代表上下限值。

参数ForPositioningOnly :

是否仅用于定位

参数LockRotation :

是否锁定旋转

参数WidthMateOption:

宽度配合的附加选项,仅宽度配合时有效

参数ErrorStatus

返回执行结果

操作分析:

1.同时选中需要进行配合的基准。

2.添加需要的配合。

代码实例

public static void AddMate(SldWorks swApp, ModelDoc2 Doc, string newpartpath)
{
            #region 添加部件
            swApp.OpenDoc(newpartpath, 1);
            ((AssemblyDoc)Doc).AddComponent5(newpartpath, 0, "", false, "", 0, 0.3, 0);
            swApp.CloseDoc(newpartpath);
            #endregion

            Component2 BaseComp = ((AssemblyDoc)Doc).GetComponentByName("底座-1");
            Component2 RoateComp = ((AssemblyDoc)Doc).GetComponentByName("转轴-1");

            int err = 0;
            #region 轴装配
            Feature BaseAxi = BaseComp.FeatureByName("基准轴1");
            Feature RoateAxi = RoateComp.FeatureByName("转轴中心轴");
            BaseAxi.Select(false);
            RoateAxi.Select(true);
            ((AssemblyDoc)Doc).AddMate5((int)swMateType_e.swMateCOINCIDENT, (int)swMateAlign_e.swMateAlignALIGNED,false,0,0,0,0,0,0,0,0,false,false,0,out err);
            #endregion

            #region 底面装配距离
            Feature BaseBp = BaseComp.FeatureByName("Top");
            Feature RoateBp = RoateComp.FeatureByName("Top");
            BaseBp.Select(false);
            RoateBp.Select(true);
            ((AssemblyDoc)Doc).AddMate5((int)swMateType_e.swMateDISTANCE, (int)swMateAlign_e.swMateAlignALIGNED, false, 10/1000.0, 10 / 1000.0, 10 / 1000.0, 0, 0, 0, 0, 0, false, false, 0, out err);
            #endregion

            #region 方位装配
            Feature BaseOir = BaseComp.FeatureByName("Right");
            Feature RoateOir = RoateComp.FeatureByName("Right");
            BaseOir.Select(false);
            RoateOir.Select(true);
            ((AssemblyDoc)Doc).AddMate5((int)swMateType_e.swMateANGLE, (int)swMateAlign_e.swMateAlignALIGNED, false,0, 0, 0, 0, 0, (30/180.0)*Math.PI, (30 / 180.0) * Math.PI, (30 / 180.0) * Math.PI, false, false, 0, out err);
            #endregion

            Doc.EditRebuild3();
}

从上面我们可以看到,无论操作哪种配合关系,都使用AddMate5方法进行配合的添加,其中的参数有很多,但只有部分参数与我们需要建立的配合有关。

在目前最新的Soldiworks版本中,官方又提供了更新的添加装配的方法,各类配合会有自己的MateData,即配合数据,然后通过该统一的方法进行调用,在后续的章节中,还会给大家进一步讲解该方法的使用。

AssemblyDoc.CreateMate(MateData)

如下图为本文的示例程序,源码可上我的Github下载。操作步骤可见文章《公众号源码Github分享库》实例序号15

image.png
相关文章
QR Code
微信扫一扫,欢迎咨询~

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

* 公司名称:

姓名不为空

手机不正确

公司不为空