找回密码 注册 QQ登录
一站式解决方案

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 17601|回复: 5
打印 上一主题 下一主题

[求助] 关于pmill二次开发的问题!

[复制链接]
跳转到指定楼层
1
发表于 2011-11-3 09:40:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

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

x
我是 菜鸟请教个问题,帮我看看下面的VB二次开发程序
我要查找 PM中有用到边界为dgf的程序,即退出FOR循环,然后pd = True。但是我测试了,即使已经查找到有用到dgf边界的程序,但是pd 就是不等于True。后来我发现pmill.ExecuteEx("PRINT FORMVALUE finishing.boundary.activebndry") 的返回值有点奇怪,比如他的返回值是dgf,但是用len( )去测字符的长度却是5(本来应该等于3);如果他的返回值是空值,但是len(abd)=2,也就是用len(abd)的值永远比实际字符数多2。另外,就是如果pmill.ExecuteEx("PRINT FORMVALUE finishing.boundary.activebndry")返回值是数字,就不存在上述情况。想像请教下为什么会出现这种情况。代码如下:

Private Sub Command4_Click()
Dim tpl As New Collection, atp As Long, tpn, i As Integer, tp, pd As Boolean, dd, abd As String
pmill.GetToolpathList tpl, atp
tpn = tpl.Count
pd = False
If tpn > 0 Then
For i = 1 To tpn
tp = "'" & tpl.Item(i) & "'"
pmill.ExecuteEx "ACTIVATE Toolpath" & tp
abd = pmill.ExecuteEx("PRINT FORMVALUE finishing.boundary.activebndry")
    If abd = "dgf" Then
    pd = True
    ceshi=len(abd)
  
     
    Exit For
    End If
Next i
End If
End Sub

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2011-11-7 12:09:33 | 只看该作者
为什么,没人回答我,自己顶下都要沉了。
3
发表于 2011-11-7 12:48:00 | 只看该作者
给你顶起
4
发表于 2011-11-8 19:46:22 | 只看该作者
真是郁闷了 ,这论坛就没有pmill二次开发的高手了?
5
发表于 2011-11-9 11:33:24 | 只看该作者
本帖最后由 yue2233 于 2011-11-9 11:36 编辑

但是用len( )去测字符的长度却是5(本来应该等于3);

是不是有空格?,或区分大小写?  If abd = "dgf" Then 改为 If abd.trim = "dgf" Then 试一下?

6
发表于 2011-12-6 21:20:59 | 只看该作者
已经解决了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-12-31 03:09 , Processed in 0.029734 second(s), 13 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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