QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
我自己写的VB定义坐标,Z轴差了0。3呀,还望会VB的各位帮帮忙呀。不胜感激。 未命名.JPG
4 N9 `2 T3 C8 P* r% P" ~. H5 W- u- i1 z; _) |6 V& e

+ h. m8 m* v# Y, A$ }" z我是这样写的。
4 a7 [5 |% K$ F- \" [) K, t4 Z+ ~8 l/ A( q' _4 l2 ^4 `
Dim XMAX, XMIN, YMAX, YMIN, ZMAX As Long
* C& V' r# i( e2 `! T  B3 V# ?/ R+ B2 a' F/ e! n
PowerMILL31.Connect  c' ?5 V, A! h

0 [% Q8 ?8 [# `PowerMILL31.Execute ("Form BLOCK")$ b3 U: m+ [( j% }4 L" L; V, j
, k8 m6 |, j& j' A: S
PowerMILL31.Execute ("EDIT BLOCK ALL UNLOCK"); X, t# C* y9 [2 N( k) ^8 s" [1 U
9 }* u: u8 [3 Y# g
PowerMILL31.Execute ("EDIT BLOCK TOLERANCE 0.1")* B% N3 @" ]- B" i

6 |) ~) k: E3 h1 sPowerMILL31.Execute ("EDIT BLOCK RESETLIMIT 0.")
8 I5 C3 W3 ~- @
+ I3 v& d. X8 |& FPowerMILL31.Execute ("EDIT BLOCK RESET")
" _4 v  d. s3 D" K$ j" W! a# U3 [
. P( c' {( z; F; f$ i1 H5 U/ OPowerMILL31.Execute ("BLOCK ACCEPT")
, {/ Y5 H7 }# `# M7 c$ e7 I! x5 I) t& D
ZMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxZ"). y" q  P, x- b' D& L

$ o2 p5 Y; |6 B. QXMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxX")
& A% c8 Z" X! Q+ S" x2 K' V+ R4 h7 x# k/ C, z6 }- P1 r
XMIN = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MinX")
5 l# }/ b  o! v# z4 o5 j: b- W+ N. U, A) }4 r) h
YMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxY")' ~3 u5 L2 Z) c& J# Z# b

+ B% g  Q6 T! \! W- rYMIN = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MinY")7 Z; \- A8 y" L5 C1 l- Q

& ]. v0 P& ]: w- d4 _* I9 sPowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEX  " + CStr(-(XMAX - (XMAX - XMIN) / 2)))
. `) J6 C. x' x: {3 w4 r8 J: `5 q  Z
PowerMILL31.Disconnect
& ^( V( M" k. R: P1 k1 I/ a- Q8 b9 d8 B8 i
End Sub% j4 n: x# ~! |) b

. H- f9 v3 O0 K; L* T) C2 bPrivate Sub Form_Load()
" }5 e- S/ M' u6 o1 M* u; t
! j' r4 r4 t0 W9 m9 o* [1 u  dPowerMILL31.Connect psStartPowerMILL
+ r. L, `0 O9 W* e  j. T  S: a" n, j% m! N  d* Q
End Sub
发表于 2009-1-1 11:02:59 | 显示全部楼层 来自: 中国浙江杭州
PowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEX  " + CStr(-(XMAX - (XMAX - XMIN) / 2)))
" i1 g$ P: \8 u- S
% |. X# ~+ a& |: r2 s8 d/ }4 b- @/ p
" o: }( R1 D* c9 e. ?这个不是自动建立坐标的命令啊
$ i# t; s8 u& L, B2 P$ ^( h3 I
: P* H5 h* r4 ?9 ^& g9 U3 j5 {. H  y! u: Y5 i$ v) x' P
要使用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.gif0 _2 \4 n+ I8 h5 O
你好,我是想在没有建立工作坐标的情况上,把世界坐标移到最高点。你说要使用那个自动建立坐标的命令,应该是自己先产生一个坐标。然后再自动居中,对吗。  可是我的想法是,在没有建立用户坐标的情况下,自动把世界 ...
+ i+ H  r" g( m( |( l1 _
1 R: C  {/ @" U) C0 a( h9 b

4 \; U  C% @2 u9 G! Q! z! z" k这个功能JIM会,你问他
发表于 2009-1-1 21:43:50 | 显示全部楼层 来自: 中国浙江杭州
原帖由 dazhi518 于 2009-1-1 17:28 发表 http://www.3dportal.cn/discuz/images/common/back.gif' N' v# h, d, ]9 I7 W
还有一个问题,就是,我启动自己编的程序之后,比如我点一下“X分中,Y分中,Z最顶部”坐标定好后,我再去点击powermill去查看工件,那个坐标器就藏到powermill后面了,之有再把powermill最小化才能看到。如果我想点 ...
4 Y3 V2 j2 {# N- T! t: @2 R  P

7 b( [5 ]% q  ^& _
" Y* `& O# d& A2 ?( T- G% p2 \( N8 X; Q% F  `4 w/ l
这种情况,我没碰到过
发表于 2009-1-2 07:29:00 | 显示全部楼层 来自: 中国广东深圳
原帖由 dazhi518 于 2009-1-1 17:28 发表 http://www.3dportal.cn/discuz/images/common/back.gif
% W1 _% F6 n# I7 m* h' L1 x' A还有一个问题,就是,我启动自己编的程序之后,比如我点一下“X分中,Y分中,Z最顶部”坐标定好后,我再去点击powermill去查看工件,那个坐标器就藏到powermill后面了,之有再把powermill最小化才能看到。如果我想点 ...
9 j4 T) `7 V/ H7 n2 v$ j7 m' s$ j. p
兄弟要的应该是“窗口总在最前端”的代码,论坛上我记的吉米好像发过,你找下,然后加进去试试
 楼主| 发表于 2009-1-2 18:12:03 | 显示全部楼层 来自: 中国山东烟台
我的意思就是窗口总在最前端。谢谢老刘同志的提醒。
发表于 2009-1-3 08:48:52 | 显示全部楼层 来自: 中国浙江杭州
dcam_window_ontop hwnd2 S* h* f3 A8 l

) U+ R$ F0 R% M5 ]/ }, f3 J3 ^7 B, }1 X
模组编程中,用我上面这个代码就可以实现窗体总在最前面(放在定时器事件下)) Z# S2 O: i- _' _
8 {5 R  x. Q  ^) S
. W8 g' P- X  X  h4 E
模组代码如下
5 V" @6 f  X4 O9 M6 KPublic Sub dcam_window_ontop( hwnd As Long )
" X0 u5 w& G5 r$ o- q  SetWindowPos hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE9 b( U9 |# ~) z: i% n; e; G
End Sub
7 D& y6 c1 j  y" [4 w) _- R* }3 i% ^8 |- ~" ~4 W; U
[ 本帖最后由 hh749 于 2009-1-3 08:52 编辑 ]
 楼主| 发表于 2009-1-4 10:23:51 | 显示全部楼层 来自: 中国山东烟台
谢谢老大。。。
 楼主| 发表于 2009-1-4 17:05:09 | 显示全部楼层 来自: 中国山东烟台
我把Z轴设在最高点。是这样编的,可是移不到位呀。。还请帮助解决。
& T- ~) `2 v+ ?8 P2 C2 C( B' }$ Q! G/ ]- A! o# l
Dim ZMAX As Long' a' w1 C; |2 W4 {( O. W# g
PowerMILL31.Connect. [1 q( y# R- o, Y$ n
ZMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxZ")
7 Z9 k( B" ~* y% `' jPowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEZ   " + CStr(-ZMAX))
- E8 [, ?) N0 ~* _/ WPowerMILL31.Execute ("TRANSFORM MODEL ALL"). K6 L, y. S+ l( [* i
PowerMILL31.Disconnect# d& k, s/ A. k# |9 U! ?. i  M  m

2 R" D) X- }7 W& bZ轴不在最高点呀,有时候还高出最高点。是什么原因,是不是因为long是长整形数值呀。。。
 楼主| 发表于 2009-1-4 18:54:33 | 显示全部楼层 来自: 中国山东烟台
Z轴移不到位的问题,本人已经自己解决了,原来是变量高错了。我试了一下把long(长整型)改为double(双精度型)。然后就OK了。: q: t: K2 |; F% a8 \, ~  a. U
9 k  g7 L, {3 ^) c3 z! |  }. x
还请问老大,怎样模组编程呀。
发表于 2009-1-4 20:36:00 | 显示全部楼层 来自: 中国浙江杭州
原帖由 dazhi518 于 2009-1-4 18:54 发表 http://www.3dportal.cn/discuz/images/common/back.gif
6 K3 E; u: i2 u; C3 o; }Z轴移不到位的问题,本人已经自己解决了,原来是变量高错了。我试了一下把long(长整型)改为double(双精度型)。然后就OK了。7 B( O, M( q" u( p
. d$ T6 m1 \7 w- L# E2 P6 P
还请问老大,怎样模组编程呀。

& F5 O% d( T% Z( ]9 X3 o( o( Q) m* Y6 @6 q2 d
5 Q9 A& A2 G* [8 ?# L+ t, V
  s& s' P1 J3 K$ N0 \# R
模组编程请看本版快教程) _8 O& c6 |* M  \4 Z2 k' M- w4 a# b
PowerMILL二次开发 高级篇(一) 摆脱PowerSolutionOLE.ocx的噩梦 9 z* d, b  `8 @$ k

4 y' L" e6 H- J! D3 l4 M3 h这里是讲模组编程的,如果你不知道模组,那我建议你再去好好学习下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 )

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