全球FlexSim系统仿真中文论坛

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

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

[复制链接]
跳转到指定楼层
1#
mymailmy001 发表于 2011-1-4 01:06:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用combiner做装配生产线,零件装配位置不正确,如何调整
( y0 m) w0 ]' t$ G6 U9 v在什么地方设置,好心人发个图片说明一下; Z3 Z. b/ `& }% X8 n8 F
& q1 ?; d5 B$ w

; d- ?& k) I0 ]! k- P8 @* I另:如果在离开COMBINER的时候,使实体显示导入的模型,在哪里设置; @  T; d2 \5 }0 p7 t5 Y1 i
请指教,越具体越好,如果用代码,请举例具体格式( [; U  C! W, |/ N: g. V9 `9 @
我是初学,简化的答案我看不懂9 {9 D7 q0 K5 [: g  v( j
谢谢啦
2#
xiexiaoch134 发表于 2011-1-4 11:39:06 | 只看该作者
第一个问题可以参照本论坛的案例下载里面的“DVD装配”模型,调整零时实体位置可以在onentry触发器里面setloc。
0 g6 N5 p) }* M: i第二个问题,我不明白你的意思。请描述清楚。
3#
 楼主| mymailmy001 发表于 2011-1-4 13:47:09 | 只看该作者
本帖最后由 mymailmy001 于 2011-1-4 13:51 编辑 0 s) j. h6 T5 n# w
+ k% y; D( v0 H, n
先谢谢,辛苦啦
) Q1 J7 x. Q# z其实我只想做出装配的效果,上边问的是我听说的两种解决办法,但我都不会
  f7 N' g# I: e3 w. Y# [( |1 K$ ^你说的在onentry触发器里面setloc我用过了,但是用于复杂部件定位很难,且多数位置需要坐标换算
5 ]8 }0 z: F6 m% b1 ?2 K) \
8 P# s% Q0 [# k第二个问题是这样的,如果把上一步骤装配好的东西做成一个3DS文件并导入Flexsim的临时实体库中,让临时实体离开COMBINER时显示这个装配好的模型,每一步都这样重复往,就实现每步装配后的效果了(QQ群听说的,还没弄明白),好像用触发器代码有个setobjectshapeindex(如下图),好像是往里输入代码,我不会。这种方法对么,能做到么?如果能行,请告诉我这个代码的格式好么。尝试了好多次,编译都不对。
. ^) A) o8 ]; ]; P5 E5 w0 \: G9 hD:\1.jpg
4#
 楼主| mymailmy001 发表于 2011-1-4 13:58:55 | 只看该作者
我不会发图片,图片发不上去,就是下面这段代码,
( b2 b$ r5 X" Z4 I" h- a! c% p
6 d8 F" K$ K3 q# P) |& L# R3 ]4 dfsnode* item = parnode(1);* t0 E" t: v$ y% z8 g$ x
fsnode* current = ownerobject(c);6 |3 L7 y0 G, @8 y
//PROSESTART( ~/ s3 I( Q  G" L/ |4 C# a0 N, `
//Change the 3D shape of
' q; C, I/ D; w5 T$ H: F$ I//PROSEEND* t) h5 Q$ l6 G! i4 {" A
fsnode* theobject =4 `3 X1 `1 i2 k$ Y
//PARAMSTART
" e& l0 ~2 `# t: e( H7 ` item . o3 S9 ]/ A& f; l0 ?
//PARAMEND- j. r! X* e4 R. V
;
( s, U( J0 m' f//PROSESTART3 f! v$ b! Y, Q  x2 Z% l
//object to shape index number! |- w* N: A7 E
//PROSEEND
- u  e* t) l7 ~+ _& |+ l- R& K& R; S7 _
int theindex =% M, d! \: k& O: k. ~
//PARAMSTART/ ~8 |$ z9 L- ~8 ?' i4 G
1
  f+ N, n5 j' v6 N( B  V/ g( P3 B//PARAMEND6 B+ c/ v2 E/ D% v8 b
;
* `) Y. d/ ]8 k5 k+ v//PROSESTART
2 Y( x* `' b1 a2 u//.
. Z" }+ ?, L: H! y: V//PROSEEND3 Z/ N4 X* d0 v
8 I2 b* n9 y" B4 X& Z7 [( f
setobjectshapeindex(theobject,theindex);  v! A. Y# a. |8 O
7 l7 c1 M: v: ]6 i/ I
怎么用?2 N3 w  O1 C: Z6 ?$ F$ l6 ?8 [  D" U
如果这种方法可行,那么是在onentry里用,还是在onsetupfinish里用呢?
. I& P' j! j+ e/ O5 q8 ~/ e/ g6 m6 s请指教!
5#
xiexiaoch134 发表于 2011-1-4 20:48:56 | 只看该作者
指教不敢当。
, B* u7 P! f! A9 C3 Y% W第一个问题我也没有更好的办法,不过你可以试着了解坐标系之间的关系,你的组装是在组合器的坐标系下完成,所以这个跟系统坐标应该没有关系。你可以暂停运行的情况下,调整组件的坐标,让它达到理想的位置,然后记下坐标,再在相应的程序里面写下这些相对于组合器坐标的相对坐标。$ m; q. K, @" t  I% }' 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-6-28 11:01 , Processed in 0.087275 second(s), 13 queries .

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

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