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

[二次开发] Python 指定材料属性

[复制链接]
发表于 2014-10-28 13:54:14 | 显示全部楼层 |阅读模式 来自 大连理工大学
图中的网格和圆都是随机产生的。需要在圆内和圆外指定不同的属性。不知道有没有大神知道怎么办啊。
哪位大神可以帮帮小弟。


本帖子中包含更多资源

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

×
发表于 2014-10-28 15:28:03 | 显示全部楼层 来自 香港
Simdroid开发平台
假设这都在平面内,模型是一个平面被圆切分。
可以获得这个part的所有的face,根据每个face的PointOn属性点,判断其是不是在某一个圆内(根据点到圆心的距离判断),根据判断结果赋予不同的截面属性。
回复 不支持

使用道具 举报

 楼主| 发表于 2014-10-28 17:05:05 | 显示全部楼层 来自 大连理工大学
JingheSu 发表于 2014-10-28 15:28
假设这都在平面内,模型是一个平面被圆切分。
可以获得这个part的所有的face,根据每个face的PointOn属性点 ...

实际上建模中这些圆是不存在的,全部都是网格,圆只是为了定位圆内的材料。这样的话,还有办法没有啊。求教啊。
回复 不支持

使用道具 举报

发表于 2014-10-29 09:03:12 | 显示全部楼层 来自 香港
fengshiwuhen 发表于 2014-10-28 17:05
实际上建模中这些圆是不存在的,全部都是网格,圆只是为了定位圆内的材料。这样的话,还有办法没有啊。求 ...

那一半位于圆内,一般位于圆外的怎么赋材料?
回复 不支持

使用道具 举报

 楼主| 发表于 2014-10-29 09:37:29 | 显示全部楼层 来自 大连理工大学
JingheSu 发表于 2014-10-29 09:03
那一半位于圆内,一般位于圆外的怎么赋材料?

有三种材料,全部位于园内的赋予一种材料,全部在圆外的赋予第二种材料,一半在圆内,一半在圆外的赋予第三种材料。
回复 不支持

使用道具 举报

发表于 2014-10-29 10:20:27 | 显示全部楼层 来自 北京
fengshiwuhen 发表于 2014-10-29 09:37
有三种材料,全部位于园内的赋予一种材料,全部在圆外的赋予第二种材料,一半在圆内,一半在圆外的赋予第 ...

还可以一个单元被赋于几种不同的材料属性的???
回复 不支持

使用道具 举报

发表于 2014-10-29 10:28:21 | 显示全部楼层 来自 香港
fengshiwuhen 发表于 2014-10-29 09:37
有三种材料,全部位于园内的赋予一种材料,全部在圆外的赋予第二种材料,一半在圆内,一半在圆外的赋予第 ...

那也可以办:
只能针对每个面,提取其附属的vertex,然后判断如果三个vertex都在圆外,则赋予一个属性;三个都在圆内则赋予另一个属性;如果三个vertex中有一个在外面一个在里面则赋予第三种材料属性。
回复 不支持

使用道具 举报

 楼主| 发表于 2014-10-29 10:33:23 | 显示全部楼层 来自 大连理工大学
JingheSu 发表于 2014-10-29 10:28
那也可以办:
只能针对每个面,提取其附属的vertex,然后判断如果三个vertex都在圆外,则赋予一个属性; ...

这个模型是类似于桁架。不知道怎么提取附属的vertex.小弟才学Python。能不能求版主详细说下?
回复 不支持

使用道具 举报

 楼主| 发表于 2014-10-29 10:38:24 | 显示全部楼层 来自 大连理工大学
yaozongzhuan 发表于 2014-10-29 10:20
还可以一个单元被赋于几种不同的材料属性的???

你理解错啦。是赋予第三种材料。
回复 不支持

使用道具 举报

 楼主| 发表于 2014-10-29 14:30:45 | 显示全部楼层 来自 大连理工大学
JingheSu 发表于 2014-10-29 10:28
那也可以办:
只能针对每个面,提取其附属的vertex,然后判断如果三个vertex都在圆外,则赋予一个属性; ...

摸索了 一下。使用这个语句可以控制寻找一定边界范围内的几何体e.getByBoundingSphere((xcoordinate[0],ycoordinate[0],0),radius[0]),但是很怪。有些线明明在圆内却并没有选择。这个不知道是为什么。

本帖子中包含更多资源

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

×
回复 不支持

使用道具 举报

发表于 2014-10-30 10:06:35 | 显示全部楼层 来自 香港
fengshiwuhen 发表于 2014-10-29 14:30
摸索了 一下。使用这个语句可以控制寻找一定边界范围内的几何体e.getByBoundingSphere((xcoordinate[0],y ...

这个需要全部在圆内才会被选中,我记得
回复 不支持

使用道具 举报

 楼主| 发表于 2014-10-30 10:24:59 | 显示全部楼层 来自 大连理工大学
本帖最后由 fengshiwuhen 于 2014-10-30 10:26 编辑
JingheSu 发表于 2014-10-30 10:06
这个需要全部在圆内才会被选中,我记得

不知道有没有语句可以选中包含有某一点的所有单元?,如果用findAt语句的话只能选中一个单元。
回复 不支持

使用道具 举报

发表于 2014-10-30 10:35:34 | 显示全部楼层 来自 香港
31.9 MeshNode object
有个成员函数31.9.4 getElements()可以获得这个节点周围的单元
回复 不支持

使用道具 举报

 楼主| 发表于 2014-10-30 20:44:55 | 显示全部楼层 来自 大连理工大学
本帖最后由 fengshiwuhen 于 2014-10-30 22:16 编辑
JingheSu 发表于 2014-10-30 10:35
31.9 MeshNode object
有个成员函数31.9.4 getElements()可以获得这个节点周围的单元

求助版主。我创建了一个集合内容Matrix=[
mdb.models['lattice'].parts['lattice'].edges.findAt(((47.0, 50.0, 0.0),)),
mdb.models['lattice'].parts['lattice'].edges.findAt(((47.0, 46.0, 0.0),))
mdb.models['lattice'].parts['lattice'].edges.findAt(((50.0, 45.0, 0.0),),)]
直接使用region = regionToolset.Region(edges=Matrix[0])时会出现错误,
TypeError: edges; 已找到 tuple, 应当提供 GeomSequence,恳请版主指点。
回复 不支持

使用道具 举报

发表于 2015-12-26 21:44:06 | 显示全部楼层 来自 重庆
您好,您那个随机生成的网格是怎么做到了呢?可否告知一下思路哈?
回复 不支持

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 21:36 , Processed in 0.044391 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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