QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
对装配体中的零件实现平移功能,在X,Y,Z方向分别实现平移,程序如下:. v; ]+ p; |- s* K
        //X方向平移
* v- t* K+ `1 U" C. c        private void button3_Click(object sender, EventArgs e) 3 j5 Y( y+ ^0 z5 v4 C# F. c
        {
0 P9 P/ x7 F, a4 t7 ~+ t4 [            IAssemblyDoc iAssemblyDoc = (IAssemblyDoc)iModelDoc;//装配体9 `% c/ T- R* f/ h7 G" @% v7 @' z
            IComponent2 Xaxis = iAssemblyDoc.GetComponentByName("xx-1"); //选定组件
# ]! o  R+ B- w/ \7 R3 |            double[] arraydataX = { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.2, 0, 0, 1, 0, 0, 0 }; //变换矩阵
4 y2 @; P6 ^" d) Z            IMathTransform transformX = (IMathTransform)iMUtility.CreateTransform(arraydataX);. `  t% i. L9 o) l* x9 q: S1 Y# ?
            Xaxis.Transform2 = (MathTransform)transformX;5 \6 q2 S1 G. W  C
            iModelDoc.EditRebuild3(); //重塑模型0 o- t$ O7 B  }) {+ `9 O
        }
9 Y  U8 J0 T- H- C- ~: ?  a) W# X4 G! J9 C2 l$ D- j
能够实现移动,但是明显不是X方向的移动,而且移动一次之后便不能继续移动了,有哪位朋友知道是为啥呢?帮帮忙0 c* p' F' q$ H9 p2 z/ f- n
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.gif3 T; p9 a- h* {6 {
看不懂啊,不过楼主貌似发错地方了,有二次开发的区

, E/ Q  n3 j/ H* A: V$ N/ G0 l2 M% j6 f好的,那我找找
 楼主| 发表于 2013-3-8 16:04:11 | 显示全部楼层 来自: 中国江苏南京
zhjailfq 发表于 2013-3-8 15:54 static/image/common/back.gif5 ~. w5 i" R- }5 |
看不懂啊,不过楼主貌似发错地方了,有二次开发的区

5 N8 V4 }/ H6 [5 \) w; g8 l- P- P好像没有专门是Solidworks二次开发的区
发表于 2013-3-8 20:18:50 | 显示全部楼层 来自: 中国湖北咸宁
楼主是编程高手啊
发表于 2014-7-24 15:07:09 | 显示全部楼层 来自: 中国重庆
你好,我最近也在做Solidworks二次开发,现在遇到点问题。你是怎么实现零件移动的,能不能指导一下我啊!十分感谢!我的qq:1633578693
发表于 2014-7-24 15:34:37 | 显示全部楼层 来自: 中国辽宁丹东
朋友用的语言是C吧?代码看不懂,如果VB略还懂些。
- X. p# b# Q0 C' `* f! z- O+ x我按VB的运用方式大致解释,供你参考。
, E3 q! {# d. t' c; S, r; j2 i我感觉应该是变量问题,移动要有坐标值,起点至终点,如果只能移动一次,说明你只给它一个终点的值,点击按钮或用时钟控件,它也只能移动在这个位置后不动了。
& w. T. b( x5 n3 g& D, R) ~6 q应该设一个变量,假如X方向每次移动单位2
& s+ S; F0 d6 MX目的值变量=X目的值变量+23 [% Z+ W: G8 Q" Q/ y" }5 i/ o
这样运用时钟控件的启动和停止,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 )

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