QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
我自己写的VB定义坐标,Z轴差了0。3呀,还望会VB的各位帮帮忙呀。不胜感激。 未命名.JPG
3 w8 f3 I" n+ E/ F' B8 p" C) \6 l  J1 G, b

6 v3 m5 [/ L! H& k  ?4 t我是这样写的。
3 G5 T( V/ D, T' ^8 S
# `! H8 H- P  l$ O8 U4 _Dim XMAX, XMIN, YMAX, YMIN, ZMAX As Long
2 Y5 q3 N8 V3 D9 Y6 O- ~8 K/ }1 H7 B# X
PowerMILL31.Connect/ ~$ r+ R0 j  I2 t. G0 T  O( O
. H9 M8 O( G/ k8 v
PowerMILL31.Execute ("Form BLOCK")1 ]4 q: u$ j8 M9 x

) c* S1 ~9 {7 E' v9 U5 \+ H" p3 pPowerMILL31.Execute ("EDIT BLOCK ALL UNLOCK")& r. M2 h" r9 t( \

! o: g/ i! k1 Y$ uPowerMILL31.Execute ("EDIT BLOCK TOLERANCE 0.1")
9 ?- U0 e( z9 V& w6 [
& X) T# w7 H8 |+ |2 v0 PPowerMILL31.Execute ("EDIT BLOCK RESETLIMIT 0.")
0 {6 t+ R0 j$ X* g! L: n: D, {4 O+ N, s1 U/ B! N9 w
PowerMILL31.Execute ("EDIT BLOCK RESET")" }- q% P+ q. g9 }
4 y* M. l$ P) K# |4 {( E
PowerMILL31.Execute ("BLOCK ACCEPT")+ h3 A' v. Q  S3 p4 M) u
; a/ `& K6 I, n6 i
ZMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxZ")5 y' G. q$ d  E
; V2 |; g/ a& W- J9 w- W. N
XMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxX")" W! q6 [0 z2 b+ t
7 w" k' Q- X' c3 B) Z# m0 w7 Y
XMIN = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MinX")
6 M/ D5 R( p& ^. a( z, M  Y* R* h- i0 r2 _/ @; O1 T2 q* \
YMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxY")* @% x' L, m; a3 \8 M3 q2 B

" R1 Q" m, l3 s! C- f. C0 [YMIN = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MinY")
! p" l* J5 f0 y% j* k+ Q
: Q: O. B' r* }4 rPowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEX  " + CStr(-(XMAX - (XMAX - XMIN) / 2)))9 M) \. r8 O4 L

& U. a. f' Y1 K4 [3 x4 @$ v. CPowerMILL31.Disconnect4 c3 p. q& a" q  i- Q
% z5 w0 U+ a1 j' z3 _3 s
End Sub
- Z- {% m- Z. q7 l- j7 w
# x: D" ?  X: @Private Sub Form_Load()0 Z& k# j' x; s4 W

/ r# R6 q  K8 u" K2 WPowerMILL31.Connect psStartPowerMILL
0 g4 E* b1 @/ R8 _8 m0 \4 o' K& U& [7 I6 k
End Sub
发表于 2009-1-1 11:02:59 | 显示全部楼层 来自: 中国浙江杭州
PowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEX  " + CStr(-(XMAX - (XMAX - XMIN) / 2)))2 J8 C% ~7 D+ k5 C+ s% Y
& j% Y2 v' q% |! {

9 y7 V1 Q( U- v3 r: p8 K这个不是自动建立坐标的命令啊! h$ _& {$ Y% b

; }' p% m; I# m# m4 L! Z2 K# a4 a$ L+ k! I4 c
要使用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
4 C4 V' U: ~; N你好,我是想在没有建立工作坐标的情况上,把世界坐标移到最高点。你说要使用那个自动建立坐标的命令,应该是自己先产生一个坐标。然后再自动居中,对吗。  可是我的想法是,在没有建立用户坐标的情况下,自动把世界 ...
/ M4 t4 E* C  w# V! x6 g0 F+ u2 ], s

. o0 e1 I  W+ V
3 v4 p& u0 W8 p( P" V5 }这个功能JIM会,你问他
发表于 2009-1-1 21:43:50 | 显示全部楼层 来自: 中国浙江杭州
原帖由 dazhi518 于 2009-1-1 17:28 发表 http://www.3dportal.cn/discuz/images/common/back.gif8 E* _6 u) ?# e% W/ H/ j
还有一个问题,就是,我启动自己编的程序之后,比如我点一下“X分中,Y分中,Z最顶部”坐标定好后,我再去点击powermill去查看工件,那个坐标器就藏到powermill后面了,之有再把powermill最小化才能看到。如果我想点 ...

- y" S  }1 |$ b4 r2 U5 n
2 U+ ~' X8 P. L% C- f# |* |2 g2 U3 [6 u5 p
& Z& D; o: {$ ^; T3 m( u8 l% T
这种情况,我没碰到过
发表于 2009-1-2 07:29:00 | 显示全部楼层 来自: 中国广东深圳
原帖由 dazhi518 于 2009-1-1 17:28 发表 http://www.3dportal.cn/discuz/images/common/back.gif
* H) Y% |2 b3 R还有一个问题,就是,我启动自己编的程序之后,比如我点一下“X分中,Y分中,Z最顶部”坐标定好后,我再去点击powermill去查看工件,那个坐标器就藏到powermill后面了,之有再把powermill最小化才能看到。如果我想点 ...

4 ?  F* h1 \; i, H8 J6 B5 B兄弟要的应该是“窗口总在最前端”的代码,论坛上我记的吉米好像发过,你找下,然后加进去试试
 楼主| 发表于 2009-1-2 18:12:03 | 显示全部楼层 来自: 中国山东烟台
我的意思就是窗口总在最前端。谢谢老刘同志的提醒。
发表于 2009-1-3 08:48:52 | 显示全部楼层 来自: 中国浙江杭州
dcam_window_ontop hwnd
# @8 w4 [4 z) X
2 X$ s  _4 m3 F4 {  _
; c! h' R/ _1 Y3 Z# D9 u模组编程中,用我上面这个代码就可以实现窗体总在最前面(放在定时器事件下): l( @1 ^8 g5 ^: E
6 ~( M& C* g# I  |6 O# m: }0 K% F
1 x( z2 u7 w# t9 t* n! B0 E
模组代码如下
6 \3 L0 h" N1 k0 E( SPublic Sub dcam_window_ontop( hwnd As Long )
% h- }# K# e% A3 ~1 Y& u: W2 y  SetWindowPos hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
4 b" M9 i6 ~. T; ?- V& |End Sub
5 E) _& ?; v  a* J) O5 ^+ h; p  V# i& Z  N' h3 n2 Z# l6 l) q
[ 本帖最后由 hh749 于 2009-1-3 08:52 编辑 ]
 楼主| 发表于 2009-1-4 10:23:51 | 显示全部楼层 来自: 中国山东烟台
谢谢老大。。。
 楼主| 发表于 2009-1-4 17:05:09 | 显示全部楼层 来自: 中国山东烟台
我把Z轴设在最高点。是这样编的,可是移不到位呀。。还请帮助解决。
7 m3 f$ f9 z9 ]4 W
$ R. `, @" r/ Y, `4 P) {% v. ^Dim ZMAX As Long
8 o) s" m6 I& u7 F1 W$ O- f0 y* APowerMILL31.Connect
& r# H5 h8 K$ a, P2 X) S( HZMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxZ")" t. v* a( y& r+ W8 f
PowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEZ   " + CStr(-ZMAX))* Q4 _4 N' W* d8 K6 G% L: a
PowerMILL31.Execute ("TRANSFORM MODEL ALL")
! S$ \) \  d, rPowerMILL31.Disconnect
7 z* l& l/ E/ D( l) Z) e* U
7 D0 k3 b3 ~9 p+ pZ轴不在最高点呀,有时候还高出最高点。是什么原因,是不是因为long是长整形数值呀。。。
 楼主| 发表于 2009-1-4 18:54:33 | 显示全部楼层 来自: 中国山东烟台
Z轴移不到位的问题,本人已经自己解决了,原来是变量高错了。我试了一下把long(长整型)改为double(双精度型)。然后就OK了。
" m5 V6 Y; O; g- w' q6 D- \3 Z1 R0 T$ T" a/ \* Y
还请问老大,怎样模组编程呀。
发表于 2009-1-4 20:36:00 | 显示全部楼层 来自: 中国浙江杭州
原帖由 dazhi518 于 2009-1-4 18:54 发表 http://www.3dportal.cn/discuz/images/common/back.gif9 f1 W) }' o/ s- n! _
Z轴移不到位的问题,本人已经自己解决了,原来是变量高错了。我试了一下把long(长整型)改为double(双精度型)。然后就OK了。
+ F% m* N! ]% m- \6 Y) b  ?! I2 Z0 }: r; U8 J
还请问老大,怎样模组编程呀。
4 d  B( K) f/ H* i2 y' v
8 r" N( ^" a% d3 a+ ?9 x7 {  `
$ N3 p1 Y* E5 B8 |" o, R) U* r
- N6 {; p1 \; ^& f) ^0 e8 N" H
模组编程请看本版快教程( G) B# U6 I* U) R. D/ H
PowerMILL二次开发 高级篇(一) 摆脱PowerSolutionOLE.ocx的噩梦 , e# ?# y% M, z2 M/ b
: {" l3 o: t! Z  r4 O+ ^
这里是讲模组编程的,如果你不知道模组,那我建议你再去好好学习下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 )

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