# 定义位移云图函数,datacomponent可选值为 "Mag" "X" "Y" "Z" 
# usetracking 是否使用局部坐标系, "False" 不使用局部坐标系 ,"True"使用局部坐标系
def counter_displacement (datacomponent,usetracking = "False"):
    import hw
    import hw.hv as hv
    ses = hw.Session()
    page = ses.get(hw.Page)
    win = ses.get(hw.Window)
    # 获取云图object
    res = ses.get(hv.Result)
    # 设置云图类型
    rescounter = hv.ResultDefinitionScalar(dataType="Displacement", dataComponent=datacomponent,)
    # 设置是否使用局部坐标系
    if usetracking == "True":
        rescounter.useTracking = True
        print("use tracking")
    res.plot(rescounter)
#  此处只是示例python 读取云图方法
#  实际应用中hv.ResultDefinitionScalar(dataType="stress",dataComponent="vonMises", layer="Max")
#  datatype,datacomponent,layer 可设置为函数的参数
def counter_vonMises ():
    import hw
    import hw.hv as hv
    ses = hw.Session()
    page = ses.get(hw.Page)
    win = ses.get(hw.Window)
    # 获取云图object
    res = ses.get(hv.Result)
    # 设置云图类型
    rescounter = hv.ResultDefinitionScalar(dataType="stress",dataComponent="vonMises", layer="Max")
    # 通过collection 选择需要读取云图的零件 此处通过id选择
    # 此处读取两个件 多个件可通过for循环 加入collection中
#   col = hv.Collection(hv.Part,populate=False)
#   col.addByID(hv.Part,2400013)
#   col.addByID(hv.Part,2400011)
#   rescounter.collection = col
    # 上面四句命令可以省略,默认读取整个模型的云图
    res.plot(rescounter)
    # 设置counter legend
    # 获取legend object
    leg = hv.LegendScalar()
    # 设置legend level (有几种颜色层级)
    leg.numberOfLevels = 3
    # 设置数值格式 (auto, fixed, engineering and scientific.)
    leg.numericFormat = "fixed"
    # 设置数值精度 例如保留两位小数
    leg.numericPrecision = 2
    # 设置颜色通过rgb (level index,color)
    leg.setLevelColor(3,(250,0,0))
    # 设置颜色通过颜色名 (level index,color)
    leg.setLevelColor(2,"blue")
    # 设置颜色通过hv里面颜色id 8代表灰色 (level index,color)
    leg.setLevelColor(1,8)
    # 设置云图数值
    leg.setLevelValue(1,2)
    leg.setLevelValue(2,5)
    # 设置云图 阈值
    leg.thresholdMax = True
    leg.thresholdMaxValue = 350
def create_tracking_systems ():
    import hw
    import hw.hv as hv
    ses = hw.Session()
    page = ses.get(hw.Page)
    win = ses.get(hw.Window)
    model = ses.get(hv.Model)
    hw.evalHWC('tracking create "Tracking System 1"')
    hw.evalHWC('tracking "Tracking System 1" node 24031454')
    hw.evalHWC('tracking makecurrent "Tracking System 1"')

更多笔记,关注公众号 CAE仿真记

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐