QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
9天前
查看: 4249|回复: 16
收起左侧

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

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

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

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

x
我自己写的VB定义坐标,Z轴差了0。3呀,还望会VB的各位帮帮忙呀。不胜感激。 未命名.JPG 0 g" y1 N& z5 y
2 K! i( y: `+ M

6 L" q9 E4 F2 W# _2 T8 f/ x1 G7 [1 R7 I我是这样写的。
9 c: K* j# w+ r  z( s
# i: [9 W" k2 hDim XMAX, XMIN, YMAX, YMIN, ZMAX As Long
, F. Y4 o: Z" G' y: l+ Z! i& K; ^' w$ @. y( t5 K
PowerMILL31.Connect
$ B2 r/ B% ?" ]7 y! V6 F: B7 u; `
PowerMILL31.Execute ("Form BLOCK")! v0 b) T+ u3 p
/ ]1 E( X* s+ j! _: X
PowerMILL31.Execute ("EDIT BLOCK ALL UNLOCK")4 i. L4 p! J& G0 [# R  t4 y3 G

$ r# L& y0 j6 iPowerMILL31.Execute ("EDIT BLOCK TOLERANCE 0.1")
/ w3 V, [9 X5 {9 A. ?1 z
# W6 e4 V- y  h8 n# e3 FPowerMILL31.Execute ("EDIT BLOCK RESETLIMIT 0.")' Z8 N/ u# w- r- O2 P" X
4 g! V5 N$ r$ }5 X& v5 \
PowerMILL31.Execute ("EDIT BLOCK RESET")9 k% Q: E2 N4 x2 s7 r8 z1 C

9 d# ^/ R1 M# t6 Y2 _; V# g4 \7 YPowerMILL31.Execute ("BLOCK ACCEPT")
5 l; r1 c7 Z7 ~; ?) X* L" D/ r# t
ZMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxZ")* H/ n% z% {. B  W

) _+ S- y1 R; rXMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxX")
' n+ E( V: V* d$ O# N7 U. h5 L0 O% R, b$ D, Z2 E7 w
XMIN = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MinX")
& n( D  c+ q* z' ^6 ]4 T4 l, |2 j' ]" M  F
YMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxY")
; r% `' Y* H- D/ z8 k+ y- V* C
/ n3 {$ w) _& Q% k. V( N5 ^YMIN = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MinY")
# z7 I0 f/ z; J5 @6 B
* j; L1 d- C* i7 M8 E- @' h- e. W0 fPowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEX  " + CStr(-(XMAX - (XMAX - XMIN) / 2)))
4 ^0 i4 J. O: W" _2 E9 F; \
! `* }4 ~7 c% H: j; g% |PowerMILL31.Disconnect8 T0 R5 `2 r$ c  \1 }; l5 ^

# C5 D5 b+ j0 e! n  {8 aEnd Sub/ f" r% r# E- B& v
& u. U3 f# O, T" J1 h
Private Sub Form_Load()
8 `' S2 K5 K8 \8 A
3 u7 C. Z8 b7 C+ c+ K7 IPowerMILL31.Connect psStartPowerMILL# I. ?+ x5 h* k$ V
4 ?8 G, ^  n$ ]0 \
End Sub
发表于 2009-1-1 11:02:59 | 显示全部楼层 来自: 中国浙江杭州
PowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEX  " + CStr(-(XMAX - (XMAX - XMIN) / 2)))
- o7 e+ ~& j$ a) M/ `6 u+ O( v
) k5 [- g2 V8 \+ M0 s8 h
& V( x, m7 Y& Y这个不是自动建立坐标的命令啊2 T* ^4 `9 t1 w1 `
3 b9 H4 N. i) v" X" U: C

2 a7 o) l( J9 ~  e要使用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
- E/ B% m4 W3 k8 m2 E+ _你好,我是想在没有建立工作坐标的情况上,把世界坐标移到最高点。你说要使用那个自动建立坐标的命令,应该是自己先产生一个坐标。然后再自动居中,对吗。  可是我的想法是,在没有建立用户坐标的情况下,自动把世界 ...

; r2 w% k- v/ I% e0 N7 R! [& _& p- ^) {/ r

, @* L6 P7 J0 h* W' X( a" n这个功能JIM会,你问他
发表于 2009-1-1 21:43:50 | 显示全部楼层 来自: 中国浙江杭州
原帖由 dazhi518 于 2009-1-1 17:28 发表 http://www.3dportal.cn/discuz/images/common/back.gif
0 e6 B+ t( t0 E7 D) t还有一个问题,就是,我启动自己编的程序之后,比如我点一下“X分中,Y分中,Z最顶部”坐标定好后,我再去点击powermill去查看工件,那个坐标器就藏到powermill后面了,之有再把powermill最小化才能看到。如果我想点 ...
* d' B! a/ }  C0 k

& P# p5 N) a0 b4 h* b% B7 G
) L1 [2 U) W- ?& U& `$ R/ A  E6 j6 \, o2 r
这种情况,我没碰到过
发表于 2009-1-2 07:29:00 | 显示全部楼层 来自: 中国广东深圳
原帖由 dazhi518 于 2009-1-1 17:28 发表 http://www.3dportal.cn/discuz/images/common/back.gif
9 y4 e  _# t' }  i8 y0 l& T3 Q/ a还有一个问题,就是,我启动自己编的程序之后,比如我点一下“X分中,Y分中,Z最顶部”坐标定好后,我再去点击powermill去查看工件,那个坐标器就藏到powermill后面了,之有再把powermill最小化才能看到。如果我想点 ...
6 P: @: }" }5 u8 m- v3 |2 s: Z1 c3 f
兄弟要的应该是“窗口总在最前端”的代码,论坛上我记的吉米好像发过,你找下,然后加进去试试
 楼主| 发表于 2009-1-2 18:12:03 | 显示全部楼层 来自: 中国山东烟台
我的意思就是窗口总在最前端。谢谢老刘同志的提醒。
发表于 2009-1-3 08:48:52 | 显示全部楼层 来自: 中国浙江杭州
dcam_window_ontop hwnd' v+ d8 T7 F, x
9 p9 l" L3 l+ [( k7 p
% s0 C9 j* h4 }) D( p! V
模组编程中,用我上面这个代码就可以实现窗体总在最前面(放在定时器事件下)
! l3 o% m4 K/ i7 o
, i1 _5 c- t1 y& Z" \3 l3 J  Z, c+ q( x, ?
模组代码如下) m1 w9 D: q- X- r& v" @
Public Sub dcam_window_ontop( hwnd As Long )
4 K. f1 g6 z# O0 B6 v1 P& D- H  SetWindowPos hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
' B' M/ _0 s# n& IEnd Sub
; {$ f" y: U% Z& {# b/ f
# j2 M, X  x7 Y3 K[ 本帖最后由 hh749 于 2009-1-3 08:52 编辑 ]
 楼主| 发表于 2009-1-4 10:23:51 | 显示全部楼层 来自: 中国山东烟台
谢谢老大。。。
 楼主| 发表于 2009-1-4 17:05:09 | 显示全部楼层 来自: 中国山东烟台
我把Z轴设在最高点。是这样编的,可是移不到位呀。。还请帮助解决。
+ R( _. q. P' p- n
' U& i. l% h, Z- l8 @4 DDim ZMAX As Long' Z) z4 Z2 J, I: d
PowerMILL31.Connect1 `" b4 }% i& W9 N7 X1 T
ZMAX = PowerMILL31.ExecuteEx("PRINT FORMVALUE RoughBlock.LimitFrame.MaxZ")( `" K: F0 {  F  ?7 ]
PowerMILL31.Execute ("TRANSFORM RESET TRANSFORM TYPE MOVE TRANSFORM MOVEZ   " + CStr(-ZMAX))- G5 v# j  Q4 Z$ L# \
PowerMILL31.Execute ("TRANSFORM MODEL ALL")' T( b. U- F/ [) x0 `) Y
PowerMILL31.Disconnect$ Z: X- w% O5 H4 c( R. ]% G

; o, l6 N: h- B2 D, S& K" rZ轴不在最高点呀,有时候还高出最高点。是什么原因,是不是因为long是长整形数值呀。。。
 楼主| 发表于 2009-1-4 18:54:33 | 显示全部楼层 来自: 中国山东烟台
Z轴移不到位的问题,本人已经自己解决了,原来是变量高错了。我试了一下把long(长整型)改为double(双精度型)。然后就OK了。
  T" Q4 g( T1 n3 g! h% L4 w+ T' J( X0 W  v# `
还请问老大,怎样模组编程呀。
发表于 2009-1-4 20:36:00 | 显示全部楼层 来自: 中国浙江杭州
原帖由 dazhi518 于 2009-1-4 18:54 发表 http://www.3dportal.cn/discuz/images/common/back.gif
' M* G& s  R' U# i0 c" L2 DZ轴移不到位的问题,本人已经自己解决了,原来是变量高错了。我试了一下把long(长整型)改为double(双精度型)。然后就OK了。$ G9 l. [) D* Y' y: N; H; p
8 ?8 X4 S- K7 e; V* H+ N# \
还请问老大,怎样模组编程呀。
1 V. Z8 C' H4 J  [- {1 K9 G5 ^

% [* B6 k% c% u/ d& `1 G6 t0 a% q1 I- L0 L; @5 V

" a& D* U. m- v模组编程请看本版快教程
2 E+ L* \' W! Q% Q% l. IPowerMILL二次开发 高级篇(一) 摆脱PowerSolutionOLE.ocx的噩梦
! I% R1 h/ R) A" l
( J  r% v- P3 ?' p9 R) \这里是讲模组编程的,如果你不知道模组,那我建议你再去好好学习下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 )

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