因为是建筑类的

时间:2021-10-29 08:18:50

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

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

因为是建筑类的

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

此刻C#操纵Visio里例子对照少,所以,花了好久,都没有看到有用的帖子,直到今天下午,在Bing里发明了一个帖子,马上让我受益匪浅。原贴地点:

操纵要领如下:

一、打开Visio的开发者模式

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

因为是建筑类的

二、检察模型的属性

选中模型--右键显示ShapeSheet,在Visio的下面就会呈现模型的所有属性了。

因为是建筑类的

因为是建筑类的

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

因为是建筑类的

三、C#代码操纵

1、打开墙模型模板 

WALL_M.VSS是墙的模型模板,这个保举大家用everything搜索一下,就能拿到模板路径了,本身需要哪个去里面找。

2、成立模型并设置参数

因为是建筑类的

成立模型很便利,就是用document.Masters属性加模型名称,模型名称在哪呢,其实很好找,就是Visio的模型名称,用汉字就可以。

因为是建筑类的

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

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

模型名.Cells["属性名"].Formula

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

因为是建筑类的

3、遇到的问题

并不是所有的属性,设置了就必然好使,问题,我也不知道呈此刻哪,此中一个就是填充属性。

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

m_sp4.Cells["FillForegnd"].Formula = "RGB(0,0,0)";

通过参数检察,设置告成

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

因为是建筑类的

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