QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 4215|回复: 7
收起左侧

[求助] Solidworks 二次开发 装配体中移动旋转零件

[复制链接]
发表于 2013-3-8 15:40:44 | 显示全部楼层 |阅读模式 来自: 中国江苏南京

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
对装配体中的零件实现平移功能,在X,Y,Z方向分别实现平移,程序如下:: h; S: v' B; Z$ G& |) U
        //X方向平移% L, N& G# E: \1 k. G' {/ o5 E5 g
        private void button3_Click(object sender, EventArgs e) 0 N( |2 m. A8 g: i; B* |8 A  `
        {
9 }8 [9 V' T; S8 O" I            IAssemblyDoc iAssemblyDoc = (IAssemblyDoc)iModelDoc;//装配体3 |2 c5 P" _! t3 Q/ e( T
            IComponent2 Xaxis = iAssemblyDoc.GetComponentByName("xx-1"); //选定组件
. L1 g) K# A1 B" \" M3 n; N# k            double[] arraydataX = { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.2, 0, 0, 1, 0, 0, 0 }; //变换矩阵
( z  L. U9 X0 L7 }  ^; o! _: t            IMathTransform transformX = (IMathTransform)iMUtility.CreateTransform(arraydataX);
5 a( O' @/ z$ j3 h% e3 F5 s) T+ O            Xaxis.Transform2 = (MathTransform)transformX;
/ m9 {9 h9 l, T' C  K5 x            iModelDoc.EditRebuild3(); //重塑模型+ p- ^% z1 @! ^2 N! A
        }) E( L! r2 n- K: @: ~, z
8 p7 `3 `7 O  x
能够实现移动,但是明显不是X方向的移动,而且移动一次之后便不能继续移动了,有哪位朋友知道是为啥呢?帮帮忙. K! o& M5 z2 K9 |' m# ]
0(5INRUA8%8J{E]I71CVD4X.jpg
发表于 2013-3-8 15:54:37 | 显示全部楼层 来自: 中国广东广州
看不懂啊,不过楼主貌似发错地方了,有二次开发的区
 楼主| 发表于 2013-3-8 16:00:21 | 显示全部楼层 来自: 中国江苏南京
zhjailfq 发表于 2013-3-8 15:54 static/image/common/back.gif" v* a* W5 V. E5 I
看不懂啊,不过楼主貌似发错地方了,有二次开发的区
  ^* a. `- i5 {. L4 H. J6 U: N
好的,那我找找
 楼主| 发表于 2013-3-8 16:04:11 | 显示全部楼层 来自: 中国江苏南京
zhjailfq 发表于 2013-3-8 15:54 static/image/common/back.gif( G% B, p' V% O
看不懂啊,不过楼主貌似发错地方了,有二次开发的区

6 f: N3 U) N  D1 p6 N$ a+ U" Z好像没有专门是Solidworks二次开发的区
发表于 2013-3-8 20:18:50 | 显示全部楼层 来自: 中国湖北咸宁
楼主是编程高手啊
发表于 2014-7-24 15:07:09 | 显示全部楼层 来自: 中国重庆
你好,我最近也在做Solidworks二次开发,现在遇到点问题。你是怎么实现零件移动的,能不能指导一下我啊!十分感谢!我的qq:1633578693
发表于 2014-7-24 15:34:37 | 显示全部楼层 来自: 中国辽宁丹东
朋友用的语言是C吧?代码看不懂,如果VB略还懂些。5 u' q) A* P* [9 e0 c; ^; U! B
我按VB的运用方式大致解释,供你参考。
9 i) k8 `9 s# q9 n/ \( |% _6 M8 m我感觉应该是变量问题,移动要有坐标值,起点至终点,如果只能移动一次,说明你只给它一个终点的值,点击按钮或用时钟控件,它也只能移动在这个位置后不动了。
. I  P7 f. b% l% _+ s; ~应该设一个变量,假如X方向每次移动单位2
! H: X) i$ ?- b/ C! X5 E* hX目的值变量=X目的值变量+2+ h  @, h7 m# T. z
这样运用时钟控件的启动和停止,X目的值变量不断增加,运行N个周期,就出现连续移动效果。
发表于 2019-7-19 09:00:28 | 显示全部楼层 来自: 中国重庆
谢谢楼主分享,解决了我的问题
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

快速回复 返回顶部 返回列表