SolidWorks机械工程师网——最大的SolidWorks学习平台

标题: Solidworks 二次开发 装配体中移动旋转零件 [打印本页]

作者: xssa    时间: 2013-3-8 15:40
标题: Solidworks 二次开发 装配体中移动旋转零件
装配体中的零件实现平移功能,在X,Y,Z方向分别实现平移,程序如下:
//X方向平移
private void button3_Click(object sender, EventArgs e)
{
IAssemblyDoc iAssemblyDoc = (IAssemblyDoc)iModelDoc;//装配体
IComponent2 Xaxis = iAssemblyDoc.GetComponentByName("xx-1"); //选定组件
double arraydataX = { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.2, 0, 0, 1, 0, 0, 0 }; //变换矩阵
IMathTransform transformX = (IMathTransform)iMUtility.CreateTransform(arraydataX);
Xaxis.Transform2 = (MathTransform)transformX;
iModelDoc.EditRebuild3(); //重塑模型
}
能够实现移动,但是明显不是X方向的移动,而且移动一次之后便不能继续移动了,有哪位朋友知道是为啥呢?帮帮忙

作者: -飞江-    时间: 2013-3-8 15:40
看不懂啊,不过楼主貌似发错地方了,有二次开发的区
作者: xinxin20023    时间: 2013-3-8 15:41
好的,那我找找
作者: zy1211    时间: 2013-3-8 15:45
好像没有专门是Solidworks二次开发的区
作者: mrking    时间: 2013-3-8 15:48
楼主是编程高手啊
作者: 无敌小乌龟    时间: 2013-3-8 15:49
你好,我最近也在做Solidworks二次开发,现在遇到点问题。你是怎么实现零件移动的,能不能指导一下我啊!十分感谢!我的qq:1633578693
作者: 兰杰龙    时间: 2013-3-8 16:04
朋友用的语言是C吧?代码看不懂,如果VB略还懂些。
我按VB的运用方式大致解释,供你参考。
我感觉应该是变量问题,移动要有坐标值,起点至终点,如果只能移动一次,说明你只给它一个终点的值,点击按钮或用时钟控件,它也只能移动在这个位置后不动了。
应该设一个变量,假如X方向每次移动单位2
X目的值变量=X目的值变量+2
这样运用时钟控件的启动和停止,X目的值变量不断增加,运行N个周期,就出现连续移动效果。




欢迎光临 SolidWorks机械工程师网——最大的SolidWorks学习平台 (https://www.swbbsc.com/) Powered by Discuz! X3.2