全球FlexSim系统仿真中文论坛

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

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

[复制链接]
跳转到指定楼层
1#
mymailmy001 发表于 2011-1-4 01:06:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用combiner做装配生产线,零件装配位置不正确,如何调整
7 u! D. K) S6 h" D; {) s0 G在什么地方设置,好心人发个图片说明一下
0 i8 l# A& j1 G3 G+ s* G6 r" }3 a4 @5 h0 E4 c) v5 J

- n! s8 C) P2 @/ a% y另:如果在离开COMBINER的时候,使实体显示导入的模型,在哪里设置
/ S  S+ h0 [2 b- D6 Y! j& L请指教,越具体越好,如果用代码,请举例具体格式
# Z" |$ X! ^  T& R( E我是初学,简化的答案我看不懂
9 i4 n. D$ z3 U# R8 i谢谢啦
2#
xiexiaoch134 发表于 2011-1-4 11:39:06 | 只看该作者
第一个问题可以参照本论坛的案例下载里面的“DVD装配”模型,调整零时实体位置可以在onentry触发器里面setloc。
) k  {' \" c% \2 H第二个问题,我不明白你的意思。请描述清楚。
3#
 楼主| mymailmy001 发表于 2011-1-4 13:47:09 | 只看该作者
本帖最后由 mymailmy001 于 2011-1-4 13:51 编辑
' k4 ^4 Y+ H  y; V* v2 g! m
3 Z+ k1 f* }8 ?" K4 @. Z1 W先谢谢,辛苦啦
9 b  S2 ^6 j9 w% [9 l( |# T其实我只想做出装配的效果,上边问的是我听说的两种解决办法,但我都不会/ O. k7 F9 S) Z* e
你说的在onentry触发器里面setloc我用过了,但是用于复杂部件定位很难,且多数位置需要坐标换算
" B& `6 T# u& j" j# a) E( e
9 Z) ^2 z, \& l第二个问题是这样的,如果把上一步骤装配好的东西做成一个3DS文件并导入Flexsim的临时实体库中,让临时实体离开COMBINER时显示这个装配好的模型,每一步都这样重复往,就实现每步装配后的效果了(QQ群听说的,还没弄明白),好像用触发器代码有个setobjectshapeindex(如下图),好像是往里输入代码,我不会。这种方法对么,能做到么?如果能行,请告诉我这个代码的格式好么。尝试了好多次,编译都不对。6 e4 y1 z) S% ]* E6 ?2 j! ?
D:\1.jpg
4#
 楼主| mymailmy001 发表于 2011-1-4 13:58:55 | 只看该作者
我不会发图片,图片发不上去,就是下面这段代码,
! U. Y& _* ~' n/ u" g) {; Q$ l3 X) ?$ h9 O: y5 p
fsnode* item = parnode(1);. g4 r" _( l& |" f1 Y
fsnode* current = ownerobject(c);
5 r5 ?% ^8 F4 g5 v- i//PROSESTART
9 \+ _, _* i2 P0 n0 x, L//Change the 3D shape of5 J; B% e" t* G% |: J
//PROSEEND
: i) ?) e) R  ~# ]fsnode* theobject =3 K0 |- t. |, ^' |+ O
//PARAMSTART& R$ I2 C( W0 U5 S# X, ]$ @) R
item ; g' o( i* |1 n8 z
//PARAMEND0 z9 E! o1 V' c  q% ]& V
;: Q0 d, _" s" u' L
//PROSESTART
& q% S# q3 g/ Y& O//object to shape index number/ q3 \( A) c- N$ J( ?; T
//PROSEEND
# f! N5 \! j6 X0 a
1 d4 z! i/ P( X& a2 w$ m! Yint theindex =
% R: b2 b% V; D0 R9 s6 j//PARAMSTART
4 }! f6 W" N7 a2 l2 U* m 1
8 d. y' W' u! K//PARAMEND# _# o; {' q" a- h% U/ R7 Q
;
+ x0 v4 D& y1 s! y' l  D//PROSESTART
+ N5 b" i* x1 u3 M3 [//.' B; J; N* y; E4 c" [, K* \4 E
//PROSEEND
- x. z! @" k$ Y- _4 [9 p/ k% I/ ?/ \( x# j6 a& t
setobjectshapeindex(theobject,theindex);
! U% h6 L8 n) j( B# k; D) b9 ?4 Q) j( F" u% R$ c
怎么用?8 x* G8 J* R+ N  g
如果这种方法可行,那么是在onentry里用,还是在onsetupfinish里用呢?* f6 L! a% b/ K+ l& Q8 K& e$ A
请指教!
5#
xiexiaoch134 发表于 2011-1-4 20:48:56 | 只看该作者
指教不敢当。
, c* i. {' l- `( }# ~/ T7 b第一个问题我也没有更好的办法,不过你可以试着了解坐标系之间的关系,你的组装是在组合器的坐标系下完成,所以这个跟系统坐标应该没有关系。你可以暂停运行的情况下,调整组件的坐标,让它达到理想的位置,然后记下坐标,再在相应的程序里面写下这些相对于组合器坐标的相对坐标。
& f" L+ r' _. l- v3 [8 v第二个问题,你给出的这些代码,前面带“//”一行语句只是当作说明,不起作用。至于在哪个触发器里面写代码,你应该去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, 2025-6-28 08:12 , Processed in 0.079897 second(s), 13 queries .

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

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