QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 4317|回复: 16
收起左侧

[已解决] 自动定坐标的出现问题了。

[复制链接]
发表于 2008-12-31 13:07:33 | 显示全部楼层 |阅读模式 来自: 中国山东烟台

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

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

x
我自己写的VB定义坐标,Z轴差了0。3呀,还望会VB的各位帮帮忙呀。不胜感激。 未命名.JPG
- C/ O0 a! C* x5 w# J9 g- c9 F' i# T2 R" t% z0 G6 W  R. K, F1 s
. ]# `! L, u1 b4 u( t
我是这样写的。
) Z0 N) [4 _$ e4 O
( Q' K6 C! b1 J% m* s8 S" g3 |6 dDim XMAX, XMIN, YMAX, YMIN, ZMAX As Long8 M' r) i  h& P6 ]1 a1 h+ `. K  g
. G+ v- I' B& _3 |  }
PowerMILL31.Connect! R* B$ s! @/ V* q" b/ P

* V" R6 M# z- A0 I' P/ qPowerMILL31.Execute ("Form BLOCK")
, A* ~: w5 @0 F9 z
9 D+ w" x  N9 l! @PowerMILL31.Execute ("EDIT BLOCK ALL UNLOCK")) I) d% C* n1 I4 _
- I8 t, S+ U7 x+ i+ K
PowerMILL31.Execute ("EDIT BLOCK TOLERANCE 0.1")
. f$ D9 z( L% }/ m3 s/ U2 v# n4 Q$ y' ?) a$ O  o6 a
PowerMILL31.Execute ("EDIT BLOCK RESETLIMIT 0.")
8 O4 ?% m. q: b0 g7 Y' T4 G3 M% B; t+ b- F5 S
PowerMILL31.Execute ("EDIT BLOCK RESET")& ]) d& ~3 a- N& c& A7 R, E
  k; m0 n& X" ~
PowerMILL31.Execute ("BLOCK ACCEPT")- A- Z5 t4 G. x2 D5 n! A9 I
1 D. K7 o& {) d8 G1 H- B
ZMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxZ"); y7 n; @  k0 ]' L
. f0 f) P  X: g  c8 ]
XMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxX")
# P1 q# P' y3 w5 _4 y( y% {* E3 l% R& {& ~% G/ i* g$ y( {+ E
XMIN = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MinX"): v8 F  E( t# ~7 E1 v7 R3 E

" t5 t/ ~& H: O5 p4 T2 GYMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxY")
( ^% D# B5 j( j" O% `0 D0 y9 }* r2 }" D, L' Z6 J
YMIN = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MinY")) d9 q4 `4 E& i4 {! ?
2 o; {$ |9 {5 r5 A7 Y
PowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEX  " + CStr(-(XMAX - (XMAX - XMIN) / 2)))' l- e4 I! P3 C, L6 \; f

8 o  j8 D5 W' i2 |  EPowerMILL31.Disconnect
5 w* P$ c; E8 B/ R, v. J4 e( O
2 O/ I6 E2 L# u) j- C- xEnd Sub! ~) H* G# S: D7 Z4 `  [

8 B7 P7 v; m) w4 b2 ?  VPrivate Sub Form_Load()
' w2 X7 t2 n6 [6 C; M  ?+ g$ K
/ @0 O9 u7 {+ _, |2 d) w* s2 ~0 U# ?/ b) fPowerMILL31.Connect psStartPowerMILL
: B+ v% d& p7 Q0 j8 [: S, Y7 T  `& m+ I& y) z; h
End Sub
发表于 2009-1-1 11:02:59 | 显示全部楼层 来自: 中国浙江杭州
PowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEX  " + CStr(-(XMAX - (XMAX - XMIN) / 2)))
; ?: l8 I8 ~( `) Y
7 i4 c) }$ K. B" ~  c! y; |3 U5 b7 l' }) U$ b: G$ E  t" |
这个不是自动建立坐标的命令啊
" J, _# D7 J6 e9 G* W8 B6 L9 W2 l3 E& n: d

" u( P4 ]" Z6 b) Y" F2 E要使用CREATE WORKPLANE命令,然后再对个轴坐标赋值
 楼主| 发表于 2009-1-1 11:22:08 | 显示全部楼层 来自: 中国山东烟台
你好,我是想在没有建立工作坐标的情况上,把世界坐标移到最高点。你说要使用那个自动建立坐标的命令,应该是自己先产生一个坐标。然后再自动居中,对吗。  可是我的想法是,在没有建立用户坐标的情况下,自动把世界坐标居中,如果建立了用户坐标,就自动把用户坐标居中,而世界坐标不变。我该用哪个命令呀。谢谢。
 楼主| 发表于 2009-1-1 17:28:07 | 显示全部楼层 来自: 中国山东烟台
还有一个问题,就是,我启动自己编的程序之后,比如我点一下“X分中,Y分中,Z最顶部”坐标定好后,我再去点击powermill去查看工件,那个坐标器就藏到powermill后面了,之有再把powermill最小化才能看到。如果我想点powermill的时候,坐标器还显示在powermill的窗体上,我该如何做。VB学的不太好,还请各位多多帮忙。不胜感激。
发表于 2009-1-1 21:43:11 | 显示全部楼层 来自: 中国浙江杭州
原帖由 dazhi518 于 2009-1-1 11:22 发表 http://www.3dportal.cn/discuz/images/common/back.gif
1 s6 f. U0 [, r+ e! E6 O你好,我是想在没有建立工作坐标的情况上,把世界坐标移到最高点。你说要使用那个自动建立坐标的命令,应该是自己先产生一个坐标。然后再自动居中,对吗。  可是我的想法是,在没有建立用户坐标的情况下,自动把世界 ...

1 Y4 t; ^6 l0 M% T4 U! b# j( D
! R3 F, y. T2 F. F4 ~: i4 p  g3 ]6 Z! e% i$ |' U' |+ v
这个功能JIM会,你问他
发表于 2009-1-1 21:43:50 | 显示全部楼层 来自: 中国浙江杭州
原帖由 dazhi518 于 2009-1-1 17:28 发表 http://www.3dportal.cn/discuz/images/common/back.gif  r6 I" L. z- _, }% c, o
还有一个问题,就是,我启动自己编的程序之后,比如我点一下“X分中,Y分中,Z最顶部”坐标定好后,我再去点击powermill去查看工件,那个坐标器就藏到powermill后面了,之有再把powermill最小化才能看到。如果我想点 ...

9 k1 X4 U1 |+ [' C9 J* `
( s+ }; Z  W, V" p2 v2 V& w' T0 x: U$ R+ t
% z9 b5 Z, Q9 Q
这种情况,我没碰到过
发表于 2009-1-2 07:29:00 | 显示全部楼层 来自: 中国广东深圳
原帖由 dazhi518 于 2009-1-1 17:28 发表 http://www.3dportal.cn/discuz/images/common/back.gif
/ H+ P% Q! l5 D/ G3 n还有一个问题,就是,我启动自己编的程序之后,比如我点一下“X分中,Y分中,Z最顶部”坐标定好后,我再去点击powermill去查看工件,那个坐标器就藏到powermill后面了,之有再把powermill最小化才能看到。如果我想点 ...

3 F3 P4 ~4 W% L4 h- S兄弟要的应该是“窗口总在最前端”的代码,论坛上我记的吉米好像发过,你找下,然后加进去试试
 楼主| 发表于 2009-1-2 18:12:03 | 显示全部楼层 来自: 中国山东烟台
我的意思就是窗口总在最前端。谢谢老刘同志的提醒。
发表于 2009-1-3 08:48:52 | 显示全部楼层 来自: 中国浙江杭州
dcam_window_ontop hwnd
" }" R2 L1 J9 `! l9 E* M. O2 V% a# B* r. d3 m8 W) J

  A/ t( k. L, H  [! s$ g模组编程中,用我上面这个代码就可以实现窗体总在最前面(放在定时器事件下)
3 g8 H: s* g5 w  O' x! j+ _; L6 N- U+ }5 n* d) }1 A
  A3 X% @( P& T% }9 \; a6 c( N) M
模组代码如下7 v1 V( Q! j- ^+ |) e) ^
Public Sub dcam_window_ontop( hwnd As Long )& \& R7 J# b7 `, |
  SetWindowPos hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
- p' X- m2 D- m1 xEnd Sub
' ~1 q4 u! r# @" I' }& U# b' q: V: K9 q' \5 _. h
[ 本帖最后由 hh749 于 2009-1-3 08:52 编辑 ]
 楼主| 发表于 2009-1-4 10:23:51 | 显示全部楼层 来自: 中国山东烟台
谢谢老大。。。
 楼主| 发表于 2009-1-4 17:05:09 | 显示全部楼层 来自: 中国山东烟台
我把Z轴设在最高点。是这样编的,可是移不到位呀。。还请帮助解决。
$ ]& U" R! l  B; ]( X0 e# X1 i/ G0 q0 k- y- o" M1 Y; m5 N8 L4 }$ _
Dim ZMAX As Long
- J! j' r( |: w1 a* IPowerMILL31.Connect
9 y( J2 t/ O2 JZMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxZ")' O4 h5 b4 ~+ ^+ u4 T. I; [/ J
PowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEZ   " + CStr(-ZMAX))8 `, u- W: T' a
PowerMILL31.Execute ("TRANSFORM MODEL ALL")
, h. V! n8 q" V# jPowerMILL31.Disconnect) a* B( V# @9 Z' ]+ h/ c( Q
: Y, i  W" P& t
Z轴不在最高点呀,有时候还高出最高点。是什么原因,是不是因为long是长整形数值呀。。。
 楼主| 发表于 2009-1-4 18:54:33 | 显示全部楼层 来自: 中国山东烟台
Z轴移不到位的问题,本人已经自己解决了,原来是变量高错了。我试了一下把long(长整型)改为double(双精度型)。然后就OK了。. G( `. G6 s& C: A1 \" ~9 `

. e  W; l+ Q3 ]- c还请问老大,怎样模组编程呀。
发表于 2009-1-4 20:36:00 | 显示全部楼层 来自: 中国浙江杭州
原帖由 dazhi518 于 2009-1-4 18:54 发表 http://www.3dportal.cn/discuz/images/common/back.gif" d5 M3 ]3 H' Q) S* B; W
Z轴移不到位的问题,本人已经自己解决了,原来是变量高错了。我试了一下把long(长整型)改为double(双精度型)。然后就OK了。
6 `+ Q8 `% U& s0 L2 D+ r
8 h6 {  y. h" v( _# L2 |* E6 ]还请问老大,怎样模组编程呀。

" Y: |+ f; X" o
) j. h6 N/ d8 h  v  ~
+ Z  I  }" P. j5 M/ }  C2 D: \1 J& e0 r! U4 g! Z8 X
模组编程请看本版快教程
. o9 L! I) U" J, U6 i; ^. g1 v9 H9 bPowerMILL二次开发 高级篇(一) 摆脱PowerSolutionOLE.ocx的噩梦
, ?( p) B7 W" j& Y; P( ?) I, k) K. [+ W9 Y5 Q, z  E/ b* m" ?
这里是讲模组编程的,如果你不知道模组,那我建议你再去好好学习下VB编程了
发表于 2010-6-19 04:22:29 | 显示全部楼层 来自: 中国广东深圳
整长是四舍五入的,最好不要用,要是遇到镶件是小数的,可能移不到中心。你这个代码最好在后面加个判断如果Y方向大于X方向。那么工件沿Z轴转90度
发表于 2010-6-19 05:06:25 | 显示全部楼层 来自: 中国广东江门
这个不是自动建立坐标的命令啊
发表于 2010-6-21 12:40:39 | 显示全部楼层 来自: 中国海南海口
把long改为Single就行了。就是整和小的问题了。。
发表于 2010-6-22 00:50:22 | 显示全部楼层 来自: 中国广东深圳
呵呵,以前学着看王大师的代码时,就发现这个问题了,铜公长宽一般都是整数还好,高度不是整数就出问题了
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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