用表达式提取文件名,自动填写图号和名称
首先,感谢唐工,以下的分享,来自于唐工的工程图视频教程的启发。我是在小公司做设备的开发,文件命名都是采用"图号+空格+名称”的形式,例如 model 零件1.prt
在设计中,文件名的更改非常频繁,工程图的图号和名称的填写就成为了一个繁琐而且容易出错的工作
直接上图
上面是每一步的过程,表达式综合起来如下:
No=ug_setpartattrvalue("DB_PART_NO",First(splitstring(replaceString(ug_askcurrentworkpart(),".prt","")," ")))
Name=ug_setpartattrvalue("DB_PART_NAME",Second(splitstring(replaceString(ug_askcurrentworkpart(),".prt","")," ")))
只要导入这个表达式,就可以自动填写图号和名称属性了
在变更文件名之后,图号和名称的属性并不会自动更新,要进行一下操作:
但是,如果你的装配比较复杂,这样更新速度会很慢很慢很慢
建议大家录制一个宏,然后设置一个快捷键,就可以做到一键自动更新图号和名称属性了,
注意,如果当前已经有表达式了,重新导入表达式的时候,还是不会自动更新的
所以在录制宏的时候,要先导入表达式,然后删除表达式,然后再次导入表达式,这样就更新了
我一开始没摸透楼主的方法,理解后做了一点自己尝试,效果还行。谢谢楼主,
1、文件名统一命名为:图号-名称(系统的3D建模模板没有空格符,但是有"-"符)
2、进入系统模板文件,修改初始的3D建模模板,将表达式写入并保存。(如果系统安装在C盘,需要转存出来后改好,再替换回去)
取得效果:
1、任意建模,表达式已提前写入模型文件。
2、在装配导航器对零件进行外部更新,整个体系的名称都会更新,大文件未尝试,测试几个·小文件速度还可以。
3、制图内明细栏表现正常,外部引用库零件,显示正常。 工程图标题栏获取文件名和图号,我还是不喜欢用这种表达式的方式,缺点很明显~~~
还是用西门子给的属性吧,<W@$SH_PART_NAME>和<W@$SH_MASTER_PART_NAME>。其中<W@$SH_MASTER_PART_NAME>是在主模型出图时显示(急新建工程图文档调用主模型文件)。用这两个属性,主模型文件名作为零件名称,工程图文件名作为图号 谢谢了,学习到了,找了好久,关键是没搜索到相关关键词所以一直没看到这个帖子,受教了。终于找到相关函数了,最终实现了图样代号+名称的文件命名法时,图样代号和名称属性的自动填写,美中不足的就是属性更新需手动。不过发现一个特点,就是在装配中将所有零件名称改到位了,在装配体中/更新以获取外部链接,则所有零件的属性就都一次性更新了。 很实用,支持一下 师兄,我刚学UG可以交流一下吗?我的软件怎么看不到 DB_PART_NAME这个属性? 这个表达式怎么链接的,老大,我才学,能录个视频吗? 参与/回复主题参与/回复主题参与/回复主题参与/回复主题是正确的
高手。{:handshake:} 学了一招,感谢thinkon007 思维空间 发表于 2016-11-7 08:57
这个表达式怎么链接的,老大,我才学,能录个视频吗?
直接写入表达式就可以啊 自动读取文件名并且分割开来 赋值给图号和名称 方法不错 比较麻烦 其实NX是可以把这个问题解决的 软件内部的一个信息关联 他们怎么不做呢?搞不懂 NX的工程图用起来效率真吧高 或许是我没学会吧 但是和其他软件比起来 的确是复杂了 tiger2002 发表于 2016-12-13 09:54
方法不错 比较麻烦 其实NX是可以把这个问题解决的 软件内部的一个信息关联 他们怎么不做呢?搞不懂 NX的工 ...
内部的一个信息关联,具体怎么操作?请指点...