找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3399|回复: 8

[求助] 关于proprogram

[复制链接]

5

主题

29

回帖

-1

威望

实习生

积分
36
发表于 2011-5-19 12:50 | 显示全部楼层 |阅读模式
求高手帮忙!! 问题描述如下:
建好一个model,这个model是作为PCB的一个3D库而用,也就是说会用在不同的板子厚度上,我们常用的板子厚度有1mm,1.2mm,1.6mm
所以,在程序段初期
input
board_thickness number
end input

我在做model的时候设置了一个基准面,用来控制我model的中间基准面,这个基准面以front面为父模型。
大家都知道,在Add...end add 里面没法更改任何值。
我加了个modify语句,但是貌似这是一次性语句,所以更改过一次后,这个值无法动态的变化。
装上装配后依然无法达到我想要的效果

有没人有好的建议啊

1270

主题

4万

回帖

900

威望

管理员

积分
47423

社区建设勋章优秀斑竹勋章原创先锋勋章热心助人勋章宣传大使勋章斑竹勋章

发表于 2011-5-19 21:07 | 显示全部楼层
参数化通用模型的制作教程-以角钢为例
http://www.proewildfire.cn/thread-912-1-1.html

参考上面的试试
努力,认真解答网友的每一个问题,共同学习,一起进步!  请勿发论坛消息求助。
回复

使用道具 举报

5

主题

29

回帖

-1

威望

实习生

积分
36
 楼主| 发表于 2011-5-23 08:41 | 显示全部楼层
谢谢!
有没办法在装配的时候动态的显示提示窗口,让输入某个值。
回复

使用道具 举报

5

主题

29

回帖

-1

威望

实习生

积分
36
 楼主| 发表于 2011-5-23 08:43 | 显示全部楼层

回复 2# 野火 的帖子

谢谢!
有没办法在装配的时候动态的显示提示窗口,让输入某个值。
回复

使用道具 举报

5

主题

29

回帖

-1

威望

实习生

积分
36
 楼主| 发表于 2011-5-23 08:55 | 显示全部楼层

回复 2# 野火 的帖子

再帮我看一下我的关系error 在哪吧
后面括号里面附上解释

RELATIONS
COMPONENT_HEIGHT=TRUE_HEIGHT-0.011811*2  (这条等式是根据个人需要必须设置成这样,是没有任何问题的)
d0=0.02 (因为板子厚度有三种情况,我先强制赋值给d0 为0.02是当板厚=1mm)
if board_thickness==1.2  (条件语句,当板厚=1.2mm时,d0=0.023)
d0=0.023
else                       (当板厚为其他值时,d0=0.03)
d0=0.03
end if
!*** ERR: Relation has an error.   // 不知道为什么提示此处有错误。
END RELATIONS
回复

使用道具 举报

1270

主题

4万

回帖

900

威望

管理员

积分
47423

社区建设勋章优秀斑竹勋章原创先锋勋章热心助人勋章宣传大使勋章斑竹勋章

发表于 2011-5-23 20:34 | 显示全部楼层
我的endif不是你那样写的吧
回复

使用道具 举报

45

主题

428

回帖

141

威望

讲师

积分
1091

热心助人勋章宣传大使勋章优秀会员勋章希望之星勋章

QQ
发表于 2011-5-24 10:38 | 显示全部楼层
你这个问题很好解决呀,不要用modify,你可以添加关系,厚度(dx)=board_thickness或者=f(board_thickness)
厚度就与你这个参数关联起来,参数变化,厚度也跟着变化(改完参数需要按下再生才能看到效果)。

要是想装配的时候动态提示选择1.0mm,1.2mm,,1.6mm厚度的话,建议用簇表。在簇表里设置3种厚度,那么装配时就会问你装配哪个厚度。

我也有像主这种情况,我就是用这种方法来做的,希望对你有帮助。

也可以过来看下我的program教程和簇表的教程,掌握这些,就可以随心所欲的建立公共模板
在下面两教程中都有实例
pro/program教程
地址 http://www.proewildfire.cn/forum ... &fromuid=210160
簇表应用教程(簇表+关系式)
地址 http://www.proewildfire.cn/forum ... &fromuid=210160

看到8楼的问题,补充:
想做出现窗口提示的话,
有个方法不知道你是否接受,但我觉得你不接受这种方法的可能性比较大
具体方法看下面描述:
你实际上只有两种情况,就是是否等于 1.2的情况,
那你可以设置一个YES_NO这样的参数,那么再生时,
就会弹出一个对话框,提示是否为1.2厚度,
这个对话框,如果你不选择是或者否,或者不关闭,
那在PROE中你进行不了下面的工作。
方法描述完毕
至于在装配的时候,能出来个对话框,提示输入厚度或者选择厚度,就个人所知
除了簇表或者你所知的INPUT方法之外,PROE还无法实现,
如果学过C/C++对PROE进行二次开发或许有可能,
不知道新的版本中是否有这样的功能


[ 本帖最后由 awaken 于 2011-5-24 11:13 编辑 ]

评分

参与人数 1威望 +1 收起 理由
野火 + 1 热心助人

查看全部评分

QQ:345020656
回复

使用道具 举报

5

主题

29

回帖

-1

威望

实习生

积分
36
 楼主| 发表于 2011-5-24 10:56 | 显示全部楼层

回复 7# awaken 的帖子

谢谢你的回复

我试一下你前面描述的厚度跟着参数变化。

但装配动态提示,用建family table的方法对我来说是不可行的,我们有自己的规定,family table data 是从windchill产生的,不允许手工修改,而且我们family table 的动态参数只能是高度不同
就是想问问,怎么创建消息提醒窗口啊,自动弹出来那种,这样比较明显,proe 底部的提示有点不太明显,呵呵

[ 本帖最后由 zhangjin 于 2011-5-24 10:58 编辑 ]
回复

使用道具 举报

5

主题

29

回帖

-1

威望

实习生

积分
36
 楼主| 发表于 2011-5-27 17:48 | 显示全部楼层

回复 7# awaken 的帖子

我先判断board thick是否等于1mm, 如果等于YES,怎么赋值给board_thickness等于1呢
我把等于NO 的情况做好了  

程序RUN后,我没办法恢复到1 了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

本站为非营利性站点,部分资源为网友搜集或发布,仅供学习和研究使用,如用于商业用途,请购买正版。站内所发布的资源,如有侵犯你的权益,请发邮件联系我们,本站将立即改正或删除。

手机版|小黑屋|野火论坛(©2007~2024) ( 苏ICP备11036728号-2 )苏公网安备 32039102000103号|站长QQ28016688

GMT+8, 2024-9-28 16:15 , Processed in 0.145977 second(s), 26 queries .

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