QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
我自己写的VB定义坐标,Z轴差了0。3呀,还望会VB的各位帮帮忙呀。不胜感激。 未命名.JPG 5 C# n% s; R; G) {

- I. Z) M8 t3 l6 t
3 m6 F- g/ s$ N3 n我是这样写的。4 `5 r6 m  D& F

- Y- x/ G! h, \2 ^: {+ PDim XMAX, XMIN, YMAX, YMIN, ZMAX As Long
8 k8 a+ i" X7 F) ^
0 ]! X# p% K% k  n; p5 zPowerMILL31.Connect) X2 G7 ~! l3 H; V+ U! v
; Z+ k2 i+ |) K! P( Y; P" B
PowerMILL31.Execute ("Form BLOCK")8 V3 A+ e- C. P7 I3 ~
+ C! s6 P. x: w
PowerMILL31.Execute ("EDIT BLOCK ALL UNLOCK")
& u% E& Y% v7 u4 R. R; U  @4 u' A! ~' L' ?, F; R1 h  Z) F
PowerMILL31.Execute ("EDIT BLOCK TOLERANCE 0.1")% ?: Z8 _) x% a( g' G
. A7 k: c; @! |, K
PowerMILL31.Execute ("EDIT BLOCK RESETLIMIT 0.")
2 Z$ N4 j3 `" y+ @+ b
7 f4 B% j" O& ?6 B/ o$ q6 LPowerMILL31.Execute ("EDIT BLOCK RESET")* I8 J( M0 Q$ F; R) ?( Z
  ~/ \" v6 E$ V6 ]; u0 x
PowerMILL31.Execute ("BLOCK ACCEPT")
+ V( s. A  ?, Z6 g( W& H
9 g! @/ q7 y9 nZMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxZ")# G. W: [1 @7 M' ?

$ Y. r3 t6 o/ d$ L4 c# G- m2 WXMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxX")
0 K6 v* N0 {+ C# @, ?
1 M* j" C- Y. cXMIN = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MinX")
# w2 j( ?3 _( r: @' F
" C, J' q0 D# M. jYMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxY")
- `# [" D2 S/ w/ Z1 u! t8 ?: _
: B! s5 f3 K& P, f3 H& l: dYMIN = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MinY")/ A, v0 O4 V( v0 M5 @
5 _$ U; N0 h+ i# E  K7 A
PowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEX  " + CStr(-(XMAX - (XMAX - XMIN) / 2)))) ?5 _  _& N9 ]8 K6 l7 {6 U- P/ ]1 z
* _. d2 G: l4 R7 [, o# z- `- U
PowerMILL31.Disconnect
; j$ W( M! S8 c" K& t3 L0 b& f" E) U: o$ ?
End Sub5 X, _8 p, b; B" I

+ O0 d  H2 L& G- r7 G& T0 xPrivate Sub Form_Load()" r; u: M' M/ ^$ E

! V, g7 A; j1 f9 r7 ^PowerMILL31.Connect psStartPowerMILL% D( r6 v, @4 z1 A
. t" X( V+ L% \& t: s6 R
End Sub
发表于 2009-1-1 11:02:59 | 显示全部楼层 来自: 中国浙江杭州
PowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEX  " + CStr(-(XMAX - (XMAX - XMIN) / 2)))
2 e5 o: t9 e. x" i; i1 p1 H% A" U( g9 g/ }' ?

0 G0 v, w" T/ X! E  g' U这个不是自动建立坐标的命令啊
! f$ {! l0 e/ k) x; P( w5 u  b) g. P9 a8 _

- K4 W) G& M$ h要使用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
( L7 l& g: L$ y/ J! k你好,我是想在没有建立工作坐标的情况上,把世界坐标移到最高点。你说要使用那个自动建立坐标的命令,应该是自己先产生一个坐标。然后再自动居中,对吗。  可是我的想法是,在没有建立用户坐标的情况下,自动把世界 ...

/ U5 O6 H$ @4 q) s
2 O4 Z3 l, Y4 P( D$ S, p# ]; [* U$ K$ {- Y9 v0 p
这个功能JIM会,你问他
发表于 2009-1-1 21:43:50 | 显示全部楼层 来自: 中国浙江杭州
原帖由 dazhi518 于 2009-1-1 17:28 发表 http://www.3dportal.cn/discuz/images/common/back.gif( I* ?8 X+ Y0 T1 x# t$ p( T
还有一个问题,就是,我启动自己编的程序之后,比如我点一下“X分中,Y分中,Z最顶部”坐标定好后,我再去点击powermill去查看工件,那个坐标器就藏到powermill后面了,之有再把powermill最小化才能看到。如果我想点 ...
. A0 Q2 L2 w" ?6 I
+ @( o8 \0 |3 Z' {1 e! q3 `

! [7 Y6 d8 V5 w, x  @9 [" t8 Q, S  \2 _2 d9 _4 t% V5 ]
这种情况,我没碰到过
发表于 2009-1-2 07:29:00 | 显示全部楼层 来自: 中国广东深圳
原帖由 dazhi518 于 2009-1-1 17:28 发表 http://www.3dportal.cn/discuz/images/common/back.gif  ?4 K$ E6 w1 u6 C$ G6 r
还有一个问题,就是,我启动自己编的程序之后,比如我点一下“X分中,Y分中,Z最顶部”坐标定好后,我再去点击powermill去查看工件,那个坐标器就藏到powermill后面了,之有再把powermill最小化才能看到。如果我想点 ...

# a1 U& J* \. o6 r" h* r0 f) ~3 m- ~兄弟要的应该是“窗口总在最前端”的代码,论坛上我记的吉米好像发过,你找下,然后加进去试试
 楼主| 发表于 2009-1-2 18:12:03 | 显示全部楼层 来自: 中国山东烟台
我的意思就是窗口总在最前端。谢谢老刘同志的提醒。
发表于 2009-1-3 08:48:52 | 显示全部楼层 来自: 中国浙江杭州
dcam_window_ontop hwnd6 _2 a: Q( @& x7 N( d8 p" Y
2 r7 [: X: K. E& f

8 y6 z( @0 H; g% k# V, q% \- s模组编程中,用我上面这个代码就可以实现窗体总在最前面(放在定时器事件下)
; b/ _% N9 K4 F7 M0 Q1 p# k8 W8 V; d0 H" `, o  E
- P, Y2 T7 e  i% L7 q$ k" d+ j8 {
模组代码如下+ a; M# C) e" H
Public Sub dcam_window_ontop( hwnd As Long )7 H- \- ?# H/ b. @( a9 O$ f
  SetWindowPos hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE0 @+ Z! A/ f$ v) D4 n1 z
End Sub
( [. p7 d4 ]7 q% o9 }1 p' ?3 h' t1 s8 _
[ 本帖最后由 hh749 于 2009-1-3 08:52 编辑 ]
 楼主| 发表于 2009-1-4 10:23:51 | 显示全部楼层 来自: 中国山东烟台
谢谢老大。。。
 楼主| 发表于 2009-1-4 17:05:09 | 显示全部楼层 来自: 中国山东烟台
我把Z轴设在最高点。是这样编的,可是移不到位呀。。还请帮助解决。
: x& f$ S6 y+ M8 a
! T9 j/ W& K7 P) L* MDim ZMAX As Long* M$ G3 }; y0 j: I2 p4 c
PowerMILL31.Connect
* T; `8 j  y0 F/ N/ W+ RZMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxZ")
1 t2 L' p  y6 u% ?. P* VPowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEZ   " + CStr(-ZMAX))
) P' ^1 T/ g: j) PPowerMILL31.Execute ("TRANSFORM MODEL ALL")
! i# a  @. ~+ j' _* J5 e3 g7 MPowerMILL31.Disconnect
8 T% ^, u: {5 {& B6 q) V) O7 @) e+ e( O
Z轴不在最高点呀,有时候还高出最高点。是什么原因,是不是因为long是长整形数值呀。。。
 楼主| 发表于 2009-1-4 18:54:33 | 显示全部楼层 来自: 中国山东烟台
Z轴移不到位的问题,本人已经自己解决了,原来是变量高错了。我试了一下把long(长整型)改为double(双精度型)。然后就OK了。' V5 Z  n& o; A
( _; R: u: q8 y# d8 g+ c; u5 K
还请问老大,怎样模组编程呀。
发表于 2009-1-4 20:36:00 | 显示全部楼层 来自: 中国浙江杭州
原帖由 dazhi518 于 2009-1-4 18:54 发表 http://www.3dportal.cn/discuz/images/common/back.gif
2 L5 u$ `" X+ W" rZ轴移不到位的问题,本人已经自己解决了,原来是变量高错了。我试了一下把long(长整型)改为double(双精度型)。然后就OK了。: \2 h# n1 D! D7 j

" v# h, D# \% O还请问老大,怎样模组编程呀。

, Y: c, t# v' R6 f
/ ^5 B4 h0 F$ [1 A; Z# D, h0 Q
. r  D  ~# e( ^+ A
( D; O9 S7 q6 L模组编程请看本版快教程
; o2 q( s  }. e- u, ~' ]/ {PowerMILL二次开发 高级篇(一) 摆脱PowerSolutionOLE.ocx的噩梦
' h" Y4 T7 z: p5 T4 C# h
) l) k% K+ p, G0 H' f% d+ G这里是讲模组编程的,如果你不知道模组,那我建议你再去好好学习下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 )

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