服务器之家

服务器之家 > 正文

C#获取Visio模型信息的简单方法示例

时间:2022-02-10 15:18     来源/作者:衆尋

前言

office visio 是绘制各种类型图表的一个很好的工具,可以绘制业务流程的流程图、网络图、工作流图、数据库模型图、软件图,以及家居设计图等等,可用于可视化和简化业务流程、跟踪项目和资源、绘制组织结构图、映射网络、绘制建筑地图以及优化系统。

在最近的一个项目,要求导出visio图纸,因为是建筑类的,所以,需要设置墙壁,门,房间等信息的参数。

拿墙壁为例,选中墙壁模型,右键属性,会弹出以下对话框。

C#获取Visio模型信息的简单方法示例

需要设置墙长、墙壁厚度等一些列信息。

现在c#操作visio里例子比较少,所以,花了好久,都没有看到有用的帖子,直到今天下午,在bing里发现了一个帖子,顿时让我受益匪浅。原贴地址:

操作方法如下:

一、打开visio的开发者模式

文件--选项--高级--以开发人员模式运行

C#获取Visio模型信息的简单方法示例

二、查看模型的属性

选中模型--右键显示shapesheet,在visio的下面就会出现模型的所有属性了。

C#获取Visio模型信息的简单方法示例C#获取Visio模型信息的简单方法示例

下滑,可以在shape data里看到此模型的属性信息

C#获取Visio模型信息的简单方法示例

三、c#代码操作

1、打开墙模型模板

C#获取Visio模型信息的简单方法示例

wall_m.vss是墙的模型模板,这个推荐大家用everything搜索一下,就能拿到模板路径了,自己需要哪个去里面找。

2、建立模型并设置参数

C#获取Visio模型信息的简单方法示例

建立模型很方便,就是用document.masters属性加模型名称,模型名称在哪呢,其实很好找,就是visio的模型名称,用汉字就可以。

C#获取Visio模型信息的简单方法示例

设置模型的参数有两种方式,图片中用粉色框,框起来的部分。

网上大部分的资料里都是用的第一个方法,这个方法不太方便记忆,而第二个方法就很方便了,也就是本文介绍的简单的方式。

模型名.cells["属性名"].formula

属性名,就是shapesheet里看到的那些属性,都是string类型,可以直接设置。设置成功以后,就是以下的图了。

C#获取Visio模型信息的简单方法示例

3、遇到的问题

并不是所有的属性,设置了就一定好使,问题,我也不知道出现在哪,其中一个就是填充属性。

fillforegnd是填充属性,设置代码为

?
1
m_sp4.cells["fillforegnd"].formula = "rgb(0,0,0)";

通过参数查看,设置成功

C#获取Visio模型信息的简单方法示例

并且右键模型,格式--填充,如下图

C#获取Visio模型信息的简单方法示例

其实已经设置成功了,但是模型的填充颜色不变,这个就很尴尬了,但是如果用基础模型,就是方形、圆形那些基础模型,就可以显示填充为黑色,所以不知道问题在哪里。

源码下载:点击这里

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。

原文链接:http://www.cnblogs.com/ZXdeveloper/p/7810850.html

标签:

相关文章

热门资讯

蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2022年最旺的微信头像大全 微信头像2022年最新版图片
2022年最旺的微信头像大全 微信头像2022年最新版图片 2022-01-10
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
返回顶部