python万年历类库(python操作visio绘制故障树)

生成效果:示例介绍:,我来为大家科普一下关于python万年历类库?以下内容希望对你有帮助!

python万年历类库(python操作visio绘制故障树)

python万年历类库

生成效果:

示例介绍:

新建一个visio文件,套用故障树模板,添加故障树的模型并连线。

通过这个例子,可以将结构化的信息变成可视化的故障树。例如,用excel先分析,然后抽取绘图。

import win32com.client as win32 from win32com.client import constants appVisio = win32.gencache.EnsureDispatch("Visio.Application") vdoc = appVisio.Documents.Add("FAULT_M.VSTX") stn = appVisio.Documents.Open("FAULT_M.VSSX") #选择其中第一页 page = vdoc.Pages.Item(1) # 从模板中选择一种形状 masters = stn.Masters master = masters.ItemU("Event") shp1 = page.Drop(master, 6, 8)# shp1便于获取对象,然后进行其他的控制,例如修改内容、颜色、样式等 shp1.Text = '事件' shp2 = page.Drop(masters.ItemU("OR gate"), 6, 6) shp3 = [] shp3.append(page.Drop(masters.ItemU("Event"), 4, 4)) shp3[-1].Text = '原因A' #填写文字 shp3.append(page.Drop(masters.ItemU("Event"), 6, 4)) shp3[-1].Text = '原因B' shp3.append(page.Drop(masters.ItemU("Event"), 8, 4)) shp3[-1].Text = '原因C' # 连接添加的shape # visAutoConnectDirDown可以将连线的箭头向下 shp1.AutoConnect(shp2, constants.visAutoConnectDirDown, masters.ItemU("Dynamic connector")) for shp in shp3: shp2.AutoConnect(shp, constants.visAutoConnectDirDown, masters.ItemU("Dynamic connector"))

使用AutoConnect时,如果shape摆放过近,visio会自动调整shape的位置。

工具自动调整的效果如下:

visio自动调节shape位置的效果

将下面3个的间距调大后,连线后就没有发生位置移动了。最终带文字的效果如下:

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页