QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
我自己写的VB定义坐标,Z轴差了0。3呀,还望会VB的各位帮帮忙呀。不胜感激。 未命名.JPG ; G/ j0 G/ M: a0 q1 w! K8 O! C; M

- t( a  A6 B! s4 ~
- z; o. @  l1 b) a" D3 |我是这样写的。' m$ a/ X  {3 k" x! Y0 F8 N* c% H+ X
' x4 H2 c' L2 s# n$ a! [; E! f" B
Dim XMAX, XMIN, YMAX, YMIN, ZMAX As Long$ m0 H3 i! d7 b+ Z

0 w0 M1 ~2 j2 x8 r  p" aPowerMILL31.Connect* G$ ?- |& |! L, M  S! ^* V

7 @  P8 `, @6 R9 z5 lPowerMILL31.Execute ("Form BLOCK")
: |) [) ?0 d6 a
2 X) u) \: G6 `# X" J0 Y+ [PowerMILL31.Execute ("EDIT BLOCK ALL UNLOCK"): D9 D- d1 o2 V) {+ u3 \3 j( Y- X
0 u2 R, c  ~# h! g) D" C
PowerMILL31.Execute ("EDIT BLOCK TOLERANCE 0.1")4 f3 s6 }6 E$ j6 c

0 M4 A. b- _& pPowerMILL31.Execute ("EDIT BLOCK RESETLIMIT 0.")7 R7 V- n1 `  `* J/ `
/ ^% T7 F6 v2 }" U8 t! d
PowerMILL31.Execute ("EDIT BLOCK RESET"). Y, O9 C! r) A6 _: g
6 z8 c! n+ O. \. O
PowerMILL31.Execute ("BLOCK ACCEPT")
* t, _- |0 e# p( V5 n6 P+ Q
4 H+ _  ~% c: U3 Y# K- r2 D. EZMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxZ")9 W# I5 U. P6 m( f! E3 O+ w
' B0 u  S  J, K3 j$ U
XMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxX")
5 I5 ~3 |. m# d" m& D3 Z% K+ P" D) E3 g8 f. @9 t# v0 o  e, T
XMIN = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MinX")
% Z9 G' Q; Y2 K6 e8 Z. I5 @
0 _1 `8 s" J4 l$ X+ G8 q0 `YMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxY")
( S: M7 o2 P( o" i; K6 o. I% M
# g- ^0 ~* v$ m( f" w0 G" v( Q- SYMIN = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MinY")  l* h: W, X1 F" ^  `) p
0 c: h0 f6 Q% d# L/ N4 c4 V
PowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEX  " + CStr(-(XMAX - (XMAX - XMIN) / 2)))
3 I2 H3 V! x4 t
5 M5 j: w" D- g6 sPowerMILL31.Disconnect& C/ [' s7 L' Y: Y2 ~
( p7 V0 Q# n7 w& n
End Sub+ x9 x& e" N0 P0 Z5 x, k

" K  c) v1 G8 ]3 y& w0 a' xPrivate Sub Form_Load()
' n/ R% L+ Y( b8 H# n6 s
7 d4 i9 V( ~6 \. d! @& _- RPowerMILL31.Connect psStartPowerMILL
0 x/ q0 I7 O( E( ~/ E8 e, \1 q% e" w- |" Z. A4 ?$ E! s2 R
End Sub
发表于 2009-1-1 11:02:59 | 显示全部楼层 来自: 中国浙江杭州
PowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEX  " + CStr(-(XMAX - (XMAX - XMIN) / 2)))
$ p5 n5 c! L( o* x0 R; I% l1 `. j" W' K: A3 }* `4 H4 o
, r- C- H* m" i( {& |+ c4 U/ g
这个不是自动建立坐标的命令啊
# A0 i$ p" S% f
9 ]- R* ^! r4 a3 p
5 v7 \& t, f& l要使用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.gif2 e9 E# Z+ P! m
你好,我是想在没有建立工作坐标的情况上,把世界坐标移到最高点。你说要使用那个自动建立坐标的命令,应该是自己先产生一个坐标。然后再自动居中,对吗。  可是我的想法是,在没有建立用户坐标的情况下,自动把世界 ...
& r$ k. L: n& `: t' p7 t9 v
+ m, S, U& I4 s3 \' c2 J8 ^
9 Y( F& Q+ \" ~
这个功能JIM会,你问他
发表于 2009-1-1 21:43:50 | 显示全部楼层 来自: 中国浙江杭州
原帖由 dazhi518 于 2009-1-1 17:28 发表 http://www.3dportal.cn/discuz/images/common/back.gif
/ M3 E) I, ^0 d还有一个问题,就是,我启动自己编的程序之后,比如我点一下“X分中,Y分中,Z最顶部”坐标定好后,我再去点击powermill去查看工件,那个坐标器就藏到powermill后面了,之有再把powermill最小化才能看到。如果我想点 ...

3 n% T: L5 O0 @% O" d, S7 |0 y* p
; C1 }4 c2 ^* W9 c4 i/ V( i6 M5 D9 a2 |
# h2 m0 g6 ?& L& _
这种情况,我没碰到过
发表于 2009-1-2 07:29:00 | 显示全部楼层 来自: 中国广东深圳
原帖由 dazhi518 于 2009-1-1 17:28 发表 http://www.3dportal.cn/discuz/images/common/back.gif+ T7 b" b8 m8 L2 k# [
还有一个问题,就是,我启动自己编的程序之后,比如我点一下“X分中,Y分中,Z最顶部”坐标定好后,我再去点击powermill去查看工件,那个坐标器就藏到powermill后面了,之有再把powermill最小化才能看到。如果我想点 ...

( u4 v+ O' n# n3 S4 x  O2 `% Q兄弟要的应该是“窗口总在最前端”的代码,论坛上我记的吉米好像发过,你找下,然后加进去试试
 楼主| 发表于 2009-1-2 18:12:03 | 显示全部楼层 来自: 中国山东烟台
我的意思就是窗口总在最前端。谢谢老刘同志的提醒。
发表于 2009-1-3 08:48:52 | 显示全部楼层 来自: 中国浙江杭州
dcam_window_ontop hwnd7 m% _- O* q- C+ o: p: D
, a* T2 m0 U" F; X7 C

+ O9 N  ?: Z6 d) `8 J7 a, K! A模组编程中,用我上面这个代码就可以实现窗体总在最前面(放在定时器事件下)8 \1 P' Y8 _! z; K9 I5 o  v! `
, L6 t" _% ]* Z0 T  a8 T3 Z- X

1 ~* _$ W" f% W模组代码如下
$ d, l1 K" @) B) T( r( C! A2 F) EPublic Sub dcam_window_ontop( hwnd As Long )
4 H  M4 ~5 O& `. n3 ^  SetWindowPos hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
- T6 c5 k; T; I0 e& D" x7 uEnd Sub
: \9 J2 y0 V& A: y+ o" V9 g( ]5 j3 w- d# N- I% M
[ 本帖最后由 hh749 于 2009-1-3 08:52 编辑 ]
 楼主| 发表于 2009-1-4 10:23:51 | 显示全部楼层 来自: 中国山东烟台
谢谢老大。。。
 楼主| 发表于 2009-1-4 17:05:09 | 显示全部楼层 来自: 中国山东烟台
我把Z轴设在最高点。是这样编的,可是移不到位呀。。还请帮助解决。
9 h/ W) u9 Q3 Y. A" a6 H) [& p, [6 p+ Y# S, y/ c
Dim ZMAX As Long( O2 N+ j* N3 ?. c* Q2 q
PowerMILL31.Connect) Y) e; |4 a/ O
ZMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxZ")
; ~" k+ z/ t# M6 ]5 n0 V) y8 VPowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEZ   " + CStr(-ZMAX))
" W8 L5 s2 @( W5 y$ ZPowerMILL31.Execute ("TRANSFORM MODEL ALL")2 s; p; t& W6 h6 A; N" b
PowerMILL31.Disconnect
. s# I. k9 n' e3 S
' i" H9 N  `' L2 }  U" s8 {Z轴不在最高点呀,有时候还高出最高点。是什么原因,是不是因为long是长整形数值呀。。。
 楼主| 发表于 2009-1-4 18:54:33 | 显示全部楼层 来自: 中国山东烟台
Z轴移不到位的问题,本人已经自己解决了,原来是变量高错了。我试了一下把long(长整型)改为double(双精度型)。然后就OK了。
/ A; F+ o5 f- m3 Z4 g! B; f' u8 i' N' @5 {% X
还请问老大,怎样模组编程呀。
发表于 2009-1-4 20:36:00 | 显示全部楼层 来自: 中国浙江杭州
原帖由 dazhi518 于 2009-1-4 18:54 发表 http://www.3dportal.cn/discuz/images/common/back.gif
% |! O# n5 }9 a3 b7 {" m2 @" BZ轴移不到位的问题,本人已经自己解决了,原来是变量高错了。我试了一下把long(长整型)改为double(双精度型)。然后就OK了。
- l3 ]4 v1 p, P
1 ?& ^7 S, r0 c9 d. z还请问老大,怎样模组编程呀。
/ I- Z1 c3 z# k8 u5 S: O

9 z  X, T7 I3 ~) H' b& u7 w1 g# j, n

/ E% M# `% q) \0 c- r9 r4 [模组编程请看本版快教程  }+ I" i4 Z3 ?7 C$ h5 h
PowerMILL二次开发 高级篇(一) 摆脱PowerSolutionOLE.ocx的噩梦
' t! o' R* l6 K" a
4 o6 \5 W8 Y+ [* E; D$ J# @7 Z这里是讲模组编程的,如果你不知道模组,那我建议你再去好好学习下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 )

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