QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
8天前
查看: 4245|回复: 16
收起左侧

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

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

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

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

x
我自己写的VB定义坐标,Z轴差了0。3呀,还望会VB的各位帮帮忙呀。不胜感激。 未命名.JPG 5 C8 Z6 H$ r7 q( f! ~7 r
' E  b) N# [* K6 ^; _) Q  J; V* g
. U* e/ ^; j2 M; W2 V  J
我是这样写的。
* F3 k! r2 `% N( q7 v0 c  a! d# s. C: V" l/ P+ e# Q
Dim XMAX, XMIN, YMAX, YMIN, ZMAX As Long
9 `& Y. x0 m; o" \* q
+ A% U2 D* A4 V' G; ~& BPowerMILL31.Connect
# H6 q5 E8 M; N3 V
* L2 M1 I0 g- m+ @$ x! _PowerMILL31.Execute ("Form BLOCK")
  t5 Y7 J, r8 |6 N8 y
+ y4 U0 j3 u& M1 u% ?/ ^3 q/ MPowerMILL31.Execute ("EDIT BLOCK ALL UNLOCK")7 k# [. I3 F. c1 k0 W2 W1 s
" X0 ^! @/ P9 A: {; @1 m
PowerMILL31.Execute ("EDIT BLOCK TOLERANCE 0.1")
& ?2 }& z0 N; z# H4 t( Z0 D0 C; \% N$ ~/ {$ K5 }
PowerMILL31.Execute ("EDIT BLOCK RESETLIMIT 0."): g6 x% V' R6 t- @% J* s
: B0 M$ Q) g, n
PowerMILL31.Execute ("EDIT BLOCK RESET")3 b& G# Q3 S( l& ?
& t# R7 e$ B( F8 M. u9 `) a
PowerMILL31.Execute ("BLOCK ACCEPT")" X! a, h4 L( |  P

: p- N% U% O. A6 t, q. Y* FZMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxZ")
% W% [1 P* X) F2 H9 @
, b; }) l! L6 d% g1 i$ cXMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxX")
' h( G2 S- s6 F% i" s5 ~7 o3 X  ]- {3 |9 N) N1 x$ B: S, L4 V6 T( R
XMIN = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MinX")2 C8 v/ N1 i- `" ^

7 @; j& ]% j/ P( h  DYMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxY")' T6 @' D0 }% K

7 d% k2 @' T* H0 l9 vYMIN = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MinY")! o1 e) w! f. K/ u) s2 z6 x
: g( J2 e* l% @% ?
PowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEX  " + CStr(-(XMAX - (XMAX - XMIN) / 2)))0 ^8 q! r1 s0 B! X2 M6 V$ `3 E

' f2 Y0 U2 |1 T( L; l) B- CPowerMILL31.Disconnect
( y. ?* V7 e( i. U+ U  Z: p% B# Q  i$ P$ w
End Sub
1 t* L* j( t$ J, ~  {8 Z, L, k+ p4 m, U' e# b8 g& \1 {
Private Sub Form_Load()
8 s$ m/ i4 T4 ~+ {3 \  c+ g% L. s! Y, k+ h1 U- H2 Q
PowerMILL31.Connect psStartPowerMILL! x: ?% G: B/ Q' i! X. A5 V
# B; L8 B0 e, w/ `) h' c
End Sub
发表于 2009-1-1 11:02:59 | 显示全部楼层 来自: 中国浙江杭州
PowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEX  " + CStr(-(XMAX - (XMAX - XMIN) / 2)))7 a7 Z! o- O3 ?; D
; B% d( O# C7 _& K' B4 P% R% x, J
) O5 [9 k- B/ V4 l1 d
这个不是自动建立坐标的命令啊! u# ~2 G3 L% k4 [  |, B; w
& l6 o6 W2 a) z2 B6 D+ O0 [' f# n3 V+ j
$ Q5 C+ Y& O7 g
要使用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
' K- y' G1 w3 N6 U2 x5 k2 M! E8 m你好,我是想在没有建立工作坐标的情况上,把世界坐标移到最高点。你说要使用那个自动建立坐标的命令,应该是自己先产生一个坐标。然后再自动居中,对吗。  可是我的想法是,在没有建立用户坐标的情况下,自动把世界 ...
, O3 b1 d# ?  M' c
7 R: t9 a4 S- w- ~

! `! D7 Q' w' M$ ]这个功能JIM会,你问他
发表于 2009-1-1 21:43:50 | 显示全部楼层 来自: 中国浙江杭州
原帖由 dazhi518 于 2009-1-1 17:28 发表 http://www.3dportal.cn/discuz/images/common/back.gif
6 l/ u# I9 I! t5 S5 `# r+ J还有一个问题,就是,我启动自己编的程序之后,比如我点一下“X分中,Y分中,Z最顶部”坐标定好后,我再去点击powermill去查看工件,那个坐标器就藏到powermill后面了,之有再把powermill最小化才能看到。如果我想点 ...

% A+ O2 @" }0 h7 \' S3 F
/ @- S9 z8 M+ H& d8 E* k/ c2 ^4 l" H6 M/ Q0 i4 {

5 p7 J, B( Q+ R+ R: N这种情况,我没碰到过
发表于 2009-1-2 07:29:00 | 显示全部楼层 来自: 中国广东深圳
原帖由 dazhi518 于 2009-1-1 17:28 发表 http://www.3dportal.cn/discuz/images/common/back.gif" H# k/ ~+ Y( E8 t* S" M
还有一个问题,就是,我启动自己编的程序之后,比如我点一下“X分中,Y分中,Z最顶部”坐标定好后,我再去点击powermill去查看工件,那个坐标器就藏到powermill后面了,之有再把powermill最小化才能看到。如果我想点 ...

8 ?7 J% r1 G/ n/ @兄弟要的应该是“窗口总在最前端”的代码,论坛上我记的吉米好像发过,你找下,然后加进去试试
 楼主| 发表于 2009-1-2 18:12:03 | 显示全部楼层 来自: 中国山东烟台
我的意思就是窗口总在最前端。谢谢老刘同志的提醒。
发表于 2009-1-3 08:48:52 | 显示全部楼层 来自: 中国浙江杭州
dcam_window_ontop hwnd
0 Q! s3 p* a, j! x: Q/ F8 k. Z1 }
* A8 b5 x# Y( w$ z+ S
模组编程中,用我上面这个代码就可以实现窗体总在最前面(放在定时器事件下)- O. W$ D0 }) g* O- }; ~  f' Q
( b* [7 R/ T, L& X) T

5 K% ]0 O1 S3 }' [模组代码如下6 Y. Q8 m# P  u3 B; H
Public Sub dcam_window_ontop( hwnd As Long )
8 G3 K5 H8 I# D) N3 ^" ]3 C  SetWindowPos hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE- C9 t1 P) [. ^- ~" A1 p
End Sub8 z& N) P. a2 ^. X4 \8 A
7 c+ W+ V$ f4 L/ e
[ 本帖最后由 hh749 于 2009-1-3 08:52 编辑 ]
 楼主| 发表于 2009-1-4 10:23:51 | 显示全部楼层 来自: 中国山东烟台
谢谢老大。。。
 楼主| 发表于 2009-1-4 17:05:09 | 显示全部楼层 来自: 中国山东烟台
我把Z轴设在最高点。是这样编的,可是移不到位呀。。还请帮助解决。" e. _4 T. }$ k5 q5 o6 t& t
2 e( k, m, p. g* ]6 p
Dim ZMAX As Long
& {( b0 Q) j1 o# g3 o2 I- _1 `# nPowerMILL31.Connect
6 @# [- `. B3 _0 YZMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxZ")
( N" i# R  {8 S5 ?) KPowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEZ   " + CStr(-ZMAX))# M+ a3 K6 u! K
PowerMILL31.Execute ("TRANSFORM MODEL ALL")2 Q" l5 `, _$ r- |' c, @; L; G+ d
PowerMILL31.Disconnect
7 ?: t0 V* X5 s( P: V! L" n# }) X' J+ u! ?2 U  m) \2 h) W
Z轴不在最高点呀,有时候还高出最高点。是什么原因,是不是因为long是长整形数值呀。。。
 楼主| 发表于 2009-1-4 18:54:33 | 显示全部楼层 来自: 中国山东烟台
Z轴移不到位的问题,本人已经自己解决了,原来是变量高错了。我试了一下把long(长整型)改为double(双精度型)。然后就OK了。
. s, V/ k# }! P" a  x, Y$ p( P8 q
+ N4 n: y( a5 |7 Y0 s# E还请问老大,怎样模组编程呀。
发表于 2009-1-4 20:36:00 | 显示全部楼层 来自: 中国浙江杭州
原帖由 dazhi518 于 2009-1-4 18:54 发表 http://www.3dportal.cn/discuz/images/common/back.gif
! V( ^5 r9 y# e7 f1 X  h8 \( {* w. `Z轴移不到位的问题,本人已经自己解决了,原来是变量高错了。我试了一下把long(长整型)改为double(双精度型)。然后就OK了。0 E4 C$ S6 k+ y* s

" ]. r1 _- y8 X还请问老大,怎样模组编程呀。

/ N  \; K. H! R' Y% q: s
0 a$ V% k( @% C8 i) L0 s* I! T8 K( o. P5 S
; N3 h* t# ?2 J4 F; v$ @
模组编程请看本版快教程
) \# p3 J6 @5 b4 |PowerMILL二次开发 高级篇(一) 摆脱PowerSolutionOLE.ocx的噩梦 4 P' a* C) D) d9 |( k- U, `

2 c6 i& T1 B/ T6 O- f1 `这里是讲模组编程的,如果你不知道模组,那我建议你再去好好学习下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 )

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