QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
8天前
查看: 4246|回复: 16
收起左侧

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

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

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

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

x
我自己写的VB定义坐标,Z轴差了0。3呀,还望会VB的各位帮帮忙呀。不胜感激。 未命名.JPG 0 }7 N0 }9 g$ ^" ?( q2 L
; G, O2 j6 G9 F3 ]  @+ ?! G

0 i. |0 t* H) Z/ }, l- A我是这样写的。
" e9 _- V! N6 R$ _1 T" l! F2 A0 F1 T+ w, w# {0 X0 n6 S
Dim XMAX, XMIN, YMAX, YMIN, ZMAX As Long- F8 E, g) F" p8 e! s  \

3 o$ n4 a0 S" [/ GPowerMILL31.Connect$ K' z! Z; q- Y8 o; w* N. Z
7 O' Y- ^: R) Q; e0 E, a5 P. |
PowerMILL31.Execute ("Form BLOCK")
/ h; Y2 ?' M" b
& l) _( l# C- t; ]/ gPowerMILL31.Execute ("EDIT BLOCK ALL UNLOCK")
' P2 M# L( [' o# ?2 G: j8 Q
2 H, b2 p# a+ a  mPowerMILL31.Execute ("EDIT BLOCK TOLERANCE 0.1")
, g# y' V: V5 s, o
( l' U0 z  g' {& t% i) pPowerMILL31.Execute ("EDIT BLOCK RESETLIMIT 0.")$ w* C" u* O5 u6 G5 C

1 ]$ l4 f0 H' Y0 \; CPowerMILL31.Execute ("EDIT BLOCK RESET")
: z; Q7 s* v* s" B, y) _2 ]
  r' u6 b+ T# WPowerMILL31.Execute ("BLOCK ACCEPT")
# ?) v* p1 w9 m( h* j1 D& c! g9 H
" \: n$ i5 I' N* y4 F8 r4 jZMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxZ")' @! T& P3 B3 M- y

! [/ W- q( a! K. ^+ N3 pXMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxX")
7 p8 y, }3 R. J+ v  X0 ~& x8 g4 ]) w# x- b4 K* g( O
XMIN = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MinX"), Z  p4 h! A, \/ w

: x8 |/ e9 P" f! e+ H8 Z. d8 i; fYMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxY")1 J8 G8 y/ q. Q: d" a
& {" J0 n# |; u- f! h6 g1 z
YMIN = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MinY")
% z4 |; B) b7 s4 B" Y
# [6 f' J/ b$ gPowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEX  " + CStr(-(XMAX - (XMAX - XMIN) / 2)))$ q# q1 L. N3 D7 w/ U7 R/ D
/ Q2 d( V4 M0 `' t. Y
PowerMILL31.Disconnect
% ?0 P- z0 [- J. V" Q% n9 s" S+ P' G7 n( Y" h! T5 Y
End Sub
% J+ w/ h% a2 x& |* U" E; b
4 d, t7 Q* Z" M3 EPrivate Sub Form_Load(). o, _8 V7 r4 p; I1 ~& \, v$ l! L
- S$ }6 L2 g, B1 P
PowerMILL31.Connect psStartPowerMILL2 @- x6 g7 u0 C* E; w
4 K" _: g# d+ f% o' ~7 M
End Sub
发表于 2009-1-1 11:02:59 | 显示全部楼层 来自: 中国浙江杭州
PowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEX  " + CStr(-(XMAX - (XMAX - XMIN) / 2)))4 n, U1 D) o0 \6 C" O

2 E8 }( Z9 Y" T/ J) e: l0 |+ d- |% B7 l) o3 `
这个不是自动建立坐标的命令啊- {$ u- u. ^/ X8 m) `/ [% j9 v
: L: y/ b2 t9 `1 g8 ]/ M
6 t, q$ U5 `& Z6 |* K8 r
要使用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
' B! Z( e) n, _) U, G# W你好,我是想在没有建立工作坐标的情况上,把世界坐标移到最高点。你说要使用那个自动建立坐标的命令,应该是自己先产生一个坐标。然后再自动居中,对吗。  可是我的想法是,在没有建立用户坐标的情况下,自动把世界 ...
( Z3 B1 d3 J) {
! C0 F/ `9 n% O0 b# t8 o- n% w, ^

& M; ?- E9 W; N这个功能JIM会,你问他
发表于 2009-1-1 21:43:50 | 显示全部楼层 来自: 中国浙江杭州
原帖由 dazhi518 于 2009-1-1 17:28 发表 http://www.3dportal.cn/discuz/images/common/back.gif; _' o1 h1 U; a& w% |7 t
还有一个问题,就是,我启动自己编的程序之后,比如我点一下“X分中,Y分中,Z最顶部”坐标定好后,我再去点击powermill去查看工件,那个坐标器就藏到powermill后面了,之有再把powermill最小化才能看到。如果我想点 ...

' ?$ [& x/ t- W$ ]  U1 }' l) B6 N, Z( Z# R# {2 \0 _. |% s
  u. N2 v/ d" Q1 B6 ~( z5 b: v
' O' r) |  `, u- E" O
这种情况,我没碰到过
发表于 2009-1-2 07:29:00 | 显示全部楼层 来自: 中国广东深圳
原帖由 dazhi518 于 2009-1-1 17:28 发表 http://www.3dportal.cn/discuz/images/common/back.gif
/ b. N, `# ~% [0 Q# y0 C还有一个问题,就是,我启动自己编的程序之后,比如我点一下“X分中,Y分中,Z最顶部”坐标定好后,我再去点击powermill去查看工件,那个坐标器就藏到powermill后面了,之有再把powermill最小化才能看到。如果我想点 ...
4 ]6 k* a  Y& j$ a6 W* f  }
兄弟要的应该是“窗口总在最前端”的代码,论坛上我记的吉米好像发过,你找下,然后加进去试试
 楼主| 发表于 2009-1-2 18:12:03 | 显示全部楼层 来自: 中国山东烟台
我的意思就是窗口总在最前端。谢谢老刘同志的提醒。
发表于 2009-1-3 08:48:52 | 显示全部楼层 来自: 中国浙江杭州
dcam_window_ontop hwnd( G8 I2 Z  J( m6 O6 ?5 z5 `- m( Z
/ m- @' @0 f  F5 I8 `( Q4 w" B
% d# w0 x. m' b" L' n
模组编程中,用我上面这个代码就可以实现窗体总在最前面(放在定时器事件下), O3 r* H; b/ `# K  _1 ]

! u+ L9 U& ~! N$ F; I
" K  a$ x, I' |) P% ?, D4 S模组代码如下
. `7 V; H& E, S/ GPublic Sub dcam_window_ontop( hwnd As Long )8 b+ `  [/ i9 U. t, w: y
  SetWindowPos hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE6 s# N6 c7 `. a* ]1 M" a8 O
End Sub6 ^2 \9 r) s% L
& A( S" t# L$ p! u) \' |& U
[ 本帖最后由 hh749 于 2009-1-3 08:52 编辑 ]
 楼主| 发表于 2009-1-4 10:23:51 | 显示全部楼层 来自: 中国山东烟台
谢谢老大。。。
 楼主| 发表于 2009-1-4 17:05:09 | 显示全部楼层 来自: 中国山东烟台
我把Z轴设在最高点。是这样编的,可是移不到位呀。。还请帮助解决。! H1 q" O0 j: W+ b& ?
8 \9 ]9 v' J* @: O$ g
Dim ZMAX As Long
' _. y. {0 N- yPowerMILL31.Connect
+ }( o; R+ y0 g* e$ XZMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxZ")3 P) U3 K+ c6 @- V& w, t9 u: |
PowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEZ   " + CStr(-ZMAX))
& U( `& z* A& X+ C: aPowerMILL31.Execute ("TRANSFORM MODEL ALL")9 D0 o$ _; R! N% E
PowerMILL31.Disconnect
3 G4 s6 H& E: u; Z7 c) v4 z
7 b( i% S9 t. @3 f$ J1 [! eZ轴不在最高点呀,有时候还高出最高点。是什么原因,是不是因为long是长整形数值呀。。。
 楼主| 发表于 2009-1-4 18:54:33 | 显示全部楼层 来自: 中国山东烟台
Z轴移不到位的问题,本人已经自己解决了,原来是变量高错了。我试了一下把long(长整型)改为double(双精度型)。然后就OK了。
) F& x" q- v! L& k' _2 X% ]; _* d4 F$ @& |3 X
还请问老大,怎样模组编程呀。
发表于 2009-1-4 20:36:00 | 显示全部楼层 来自: 中国浙江杭州
原帖由 dazhi518 于 2009-1-4 18:54 发表 http://www.3dportal.cn/discuz/images/common/back.gif
. j( o! _2 T5 A5 EZ轴移不到位的问题,本人已经自己解决了,原来是变量高错了。我试了一下把long(长整型)改为double(双精度型)。然后就OK了。
6 w& I- n2 C; n
- N4 ~' C1 i/ ^' ~" n/ C2 o9 G还请问老大,怎样模组编程呀。

4 d  r0 F# a# z9 l. U8 x1 n0 q+ ]! r8 j6 n8 T! @& b

; n' I' m4 ]) ^- c9 E/ p! t  w* e  m* K2 e0 n  N
模组编程请看本版快教程) ^" |# O7 r1 n
PowerMILL二次开发 高级篇(一) 摆脱PowerSolutionOLE.ocx的噩梦 9 J" B3 r; \8 k6 N& V3 s7 u
% Q! G5 Y  R0 Y) L  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 )

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