QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
我自己写的VB定义坐标,Z轴差了0。3呀,还望会VB的各位帮帮忙呀。不胜感激。 未命名.JPG 1 Z* P8 R. `  a8 @: E
# \7 Q9 A" G; P) a' i

, p* H2 n2 `& q2 ?; E! q我是这样写的。/ i5 _8 ]  L4 _4 P* I1 s

0 ~0 i1 }$ w" y$ X# @7 p# _2 aDim XMAX, XMIN, YMAX, YMIN, ZMAX As Long
$ _0 `! s" P0 B( J, o1 D" v
  z" D2 |, ]6 v* S" i" [* U1 }PowerMILL31.Connect
+ A* ?- e1 ^2 j' u' d! f
+ A2 |' N. ]9 G0 v) U3 e6 TPowerMILL31.Execute ("Form BLOCK")/ D# `( d0 H# l' s$ b% J
  i* e* O! \1 t  {0 Z
PowerMILL31.Execute ("EDIT BLOCK ALL UNLOCK")/ K( N4 R8 U% n5 h

4 [) c" S: A! r, GPowerMILL31.Execute ("EDIT BLOCK TOLERANCE 0.1")$ X( e& A' K" [. ~9 |
% p! S& S: H) M! ?
PowerMILL31.Execute ("EDIT BLOCK RESETLIMIT 0.")7 p- i( @' ]2 y# z9 C8 J
3 {* V0 V  ~8 u  c
PowerMILL31.Execute ("EDIT BLOCK RESET")
! U; S4 i( D( T& y9 s- x' s/ T$ ~
) \& A- a7 {; a3 i9 @, ]5 YPowerMILL31.Execute ("BLOCK ACCEPT")3 l4 e$ r3 B5 k1 Z
2 `4 m- V/ O, V6 X; s" P# d
ZMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxZ")" h5 k0 J  W# v8 p  T
# j; D; \. X& p3 p# Y6 {2 \: ^
XMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxX")8 E* n1 A* m8 f; d) P' r
, o% S6 B8 P# I
XMIN = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MinX")
& c  M1 O0 i  ?9 ?( t$ R$ H9 P) D% z& P3 k; E
YMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxY")/ }6 }8 K/ v+ e% s$ N

# u7 F7 Y7 t7 S7 C! gYMIN = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MinY")9 K4 F( N$ ]- f7 @0 O/ H8 w

: `4 C& p! R8 R. v# vPowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEX  " + CStr(-(XMAX - (XMAX - XMIN) / 2)))6 w* [& h' T/ F$ \* y! M

, }5 N" M' Y) k0 T  q! WPowerMILL31.Disconnect% D3 ^+ O! W, ^# c5 m  x, r7 }
8 T. q4 s5 d- i: \- b+ Q
End Sub
7 l, V( Z& D  \2 Q
8 U% C# p5 C4 O( x5 Q2 UPrivate Sub Form_Load(); G+ W. O! v2 D
  W" b* ]+ I. m- `9 a# k6 p$ I8 {
PowerMILL31.Connect psStartPowerMILL
) w: |7 s6 Z& i1 ]! q  l
; G# c; j% ]2 aEnd Sub
发表于 2009-1-1 11:02:59 | 显示全部楼层 来自: 中国浙江杭州
PowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEX  " + CStr(-(XMAX - (XMAX - XMIN) / 2)))
) q: ?/ e- v& i0 I
4 f; `4 h9 t9 Y% ]+ j) V, x4 P0 F# L# H$ ~% v" E& m$ g  j0 _
这个不是自动建立坐标的命令啊
4 x) [& W6 o; V; _+ k: h( i
' D: M& X8 @1 a! ?9 n
2 ?! v! |2 R2 M+ b3 M- r$ 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.gif3 @. S* S$ ^3 F
你好,我是想在没有建立工作坐标的情况上,把世界坐标移到最高点。你说要使用那个自动建立坐标的命令,应该是自己先产生一个坐标。然后再自动居中,对吗。  可是我的想法是,在没有建立用户坐标的情况下,自动把世界 ...

4 C+ D) z- ?, `; H" V3 e' r: l* `$ `* N& ^( j
1 K! J( J$ S: T- \: S
这个功能JIM会,你问他
发表于 2009-1-1 21:43:50 | 显示全部楼层 来自: 中国浙江杭州
原帖由 dazhi518 于 2009-1-1 17:28 发表 http://www.3dportal.cn/discuz/images/common/back.gif
: p6 i' o( M' w) P' x, R  n% x还有一个问题,就是,我启动自己编的程序之后,比如我点一下“X分中,Y分中,Z最顶部”坐标定好后,我再去点击powermill去查看工件,那个坐标器就藏到powermill后面了,之有再把powermill最小化才能看到。如果我想点 ...

& a7 c/ u7 X% q2 `' K3 W
- A1 |. B0 J8 G% _: L. l% r; |
. J) e) F4 N' g: |3 ]  q# j) ^5 I! D, A8 |6 _$ c6 ]- b, q+ M
这种情况,我没碰到过
发表于 2009-1-2 07:29:00 | 显示全部楼层 来自: 中国广东深圳
原帖由 dazhi518 于 2009-1-1 17:28 发表 http://www.3dportal.cn/discuz/images/common/back.gif
: v4 f& I. |/ s& ?* }7 k  P还有一个问题,就是,我启动自己编的程序之后,比如我点一下“X分中,Y分中,Z最顶部”坐标定好后,我再去点击powermill去查看工件,那个坐标器就藏到powermill后面了,之有再把powermill最小化才能看到。如果我想点 ...

* h% J% r' u( ^兄弟要的应该是“窗口总在最前端”的代码,论坛上我记的吉米好像发过,你找下,然后加进去试试
 楼主| 发表于 2009-1-2 18:12:03 | 显示全部楼层 来自: 中国山东烟台
我的意思就是窗口总在最前端。谢谢老刘同志的提醒。
发表于 2009-1-3 08:48:52 | 显示全部楼层 来自: 中国浙江杭州
dcam_window_ontop hwnd
! f+ `% v+ J) A0 b2 O3 {- u( D$ P4 Q) C5 z+ d6 s

) O4 \7 e, l+ ^! s, ~模组编程中,用我上面这个代码就可以实现窗体总在最前面(放在定时器事件下): N4 Z5 w8 ]* h. c2 b: {
3 R$ Y$ O- r+ `, I8 {

7 _1 @/ C2 I+ T! G; L模组代码如下
$ [! ]" _' I1 R+ x" j8 cPublic Sub dcam_window_ontop( hwnd As Long )
& v  y& K% c* M$ O  F4 }: d: k" O+ p- [  SetWindowPos hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE4 b) K3 f3 `0 W; C! ]  q
End Sub6 N8 P) N; P9 ^

2 R8 ^' c: i: ^  M) G[ 本帖最后由 hh749 于 2009-1-3 08:52 编辑 ]
 楼主| 发表于 2009-1-4 10:23:51 | 显示全部楼层 来自: 中国山东烟台
谢谢老大。。。
 楼主| 发表于 2009-1-4 17:05:09 | 显示全部楼层 来自: 中国山东烟台
我把Z轴设在最高点。是这样编的,可是移不到位呀。。还请帮助解决。
1 a  \" t: S$ D7 A
- B4 R+ Q) m- Q. VDim ZMAX As Long$ t. G8 D/ M, @0 V4 d
PowerMILL31.Connect5 {* \3 R# b+ R* s" K5 h. Y/ ?2 D
ZMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxZ")
0 h+ S0 W4 F8 _2 ]# j. b1 M$ fPowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEZ   " + CStr(-ZMAX))
' k5 s: X1 t* c1 P* ?* N+ X" zPowerMILL31.Execute ("TRANSFORM MODEL ALL")& T* }; m8 z$ K7 k# O
PowerMILL31.Disconnect
8 J$ z8 ]! n: ?5 t0 ~, N9 k! J3 l& c& g, Q+ T7 [, h
Z轴不在最高点呀,有时候还高出最高点。是什么原因,是不是因为long是长整形数值呀。。。
 楼主| 发表于 2009-1-4 18:54:33 | 显示全部楼层 来自: 中国山东烟台
Z轴移不到位的问题,本人已经自己解决了,原来是变量高错了。我试了一下把long(长整型)改为double(双精度型)。然后就OK了。3 I7 c. ^& F! r3 E
  b3 Y% {% D" p
还请问老大,怎样模组编程呀。
发表于 2009-1-4 20:36:00 | 显示全部楼层 来自: 中国浙江杭州
原帖由 dazhi518 于 2009-1-4 18:54 发表 http://www.3dportal.cn/discuz/images/common/back.gif
7 p' S$ m1 J" u' \$ M! ?, ?Z轴移不到位的问题,本人已经自己解决了,原来是变量高错了。我试了一下把long(长整型)改为double(双精度型)。然后就OK了。
5 R, J7 `2 S* e/ e
9 w1 x/ u/ ?7 h还请问老大,怎样模组编程呀。

( U6 T* U7 @5 r$ N; ]4 k5 q& L+ S3 ^2 ~7 k* T! F
. n5 t- p- j( r! y4 v) @

% x' i% X* o0 f, A1 W模组编程请看本版快教程
* B5 l# E$ L# L) o( R) g! c2 sPowerMILL二次开发 高级篇(一) 摆脱PowerSolutionOLE.ocx的噩梦
( E9 H% V. Q2 h  G
+ _8 A. M' u# I# w7 p2 l  p这里是讲模组编程的,如果你不知道模组,那我建议你再去好好学习下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 )

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