QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
我自己写的VB定义坐标,Z轴差了0。3呀,还望会VB的各位帮帮忙呀。不胜感激。 未命名.JPG
! K& j# I3 U/ g& p  |
1 D/ H8 \( T( w1 B4 s0 U1 d. F# S6 e+ a8 ?5 ?4 p! y6 P
我是这样写的。' A- n# R4 H; F4 b  Q% C  A
4 K' k' U* \- o) C- e- \* `9 z
Dim XMAX, XMIN, YMAX, YMIN, ZMAX As Long. e1 h! I6 |6 x4 @' C1 X) F/ i" Q

; a& O" R6 }  E  T4 Y! l" g* i7 ~PowerMILL31.Connect2 T0 p* k# B- W0 w1 q8 u
' P4 t* C( ^: B% u5 d. B: E7 J
PowerMILL31.Execute ("Form BLOCK")
  M: P: X/ C7 M; b8 c5 }- d, N
0 m! w+ ^' v7 P$ y3 D; }1 PPowerMILL31.Execute ("EDIT BLOCK ALL UNLOCK")
* F; T3 g& C  [" W8 I! C# f3 c8 a  R! r; l/ c3 @
PowerMILL31.Execute ("EDIT BLOCK TOLERANCE 0.1")
# @, D' K" T) |; o  g( L. s; e' P
PowerMILL31.Execute ("EDIT BLOCK RESETLIMIT 0.")
' ~9 W/ ^5 T* F0 s. {" E& `7 I3 z4 q: n5 |' ~9 i2 N
PowerMILL31.Execute ("EDIT BLOCK RESET")4 X2 S# q* j: x- r; b2 d
" z+ C8 A4 E" C5 @1 X4 ?, V
PowerMILL31.Execute ("BLOCK ACCEPT")
1 w. }* W. I/ w: D, s* A7 y% A" z( L5 }' n
ZMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxZ")4 ?7 ^$ h: |( d- R

) J: O; G; u  [# X" cXMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxX")" D- ?$ c. P$ p( e& G

4 {" l; |5 _2 h9 s, g* s2 tXMIN = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MinX")* w4 f5 b8 c" j" O

3 @0 W& h6 D+ z" a3 S5 @2 WYMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxY")
( q7 I( v3 J+ W/ S! l* u; H, N6 l8 k3 t) E; b1 h0 w
YMIN = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MinY")0 x) |& [2 T# l3 o, J) R
- ?' q6 r5 s1 `1 }
PowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEX  " + CStr(-(XMAX - (XMAX - XMIN) / 2))). j% \9 t# q& g. C  N3 w# R

$ d- f( ?+ R+ g- lPowerMILL31.Disconnect
# Z; `# m0 B+ N: G& n$ m
9 @7 n/ W& k, B3 R- YEnd Sub; J# b3 t% F3 r. W# Z. T. a
0 S4 d: T) z( H) {1 b
Private Sub Form_Load()
% s! i3 v: i7 }: a6 W  ~
8 U/ |  j4 o; Q. |6 APowerMILL31.Connect psStartPowerMILL1 B" B) A5 x. k% ?  g$ }

  f: Z/ k+ d4 i" E' P" J  NEnd Sub
发表于 2009-1-1 11:02:59 | 显示全部楼层 来自: 中国浙江杭州
PowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEX  " + CStr(-(XMAX - (XMAX - XMIN) / 2)))! B( x4 P5 o9 V# [+ a
6 d1 c( I# D. W* ]- N

: }' E) H- m) F& X. S4 P& f这个不是自动建立坐标的命令啊* [4 t/ ~# ~% E

% g+ t7 C. C+ q
: c5 R; i6 u$ A, x要使用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
/ F: L% B7 ?2 v/ Z2 O- a你好,我是想在没有建立工作坐标的情况上,把世界坐标移到最高点。你说要使用那个自动建立坐标的命令,应该是自己先产生一个坐标。然后再自动居中,对吗。  可是我的想法是,在没有建立用户坐标的情况下,自动把世界 ...
3 e% G6 `. j( v+ F. W, l

, H/ M+ C3 D4 h3 f
; t4 l; Y, L" B# I0 @7 ~1 b这个功能JIM会,你问他
发表于 2009-1-1 21:43:50 | 显示全部楼层 来自: 中国浙江杭州
原帖由 dazhi518 于 2009-1-1 17:28 发表 http://www.3dportal.cn/discuz/images/common/back.gif
+ ?# u- H0 U9 @1 ~还有一个问题,就是,我启动自己编的程序之后,比如我点一下“X分中,Y分中,Z最顶部”坐标定好后,我再去点击powermill去查看工件,那个坐标器就藏到powermill后面了,之有再把powermill最小化才能看到。如果我想点 ...

+ s9 U% J7 B/ X0 d; f; F
( s3 ?, |1 m, {- X$ ~# a) R) V2 V1 y4 v+ t( l

2 s$ U& Q0 V" G, s: q( W这种情况,我没碰到过
发表于 2009-1-2 07:29:00 | 显示全部楼层 来自: 中国广东深圳
原帖由 dazhi518 于 2009-1-1 17:28 发表 http://www.3dportal.cn/discuz/images/common/back.gif
9 k) C3 L5 ]% ?6 _! _/ k还有一个问题,就是,我启动自己编的程序之后,比如我点一下“X分中,Y分中,Z最顶部”坐标定好后,我再去点击powermill去查看工件,那个坐标器就藏到powermill后面了,之有再把powermill最小化才能看到。如果我想点 ...

: [, b" [2 E! |兄弟要的应该是“窗口总在最前端”的代码,论坛上我记的吉米好像发过,你找下,然后加进去试试
 楼主| 发表于 2009-1-2 18:12:03 | 显示全部楼层 来自: 中国山东烟台
我的意思就是窗口总在最前端。谢谢老刘同志的提醒。
发表于 2009-1-3 08:48:52 | 显示全部楼层 来自: 中国浙江杭州
dcam_window_ontop hwnd0 |' i7 Q, \; e3 g; Q
8 E- h9 K' f- s3 V8 N. r

# P# ^. g# N8 `# f( L模组编程中,用我上面这个代码就可以实现窗体总在最前面(放在定时器事件下)
: a% x  g) V# ]6 @1 F' v4 O2 k+ N! }$ g$ A$ _

3 x1 ^' j: b7 G模组代码如下% v0 F. t. [/ a: q4 m
Public Sub dcam_window_ontop( hwnd As Long )
  k) q: C  Z9 a) G# Y! I  k  SetWindowPos hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
& ?9 v1 K3 H& g" q+ U3 ?$ NEnd Sub+ |; h- v  a/ ?- ~7 M8 n$ C

3 G# c4 I) `. U5 \[ 本帖最后由 hh749 于 2009-1-3 08:52 编辑 ]
 楼主| 发表于 2009-1-4 10:23:51 | 显示全部楼层 来自: 中国山东烟台
谢谢老大。。。
 楼主| 发表于 2009-1-4 17:05:09 | 显示全部楼层 来自: 中国山东烟台
我把Z轴设在最高点。是这样编的,可是移不到位呀。。还请帮助解决。
4 y6 }) ~: Z* b! B, \- S& _1 u" H5 D1 _
Dim ZMAX As Long% M5 H2 P! f6 z" ?5 N1 v3 e4 Q1 T
PowerMILL31.Connect
, n! A2 G" ]; F: I0 ZZMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxZ")( M. N* \6 [/ ~
PowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEZ   " + CStr(-ZMAX))
; l% |6 b" o  Q  g, a8 WPowerMILL31.Execute ("TRANSFORM MODEL ALL")
, `, Z: d4 ]6 C' YPowerMILL31.Disconnect1 B- l, {+ i7 m* O# Z
$ {1 ?& ]1 `/ e! U: }+ u0 n  k
Z轴不在最高点呀,有时候还高出最高点。是什么原因,是不是因为long是长整形数值呀。。。
 楼主| 发表于 2009-1-4 18:54:33 | 显示全部楼层 来自: 中国山东烟台
Z轴移不到位的问题,本人已经自己解决了,原来是变量高错了。我试了一下把long(长整型)改为double(双精度型)。然后就OK了。; }0 W/ y  P2 a+ \, Y5 H! a# l

; q( B, P+ T- p# Q2 B' w+ H还请问老大,怎样模组编程呀。
发表于 2009-1-4 20:36:00 | 显示全部楼层 来自: 中国浙江杭州
原帖由 dazhi518 于 2009-1-4 18:54 发表 http://www.3dportal.cn/discuz/images/common/back.gif, g- \/ ]- y1 {
Z轴移不到位的问题,本人已经自己解决了,原来是变量高错了。我试了一下把long(长整型)改为double(双精度型)。然后就OK了。
9 J  G6 n$ k& t1 _/ x) R9 s4 T( ~" T$ `# }" c
还请问老大,怎样模组编程呀。
* d- s5 [7 `( Z" f0 g2 {

: A2 p0 t0 f* o! C3 q- g
/ E& M6 @$ S$ b0 A, Q
1 t/ g- F( D4 T模组编程请看本版快教程: I; J3 {8 @2 l+ `
PowerMILL二次开发 高级篇(一) 摆脱PowerSolutionOLE.ocx的噩梦 - b! w7 s: v9 t2 a5 c& W+ |( L) D- z

& u3 p& e, P& r, b4 J. b, {这里是讲模组编程的,如果你不知道模组,那我建议你再去好好学习下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 )

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