全球FlexSim系统仿真中文论坛

搜索
查看: 6604|回复: 9
打印 上一主题 下一主题

用combiner做装配生产线,零件装配位置不正确,如何调整

[复制链接]
跳转到指定楼层
1#
mymailmy001 发表于 2011-1-4 01:06:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用combiner做装配生产线,零件装配位置不正确,如何调整" z" O& A, N4 [/ I% S0 \9 L" D4 l
在什么地方设置,好心人发个图片说明一下8 w' Q& l# |" W) G8 b8 E

+ j& ~! p- z' _* ~" w
% d$ h. g  j( E5 a' x* y. {4 a另:如果在离开COMBINER的时候,使实体显示导入的模型,在哪里设置" N( d+ x2 m3 V+ y* e3 z
请指教,越具体越好,如果用代码,请举例具体格式. [0 S: ]) u; Q, t" V
我是初学,简化的答案我看不懂
5 s$ A; H( Z; K4 x1 C谢谢啦
2#
xiexiaoch134 发表于 2011-1-4 11:39:06 | 只看该作者
第一个问题可以参照本论坛的案例下载里面的“DVD装配”模型,调整零时实体位置可以在onentry触发器里面setloc。0 S* L' p" N* |  c$ Z. n$ ?
第二个问题,我不明白你的意思。请描述清楚。
3#
 楼主| mymailmy001 发表于 2011-1-4 13:47:09 | 只看该作者
本帖最后由 mymailmy001 于 2011-1-4 13:51 编辑
9 H" }0 x8 B2 s! N# X# m3 c3 G, a0 p: h" I" [
先谢谢,辛苦啦4 o+ S+ A7 @. M
其实我只想做出装配的效果,上边问的是我听说的两种解决办法,但我都不会
- d% r. j) a  x你说的在onentry触发器里面setloc我用过了,但是用于复杂部件定位很难,且多数位置需要坐标换算( Z; Y) c. Y7 y6 v  B1 _! R- N
: d1 P  J$ Y% \2 u1 O6 E4 t' t) I
第二个问题是这样的,如果把上一步骤装配好的东西做成一个3DS文件并导入Flexsim的临时实体库中,让临时实体离开COMBINER时显示这个装配好的模型,每一步都这样重复往,就实现每步装配后的效果了(QQ群听说的,还没弄明白),好像用触发器代码有个setobjectshapeindex(如下图),好像是往里输入代码,我不会。这种方法对么,能做到么?如果能行,请告诉我这个代码的格式好么。尝试了好多次,编译都不对。
4 B$ ~# O- K7 i( a1 oD:\1.jpg
4#
 楼主| mymailmy001 发表于 2011-1-4 13:58:55 | 只看该作者
我不会发图片,图片发不上去,就是下面这段代码,  k* e8 V0 `* ^* B
6 G1 Q$ A% k. K6 c2 q% b
fsnode* item = parnode(1);9 k( r+ B! O& P/ @0 X, a0 r
fsnode* current = ownerobject(c);
, e4 V2 y" h4 |7 O8 Y//PROSESTART
; B' w8 m( p+ U4 A3 U//Change the 3D shape of
# v# x* Z! R0 C: v- }. S//PROSEEND# w$ m; ^/ J# k
fsnode* theobject =+ ?" X# `1 j0 K8 d* q& K: n
//PARAMSTART
- }6 v" Y- i% G item
5 o! I4 m: w5 S3 w. j, e//PARAMEND
; P1 w6 K- J4 G) R+ @8 P$ Q* e2 S' t;
( x7 ]' J2 X6 Z) X4 C0 j//PROSESTART
& |$ H: Q# `0 }0 H7 l4 \//object to shape index number0 v0 Q+ {  K7 I' w$ W+ |
//PROSEEND' y) Z* Y- ~7 M

7 `% o1 [! |  k9 B% A6 e. h! Lint theindex =+ B; ^- ]! D6 A; a
//PARAMSTART
% E1 [& G! A6 Z 1
: z8 T& G4 a9 a$ `: D/ k//PARAMEND
) P: t( O7 y8 Y0 H2 F) Z, L;
! E& @- w8 }, p+ m& a( X//PROSESTART
- {5 `2 `  B' T# }2 Y( A//.4 v0 \# s$ u. ]& g( |5 D
//PROSEEND
+ S2 \! V$ l" T3 _# w) s# a, L
5 h6 c3 F: G. |- vsetobjectshapeindex(theobject,theindex);
; S* i) i: C; K8 \5 y
, ?0 V- X/ m+ A. }* Q2 G怎么用?1 i% T* `2 V- z- S, B! {
如果这种方法可行,那么是在onentry里用,还是在onsetupfinish里用呢?+ Z9 b( G8 ?2 u! Q
请指教!
5#
xiexiaoch134 发表于 2011-1-4 20:48:56 | 只看该作者
指教不敢当。
- N* I" }- P. V5 }+ V第一个问题我也没有更好的办法,不过你可以试着了解坐标系之间的关系,你的组装是在组合器的坐标系下完成,所以这个跟系统坐标应该没有关系。你可以暂停运行的情况下,调整组件的坐标,让它达到理想的位置,然后记下坐标,再在相应的程序里面写下这些相对于组合器坐标的相对坐标。1 C% ^# f+ ?) G  U
第二个问题,你给出的这些代码,前面带“//”一行语句只是当作说明,不起作用。至于在哪个触发器里面写代码,你应该去help文档里面了解相应的触发器是什么时候才会触发,然后决定在哪里写代码。setobjectshapeindex可以实现你要的功能。具体代码怎么写请参考help》command的相应指令介绍。一般代码都不需编译的,应用ok就行了。
6#
 楼主| mymailmy001 发表于 2011-1-5 00:40:35 | 只看该作者
我是初学的,能得到帮助非常感激!
7#
wang-csn 发表于 2011-3-12 18:15:29 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
8#
wang-csn 发表于 2011-3-12 18:20:02 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
9#
Rosalyn 发表于 2011-3-16 21:28:57 | 只看该作者
楼主应该是用3.0做的,setobjectshapeindex的第二个参数,应该是在工具箱里的导入媒体文件里查找你导入的图片序列号,也可以用getshapeindex("D:\Program Files\Flexsim3ChDemo\fs3d\OperatorFRAME5.3DS")这是一个绝对路径的引用,如果模型和图片在同一文件夹下可以直接写getshapeindex("OperatorFRAME5.3DS")
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|全球FlexSim系统仿真中文论坛 ( 京ICP备14043114号-2 )

GMT+8, 2024-11-1 08:38 , Processed in 0.097752 second(s), 14 queries .

Powered by Discuz! X3.3© 2001-2013 Comsenz Inc.

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