# 定义位移云图函数,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 = Trueprint("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 = 350def 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"')