找回密码
 注册
Simdroid-非首页
查看: 1806|回复: 50

[模型数据转换] (已解决)导入Parasolid文件之后,批量修改零件的材料信息

[复制链接]
发表于 2011-5-4 16:31:33 | 显示全部楼层 |阅读模式 来自 浙江杭州
本帖最后由 fnems 于 2011-5-4 21:21 编辑

默认导入parasolid之后,材料是空的,质量为0,密度为0,这样没法进行仿真。

自己的装配体零件比较多,100多个,如何能够批量修改导入后这些零件的材料呢?或者修改默认值?(搜索了一下论坛,没有找到解决办法)

希望各位高手提示指点

谢谢
发表于 2012-3-5 14:10:49 | 显示全部楼层 来自 广东广州
Simdroid开发平台
其实还有一种方法的。tool>table editor>filters  在mass properties 前面打勾 之后选择 material type 之后ok  就可以在table editor里看到材料属性这一栏了,你可以通过多选的方式给部件赋予属性。
回复 3 不支持 0

使用道具 举报

 楼主| 发表于 2011-5-7 17:28:36 | 显示全部楼层 来自 浙江杭州
7# haipenghappy

不用脚本生成,直接写宏:
! END_VALUE=220 这一行的数字是零件最大编号

! marco2.com
! Written by Fnems
!   2011-05-07

variable create var=part_id_var integer_value=2

FOR VARIABLE_NAME=cnt START_VALUE=2 &
    INCREMENT_VALUE=1 &
    END_VALUE=220

    part modify rigid mass_properties  &
      part_name = (eval("PART"//(part_id_var)))  &
      material_type = .materials.steel

    var mod variable=part_id_var integer_value=(eval(part_id_var+1))
END

variable delete VARIABLE_NAME=part_id_var
回复 1 不支持 0

使用道具 举报

发表于 2011-5-4 20:39:30 | 显示全部楼层 来自 浙江杭州
坐等高手~~~
回复 不支持

使用道具 举报

 楼主| 发表于 2011-5-4 20:56:54 | 显示全部楼层 来自 浙江杭州
.

还是自己解决了,写了一个脚本,生成宏,然后在ADAMS里面执行。
回复 不支持

使用道具 举报

 楼主| 发表于 2011-5-4 21:08:35 | 显示全部楼层 来自 浙江杭州
本帖最后由 fnems 于 2011-5-4 21:12 编辑

解决步骤如下,有图有真相


1  首先导入parasolid文件。





2  能看到,导入零件之后出现很多parts。





3  如果逐一修改材料是很麻烦的。我写了一个Perl语言脚本,用来生成修改零件材料的命令。脚本等会贴出来。




4  执行Perl脚本,生成宏文件如下。100多行,每行修改一个part的材料。





5  在ADAMS里面导入宏文件





6   按F3弹出命令窗口,输入宏的名称,执行宏。




7  宏正在执行。

本帖子中包含更多资源

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

×
回复 不支持

使用道具 举报

 楼主| 发表于 2011-5-4 21:16:18 | 显示全部楼层 来自 浙江杭州
本帖最后由 fnems 于 2011-5-4 21:17 编辑

脚本和宏,象征性的收1仿真币作为统计。如果有网友介意,可以向我发邮件索取,
flbq [at] tom.com

Perl脚本。实际上前面截图里面已经能看到代码了。



生成的宏文件

本帖子中包含更多资源

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

×
回复 不支持

使用道具 举报

发表于 2011-5-4 21:21:17 | 显示全部楼层 来自 黑龙江哈尔滨
5# fnems
呵呵,楼主还收仿真币啊,本来还想帮你解决的,不过你自己解决了就算了。呵呵,不过你的宏命令不够简洁。
回复 不支持

使用道具 举报

发表于 2011-5-4 23:08:27 | 显示全部楼层 来自 黑龙江哈尔滨
没有简单点的方法吗
回复 不支持

使用道具 举报

发表于 2011-5-4 23:30:02 | 显示全部楼层 来自 黑龙江哈尔滨
7# haipenghappy
方法就是用宏命令的,不过不需要用Perl来生成宏命令的,自己动手写一个就行,不难
回复 不支持

使用道具 举报

发表于 2011-5-23 10:10:06 | 显示全部楼层 来自 江苏常州
不会用宏命令,都是在三维软件里改好了导入到Adams里的
回复 不支持

使用道具 举报

发表于 2011-5-23 17:01:26 | 显示全部楼层 来自 北京丰台
9# fnems
LZ的宏命令用得不错啊
回复 不支持

使用道具 举报

发表于 2011-7-11 09:11:34 | 显示全部楼层 来自 辽宁大连
都是高手啊
回复 不支持

使用道具 举报

发表于 2011-7-11 15:33:17 | 显示全部楼层 来自 辽宁大连
我也有一种设想不知道成不成,主要是我不会宏语言。
就是先定义一种材料的属性,再通过宏命令的记录来实现一种定义的宏语句,然后再批量定义。具体实现不是很了解,希望大家给出建意
我要做的模型复杂用接口输出的shell不能做接触力,所以只能用parasolid,需要定义材料属性,希望大能帮忙
回复 不支持

使用道具 举报

发表于 2011-7-25 13:58:46 | 显示全部楼层 来自 江苏镇江
很好的东西  收场了谢谢
回复 不支持

使用道具 举报

发表于 2011-8-8 14:23:25 | 显示全部楼层 来自 湖北武汉
楼主啊 你还收费啊 晕,宏语句用的是什么语言编的啊?
回复 不支持

使用道具 举报

发表于 2011-8-8 14:23:37 | 显示全部楼层 来自 湖北武汉
楼主啊 你还收费啊 晕,宏语句用的是什么语言编的啊?
回复 不支持

使用道具 举报

发表于 2011-8-8 16:32:38 | 显示全部楼层 来自 安徽合肥
向楼主学习啊啊
回复 不支持

使用道具 举报

发表于 2011-8-9 09:34:37 | 显示全部楼层 来自 江苏徐州
我也不懂宏语言,谁能免费提供具体步骤的?
回复 不支持

使用道具 举报

发表于 2011-8-9 10:01:20 | 显示全部楼层 来自 天津
不错,都是高手,
看来我也该学学一点语言了,
回复 不支持

使用道具 举报

发表于 2011-11-27 20:00:52 | 显示全部楼层 来自 天津
都是高手,膜拜
回复 不支持

使用道具 举报

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

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-11-2 01:22 , Processed in 0.067369 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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