ABAQUS 中 wireType 的 NameError 警告
Warning of NameError for wireType in ABAQUS
我尝试使用脚本通过电线连接点。出现有关 NameError 的警告。
我在 abaqus 中尝试 运行 的代码:
a = mdb.models['Model-1'].rootAssembly
v11 = a.instances['r-mesh-2'].vertices
v12 = a.instances['s-mesh-1'].vertices
v13 = a.instances['r-mesh-1'].vertices
v14 = a.instances['s-mesh-1-lin-2-1'].vertices
a.WirePolyLine(points=((v11.findAt(coordinates=(2.595, 0.22, -35.7)),
v12.findAt(coordinates=(2.595, 0.2, -35.7))), (v11.findAt(coordinates=(
2.445, 0.22, -35.7)), v12.findAt(coordinates=(2.445, 0.2, -35.7))), (
v13.findAt(coordinates=(1.095, 0.22, -35.7)), v12.findAt(coordinates=(
1.095, 0.2, -35.7))), (v13.findAt(coordinates=(0.945, 0.22, -35.7)),
v12.findAt(coordinates=(0.945, 0.2, -35.7))), (v11.findAt(coordinates=(
2.595, 0.22, -35.1)), v14.findAt(coordinates=(2.595, 0.2, -35.1)))),
mergeType=IMPRINT, meshable=OFF)
a = mdb.models['Model-1'].rootAssembly
e1 = a.edges
edges1 = e1.findAt(((2.595, 0.215, -35.1), ), ((0.945, 0.215, -35.7), ), ((
1.095, 0.215, -35.7), ), ((2.445, 0.215, -35.7), ), ((2.595, 0.215, -35.7),
))
a.Set(edges=edges1, name='Wire-1-Set-1')
这是错误:
NameError:名称 'IMPRINT' 未定义
还有一次我故意把那部分代码改成'mergeType='IMPRINT',然后错误就变成了:
类型错误:合并类型;找到字符串,需要 IMPRINT、MERGE 或 SEPARATE
如何解决问题?
谢谢
给您错误的模块需要来自另一个模块的特定常量。导入具有必要常量的模块:
from abaqusConstants import *
然后像您已经在做的那样使用 mergeType=IMPRINT, ...
。或者你可以避免污染你的命名空间并改为别名:
import abaqusConstants as ac
然后使用mergeType=ac.IMPRINT, ...
.
我尝试使用脚本通过电线连接点。出现有关 NameError 的警告。
我在 abaqus 中尝试 运行 的代码:
a = mdb.models['Model-1'].rootAssembly
v11 = a.instances['r-mesh-2'].vertices
v12 = a.instances['s-mesh-1'].vertices
v13 = a.instances['r-mesh-1'].vertices
v14 = a.instances['s-mesh-1-lin-2-1'].vertices
a.WirePolyLine(points=((v11.findAt(coordinates=(2.595, 0.22, -35.7)),
v12.findAt(coordinates=(2.595, 0.2, -35.7))), (v11.findAt(coordinates=(
2.445, 0.22, -35.7)), v12.findAt(coordinates=(2.445, 0.2, -35.7))), (
v13.findAt(coordinates=(1.095, 0.22, -35.7)), v12.findAt(coordinates=(
1.095, 0.2, -35.7))), (v13.findAt(coordinates=(0.945, 0.22, -35.7)),
v12.findAt(coordinates=(0.945, 0.2, -35.7))), (v11.findAt(coordinates=(
2.595, 0.22, -35.1)), v14.findAt(coordinates=(2.595, 0.2, -35.1)))),
mergeType=IMPRINT, meshable=OFF)
a = mdb.models['Model-1'].rootAssembly
e1 = a.edges
edges1 = e1.findAt(((2.595, 0.215, -35.1), ), ((0.945, 0.215, -35.7), ), ((
1.095, 0.215, -35.7), ), ((2.445, 0.215, -35.7), ), ((2.595, 0.215, -35.7),
))
a.Set(edges=edges1, name='Wire-1-Set-1')
这是错误: NameError:名称 'IMPRINT' 未定义
还有一次我故意把那部分代码改成'mergeType='IMPRINT',然后错误就变成了: 类型错误:合并类型;找到字符串,需要 IMPRINT、MERGE 或 SEPARATE
如何解决问题?
谢谢
给您错误的模块需要来自另一个模块的特定常量。导入具有必要常量的模块:
from abaqusConstants import *
然后像您已经在做的那样使用 mergeType=IMPRINT, ...
。或者你可以避免污染你的命名空间并改为别名:
import abaqusConstants as ac
然后使用mergeType=ac.IMPRINT, ...
.