QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
我自己写的VB定义坐标,Z轴差了0。3呀,还望会VB的各位帮帮忙呀。不胜感激。 未命名.JPG ) O9 R4 j/ I; ], G; h! |$ E# r

3 j" _% B6 h, z8 r/ H+ c$ h, g0 `; Q. ~
我是这样写的。
; K, H: X1 W$ O- `- \" ]1 A4 H, i7 z! P
Dim XMAX, XMIN, YMAX, YMIN, ZMAX As Long
( B6 m7 v  A# I7 n3 W, D$ U0 f0 C: U+ E$ K7 `$ ^
PowerMILL31.Connect
  S! s& X% B/ V' m0 p7 K5 B+ y$ A2 I, M* ~" p& S: B
PowerMILL31.Execute ("Form BLOCK")
! q, V$ ?: j& |4 T1 y( E0 G1 H- r0 h7 y2 ^3 h4 v9 ^- `! j
PowerMILL31.Execute ("EDIT BLOCK ALL UNLOCK")
1 A: |& [% V" ~5 u# N9 G* i: P1 R
PowerMILL31.Execute ("EDIT BLOCK TOLERANCE 0.1")" W* k2 _. F! \. O# L
8 {6 B$ i3 Y. m. R: ~' u$ w
PowerMILL31.Execute ("EDIT BLOCK RESETLIMIT 0.")) ~4 ?8 \# |' Y6 [

3 ~, `* g( C& `' G' F5 G7 C! H6 A5 @! [PowerMILL31.Execute ("EDIT BLOCK RESET")
  F* K4 A1 }4 D* R: }' h. w+ X/ r* K" t  O
PowerMILL31.Execute ("BLOCK ACCEPT")/ i7 f2 U: S# a

& `7 u$ k2 i8 e6 z& j/ U1 OZMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxZ")
9 N, h6 L7 g; i% X2 Z: w# Y: ], g% q  q3 a0 D, A1 u, `$ `
XMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxX")
) x3 ^. A9 G, Y. Z
. l5 ~2 @) ^3 hXMIN = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MinX")1 J) O5 `6 R* C  k; g0 d
( @' v- j: C6 P3 G
YMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxY")' t7 I9 A. ^" T) d$ x( F5 c1 {8 M

$ \/ w4 _9 X) ]( L* w" t" IYMIN = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MinY")
" D% Z" ~$ {/ c9 L7 M+ l* a3 [, L5 F- N: Z$ X: F0 q
PowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEX  " + CStr(-(XMAX - (XMAX - XMIN) / 2)))
' H0 p* w  Q9 E5 H1 i, C. X" \  B( ^: G% J
PowerMILL31.Disconnect% }% o0 Y* l- S) n: o

0 @; R( S2 E0 }$ F1 R0 gEnd Sub
% w$ @% W5 n. h7 z+ R! h7 ]
9 k  m  P+ X) {% q) K1 `Private Sub Form_Load()
. M. x* X8 ?. |4 k
  r, B/ |* |$ G6 t$ APowerMILL31.Connect psStartPowerMILL
0 L' b) ]( Y% c, [0 p" z) m8 x& }) x! |* W% r1 H7 \
End Sub
发表于 2009-1-1 11:02:59 | 显示全部楼层 来自: 中国浙江杭州
PowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEX  " + CStr(-(XMAX - (XMAX - XMIN) / 2)))4 D1 a$ J3 u6 U; X' D7 A
  V+ g/ [3 r4 ]3 }% h" a% |
9 j5 D9 k6 k; u# u6 x( |
这个不是自动建立坐标的命令啊
9 l% R6 s" }! G8 e/ x) j  K4 E* k: C
% f0 L3 S2 V. T) V6 I( Y* I+ A
要使用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, O) ]9 F0 L* W7 m
你好,我是想在没有建立工作坐标的情况上,把世界坐标移到最高点。你说要使用那个自动建立坐标的命令,应该是自己先产生一个坐标。然后再自动居中,对吗。  可是我的想法是,在没有建立用户坐标的情况下,自动把世界 ...
5 m6 {2 @, A4 z

& \" ]$ |0 o# e* a" B* j, G/ {7 M* ]' d0 {# [; T8 c  _
这个功能JIM会,你问他
发表于 2009-1-1 21:43:50 | 显示全部楼层 来自: 中国浙江杭州
原帖由 dazhi518 于 2009-1-1 17:28 发表 http://www.3dportal.cn/discuz/images/common/back.gif9 U& y7 z8 C8 t8 Z' n9 I3 S; U; ]
还有一个问题,就是,我启动自己编的程序之后,比如我点一下“X分中,Y分中,Z最顶部”坐标定好后,我再去点击powermill去查看工件,那个坐标器就藏到powermill后面了,之有再把powermill最小化才能看到。如果我想点 ...

: S# u4 _4 M9 w7 `4 t% z. e
* M$ }% N! T7 s4 v5 a; l( f% k+ J+ _- q( H% r
5 C2 r  Z7 }7 X# k$ k+ M% }: h
这种情况,我没碰到过
发表于 2009-1-2 07:29:00 | 显示全部楼层 来自: 中国广东深圳
原帖由 dazhi518 于 2009-1-1 17:28 发表 http://www.3dportal.cn/discuz/images/common/back.gif
4 x' x+ i+ V6 {$ k$ n/ [! l还有一个问题,就是,我启动自己编的程序之后,比如我点一下“X分中,Y分中,Z最顶部”坐标定好后,我再去点击powermill去查看工件,那个坐标器就藏到powermill后面了,之有再把powermill最小化才能看到。如果我想点 ...

. ^/ ^1 R/ q# d# K+ f7 a( {) t兄弟要的应该是“窗口总在最前端”的代码,论坛上我记的吉米好像发过,你找下,然后加进去试试
 楼主| 发表于 2009-1-2 18:12:03 | 显示全部楼层 来自: 中国山东烟台
我的意思就是窗口总在最前端。谢谢老刘同志的提醒。
发表于 2009-1-3 08:48:52 | 显示全部楼层 来自: 中国浙江杭州
dcam_window_ontop hwnd
4 ]" L- ?% V7 }
. s- r. R& W: d1 J$ o* D  x: ~. S
模组编程中,用我上面这个代码就可以实现窗体总在最前面(放在定时器事件下)
4 C4 x; ?  m# J4 e
# L- Z+ c* m3 \% Z9 N! }0 ]$ M% q5 l0 r" a% F1 G
模组代码如下
0 {2 S6 ?4 b+ w, K2 G2 B: x8 C5 G* JPublic Sub dcam_window_ontop( hwnd As Long )% g7 t% @2 W& E
  SetWindowPos hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
  \6 D3 j* C  v" @+ X3 X+ b8 u. IEnd Sub
/ ?3 X8 l, F2 T4 H8 [  n$ N" Z8 ?: s5 Y5 H  W4 B
[ 本帖最后由 hh749 于 2009-1-3 08:52 编辑 ]
 楼主| 发表于 2009-1-4 10:23:51 | 显示全部楼层 来自: 中国山东烟台
谢谢老大。。。
 楼主| 发表于 2009-1-4 17:05:09 | 显示全部楼层 来自: 中国山东烟台
我把Z轴设在最高点。是这样编的,可是移不到位呀。。还请帮助解决。
+ ^  q/ j0 z; N& m
7 _( T7 \5 ?: M7 m; }' Q4 j' jDim ZMAX As Long
+ F3 V$ v- V6 ?# m$ i" c/ VPowerMILL31.Connect
$ P$ ^* \2 Q2 X) i. o. A% Q) O$ lZMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxZ")/ m4 q/ Z! o1 ]" D/ H( {+ z
PowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEZ   " + CStr(-ZMAX))
6 }8 z, h/ Q4 C- ?! n5 F) {PowerMILL31.Execute ("TRANSFORM MODEL ALL")
* ~5 E7 z' {5 wPowerMILL31.Disconnect
: L  y' x' S) M& B6 M4 d) v5 g* O2 S' X8 @* S
Z轴不在最高点呀,有时候还高出最高点。是什么原因,是不是因为long是长整形数值呀。。。
 楼主| 发表于 2009-1-4 18:54:33 | 显示全部楼层 来自: 中国山东烟台
Z轴移不到位的问题,本人已经自己解决了,原来是变量高错了。我试了一下把long(长整型)改为double(双精度型)。然后就OK了。7 i: u5 J4 R2 G7 u. K2 _

* p9 K: B0 X8 \0 V  [$ d还请问老大,怎样模组编程呀。
发表于 2009-1-4 20:36:00 | 显示全部楼层 来自: 中国浙江杭州
原帖由 dazhi518 于 2009-1-4 18:54 发表 http://www.3dportal.cn/discuz/images/common/back.gif
% X$ _$ P. b+ M- P: C" K: i8 S* TZ轴移不到位的问题,本人已经自己解决了,原来是变量高错了。我试了一下把long(长整型)改为double(双精度型)。然后就OK了。
6 k9 J, A3 D! n  A5 E+ Q  K  F, t& h; u0 h1 E; z" }' n
还请问老大,怎样模组编程呀。

$ K8 r: k, A8 F9 |% a# g" P2 H. K( R- T& Q) |

$ m% T$ z$ d: d- G, F# A! O- }1 n! C8 U1 W& k
模组编程请看本版快教程  a' ~( J* |" b" R/ y
PowerMILL二次开发 高级篇(一) 摆脱PowerSolutionOLE.ocx的噩梦 1 {( F6 ^- b; M1 W
) I/ u  d2 C: V5 M4 n
这里是讲模组编程的,如果你不知道模组,那我建议你再去好好学习下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 )

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