全球FlexSim系统仿真中文论坛

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

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

[复制链接]
跳转到指定楼层
1#
mymailmy001 发表于 2011-1-4 01:06:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用combiner做装配生产线,零件装配位置不正确,如何调整
$ Z7 T- S7 g3 k+ G% V在什么地方设置,好心人发个图片说明一下
3 b& B. X  i& Y, _4 \% t
/ _/ N9 O+ L: E& Q* J+ I+ N2 B1 c/ `
另:如果在离开COMBINER的时候,使实体显示导入的模型,在哪里设置6 s6 o% d9 N- N' J0 t3 c
请指教,越具体越好,如果用代码,请举例具体格式% ^$ b$ E8 V  D" d  {+ b! C# Z; P8 r
我是初学,简化的答案我看不懂2 `) d' n3 o. B6 G4 |
谢谢啦
2#
xiexiaoch134 发表于 2011-1-4 11:39:06 | 只看该作者
第一个问题可以参照本论坛的案例下载里面的“DVD装配”模型,调整零时实体位置可以在onentry触发器里面setloc。
# W7 N. P5 @" `2 Z5 {7 B第二个问题,我不明白你的意思。请描述清楚。
3#
 楼主| mymailmy001 发表于 2011-1-4 13:47:09 | 只看该作者
本帖最后由 mymailmy001 于 2011-1-4 13:51 编辑 7 B5 u0 r8 E1 V3 |1 g+ I

0 U0 `# p& n/ b) h# f; b( k: l先谢谢,辛苦啦
0 E5 H" f$ v- R1 g# y! d7 q其实我只想做出装配的效果,上边问的是我听说的两种解决办法,但我都不会
& j  ?9 i% h8 Z& }你说的在onentry触发器里面setloc我用过了,但是用于复杂部件定位很难,且多数位置需要坐标换算' I4 E$ _* }5 d$ U8 W# I5 C

! G8 O4 @/ ^( p3 u( S9 t( {8 {第二个问题是这样的,如果把上一步骤装配好的东西做成一个3DS文件并导入Flexsim的临时实体库中,让临时实体离开COMBINER时显示这个装配好的模型,每一步都这样重复往,就实现每步装配后的效果了(QQ群听说的,还没弄明白),好像用触发器代码有个setobjectshapeindex(如下图),好像是往里输入代码,我不会。这种方法对么,能做到么?如果能行,请告诉我这个代码的格式好么。尝试了好多次,编译都不对。
( q+ F  O7 }3 I6 FD:\1.jpg
4#
 楼主| mymailmy001 发表于 2011-1-4 13:58:55 | 只看该作者
我不会发图片,图片发不上去,就是下面这段代码,, B! O/ B, {4 ?% Q7 |7 F9 q
( U1 s  f: A7 \+ v
fsnode* item = parnode(1);: d0 U1 Z6 S, d8 M* U6 r6 ~5 j2 \: F
fsnode* current = ownerobject(c);
2 _1 t4 d+ G( h9 T& H" a//PROSESTART4 |2 u4 E0 ^4 f1 H( _4 q* l
//Change the 3D shape of
0 x" t7 T' W/ }  s* V5 r//PROSEEND
; Z1 a) {$ u7 Q5 f1 kfsnode* theobject =
+ l5 K6 C; X3 f//PARAMSTART4 x# h9 t6 s! Q3 M
item
9 ~# ?$ Y" \+ N5 T//PARAMEND
# F2 I- }0 X, x( {) O" V6 h;
7 e$ F- K! i# b//PROSESTART, B' \% B- l$ @( o) y
//object to shape index number, z# _( O6 d0 K* H6 Q4 \: P
//PROSEEND! L  r( T+ g! g( h$ w
, @2 S2 ?; v% R) j' R9 K8 i' a
int theindex =
' U  y) W8 S( }7 c+ k. O//PARAMSTART4 O& ~6 [2 R' [- u
1 ( ]! k" b& }' ?. l7 t3 T
//PARAMEND- G  s2 ?7 v. C- G2 s# r
;
1 ?) \9 I& \( r( f3 [# m//PROSESTART$ b. Q. G* X' a% N
//./ N. `* g* D' M1 M; W9 r- [
//PROSEEND  E; [+ y; M. ?8 }; [- D2 i2 r

0 z- E* ?0 q) esetobjectshapeindex(theobject,theindex);
6 U" z) }, ]. ?& q, O& F: T/ A1 R9 K: p" o% a2 p+ b
怎么用?
- h9 U3 s+ S% g) d! w4 V) L如果这种方法可行,那么是在onentry里用,还是在onsetupfinish里用呢?/ A' N  S) _6 Z  x+ x8 p& P
请指教!
5#
xiexiaoch134 发表于 2011-1-4 20:48:56 | 只看该作者
指教不敢当。9 w) r7 E+ D* o/ Y. Y, b7 G
第一个问题我也没有更好的办法,不过你可以试着了解坐标系之间的关系,你的组装是在组合器的坐标系下完成,所以这个跟系统坐标应该没有关系。你可以暂停运行的情况下,调整组件的坐标,让它达到理想的位置,然后记下坐标,再在相应的程序里面写下这些相对于组合器坐标的相对坐标。8 o- s2 T% P0 y7 u0 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, 2025-5-12 20:53 , Processed in 0.076260 second(s), 14 queries .

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

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