QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
我自己写的VB定义坐标,Z轴差了0。3呀,还望会VB的各位帮帮忙呀。不胜感激。 未命名.JPG
# S; @$ R+ G4 F; S5 j) I) u; s8 l
* y7 }4 I# m4 p% i, y
! A  N  m! c7 ~- A我是这样写的。, t" ^9 E  i. b: e

, l: z6 c* W# y; JDim XMAX, XMIN, YMAX, YMIN, ZMAX As Long+ v1 A+ \" @  O+ X
0 V" r; i1 Y; X" ]; o; i
PowerMILL31.Connect
: F" W" s' ^9 r- B6 q; F6 P! @6 X5 E2 z
PowerMILL31.Execute ("Form BLOCK")( p) }1 {. p$ S

* a8 c) R% m& J$ Z+ uPowerMILL31.Execute ("EDIT BLOCK ALL UNLOCK")
2 q; ^( b, |5 p6 O9 N7 @1 b% t8 c* V3 u& R2 L
PowerMILL31.Execute ("EDIT BLOCK TOLERANCE 0.1")
: u6 d* _0 Q6 i
4 s5 s5 ~/ }( ]2 q' t4 {PowerMILL31.Execute ("EDIT BLOCK RESETLIMIT 0.")
# @" N: Y- W. Z  O% T
, g- W9 g& r9 [! f. ~PowerMILL31.Execute ("EDIT BLOCK RESET")/ M7 a- f3 e+ m. G8 U, n% ~

3 ?! E0 H* J! o. y" uPowerMILL31.Execute ("BLOCK ACCEPT")
0 [. C0 u5 r. D$ B
+ n# U% s/ d* I! DZMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxZ")
0 h2 H- j; ^7 L2 l2 q2 z9 B  @1 w
$ o8 U# Y# G! |9 A8 Z& tXMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxX")
2 H2 x3 e+ x( h( B5 \: s# p( N# w1 t# ?* i
XMIN = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MinX")
+ V# I! l9 z6 s: {
& ^+ ]1 T$ m0 aYMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxY")4 ]$ w) s$ H9 Y. B% C' D0 V4 z
/ T2 |7 r3 L5 O* U5 E5 W
YMIN = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MinY")
3 {- R4 F  `* G  C/ x9 V5 J; [  a  t4 D1 c4 k9 b9 H
PowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEX  " + CStr(-(XMAX - (XMAX - XMIN) / 2)))
% K! ^" ^: H; f8 v% N9 F5 b# S8 H; V% _' A# V( ^
PowerMILL31.Disconnect
" h9 t2 S$ c( p  r2 M# I5 E" z. G8 v) q& U
End Sub4 u: c  z8 g# d( r
, I, p' D6 p% T7 w: `
Private Sub Form_Load()6 z* Q- X2 Y9 x

1 O# V  S/ }1 P% bPowerMILL31.Connect psStartPowerMILL/ Q) Q8 R& O" s: f; `
. a& B- l& M1 ~6 k% f( O
End Sub
发表于 2009-1-1 11:02:59 | 显示全部楼层 来自: 中国浙江杭州
PowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEX  " + CStr(-(XMAX - (XMAX - XMIN) / 2)))
  f8 Q+ ~/ [. ?7 `1 M( Q6 ]6 s

# ?8 Z6 E8 M' k这个不是自动建立坐标的命令啊. L$ H! I& K- b; m# ~8 G+ u4 R) N% L6 x

; O, n* |5 X) ]2 {0 M7 ~7 w# d9 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
- a& s' N. T1 f. Q+ f" ?5 V你好,我是想在没有建立工作坐标的情况上,把世界坐标移到最高点。你说要使用那个自动建立坐标的命令,应该是自己先产生一个坐标。然后再自动居中,对吗。  可是我的想法是,在没有建立用户坐标的情况下,自动把世界 ...

: v# d0 k; a) N5 B5 \# _8 S+ G+ P  D% e( Z9 p

4 D4 r$ _+ S* d这个功能JIM会,你问他
发表于 2009-1-1 21:43:50 | 显示全部楼层 来自: 中国浙江杭州
原帖由 dazhi518 于 2009-1-1 17:28 发表 http://www.3dportal.cn/discuz/images/common/back.gif0 g* |8 A0 |0 i( @6 `& m  _
还有一个问题,就是,我启动自己编的程序之后,比如我点一下“X分中,Y分中,Z最顶部”坐标定好后,我再去点击powermill去查看工件,那个坐标器就藏到powermill后面了,之有再把powermill最小化才能看到。如果我想点 ...

  i  J  y5 m/ ?7 T2 f8 d# @6 N& g: ^- h0 S
! U2 _3 ]8 X& m2 m! H
' T5 }- R8 k# a! Y4 n7 A3 @
这种情况,我没碰到过
发表于 2009-1-2 07:29:00 | 显示全部楼层 来自: 中国广东深圳
原帖由 dazhi518 于 2009-1-1 17:28 发表 http://www.3dportal.cn/discuz/images/common/back.gif
/ C, c8 l3 N, S- W还有一个问题,就是,我启动自己编的程序之后,比如我点一下“X分中,Y分中,Z最顶部”坐标定好后,我再去点击powermill去查看工件,那个坐标器就藏到powermill后面了,之有再把powermill最小化才能看到。如果我想点 ...
! C9 o/ J4 F! F
兄弟要的应该是“窗口总在最前端”的代码,论坛上我记的吉米好像发过,你找下,然后加进去试试
 楼主| 发表于 2009-1-2 18:12:03 | 显示全部楼层 来自: 中国山东烟台
我的意思就是窗口总在最前端。谢谢老刘同志的提醒。
发表于 2009-1-3 08:48:52 | 显示全部楼层 来自: 中国浙江杭州
dcam_window_ontop hwnd
: k( t9 v$ x. I* f- A/ I. W# r" e; P8 O
3 w8 i. E6 E; b. S7 v
模组编程中,用我上面这个代码就可以实现窗体总在最前面(放在定时器事件下)
( {9 W6 Z  U0 j4 V% P
# M+ B  N: M3 z- _6 ]( g- P, W9 j7 W: y$ `9 y( L; B: L7 X* [
模组代码如下5 u$ i  h) x* k# l7 k
Public Sub dcam_window_ontop( hwnd As Long )2 I8 G, _) b5 }5 ~, u4 _
  SetWindowPos hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
; F0 k0 K' s4 A& XEnd Sub
, D% u) D+ u9 M( Q6 F  G+ z! o
- p7 a/ L  v- I[ 本帖最后由 hh749 于 2009-1-3 08:52 编辑 ]
 楼主| 发表于 2009-1-4 10:23:51 | 显示全部楼层 来自: 中国山东烟台
谢谢老大。。。
 楼主| 发表于 2009-1-4 17:05:09 | 显示全部楼层 来自: 中国山东烟台
我把Z轴设在最高点。是这样编的,可是移不到位呀。。还请帮助解决。
+ D: o- V5 I  d" P* G
7 U/ C  T# y/ G; U; _Dim ZMAX As Long
/ x* U9 O8 D/ R* }& PPowerMILL31.Connect
2 p# c# |8 l! d2 Y& y1 gZMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxZ")
* V0 |7 E% n6 I  I( S  uPowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEZ   " + CStr(-ZMAX))
+ V0 ^; f, n% W+ v$ sPowerMILL31.Execute ("TRANSFORM MODEL ALL")( D" T0 _" j0 k+ i/ [( W0 g; ]* Z
PowerMILL31.Disconnect
' k. Y* r  ]5 y6 H: I5 @0 v+ K" c/ p+ R7 V1 `
Z轴不在最高点呀,有时候还高出最高点。是什么原因,是不是因为long是长整形数值呀。。。
 楼主| 发表于 2009-1-4 18:54:33 | 显示全部楼层 来自: 中国山东烟台
Z轴移不到位的问题,本人已经自己解决了,原来是变量高错了。我试了一下把long(长整型)改为double(双精度型)。然后就OK了。2 i+ Y0 B7 \2 V, O

& X* n! v: X) ]! W0 U. k6 `还请问老大,怎样模组编程呀。
发表于 2009-1-4 20:36:00 | 显示全部楼层 来自: 中国浙江杭州
原帖由 dazhi518 于 2009-1-4 18:54 发表 http://www.3dportal.cn/discuz/images/common/back.gif/ t/ c8 F! \9 ]% P
Z轴移不到位的问题,本人已经自己解决了,原来是变量高错了。我试了一下把long(长整型)改为double(双精度型)。然后就OK了。
! z+ t# e$ b; j! t9 N
0 A# |! n% t# }/ K- Y. G还请问老大,怎样模组编程呀。

( g8 i2 C! e" W& @3 V
8 w9 B! j- q( s4 i9 c- g2 ]; v, ~  p4 M$ w7 y* K

2 w  }+ \8 S9 F模组编程请看本版快教程
2 ^" ?& c' A9 t$ T% c" `1 Y7 O& kPowerMILL二次开发 高级篇(一) 摆脱PowerSolutionOLE.ocx的噩梦 0 w9 a0 P2 g/ Y# B2 _

. k" @) ^% b( j" r, W这里是讲模组编程的,如果你不知道模组,那我建议你再去好好学习下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 )

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