CAD模型无法构建关联部件

来源:互联网 发布:自学英语软件 编辑:程序博客网 时间:2024/05/02 05:06

这是前几日遇到一个问题,客户反映部件的结构与关联模型(装配)的结构不一致,某些装配中有的元件在部件结构中没有反映出来,此外,装配模型的映射参数未能传递至关联部件中。

从问题现象看来,应该是“构建”失败了,因为不论是公共属性的传递,还是结构的驱动,都依赖于成功的“构建”。果然,在问题模型的详细信息页面执行Actions>Build Associated Part时,事件管理器出现了报错:

Failed to build associated part: Nothing to build. No rules were found to build this.....

报错中所指的rules,其实就是指EPMBUILDRULE这张表,其实只要模型和部件是相关联的,就必然会在EPMBUILDRULE有记录,也就是有rules,那么为什么还是出现no rules是报错呢?

这时,就需要调整wt.build和wt.epm.build的log4j日志级别来查看详细情况了,当然,uwgm的日志级别也需要调整:

编辑 $WT_HOME/codebase/WEB-INF/log4jMethodServer.properties,添加如下行:

log4j.logger.com.ptc.windchill.uwgm=DEBUG
log4j.logger.wt.method.server.timing=INFO
log4j.logger.wt.adapter.verbose=INFO
log4j.logger.wt.build=ALL
log4j.logger.wt.epm.build=ALL

不需要重启Windchill,只需等待大约两分钟,修改即可生效,当然保险起见可以等个5分钟

最后在日志中发现了如下信息:

wt.build.StandardBuildService wcadmin - ignoring unverified sources = [wt.epm.EPMDocument:10813434]

这里的unverified指的并不是没有校验族表,事实上问题模型也不是族表

如果我们去查询数据库的话,会发现在EPMDOCUMENT这张表中,有一列就是VERIFIED,该列的值通常都是1,即使是未校验的族表,该列的值也是1。但在本例中,问题模型的该列值就是0了。

至于何种情况下VERIFIED列值会变为0,其实在公司内部也没有公开的资料。所幸解决方法倒是很简单,只需将问题模型检出后做个“再生”,然后再保存检入即可。

原创粉丝点击