C# 取Visio模型信息的简易方法
最近的一个项目,要求导出Visio图纸,因为是建筑类的,所以,需要设置墙壁,门,房间等信息的参数。
拿墙壁为例,选中墙壁模型,右键属性,会弹出以下对话框。
需要设置墙长、墙壁厚度等一些列信息。
现在C#操作Visio里例子比较少,所以,花了好久,都没有看到有用的帖子,直到今天下午,在Bing里发现了一个帖子,顿时让我受益匪浅。原贴地址:http://mikeborozdin.com/post/reading-and-writing-visio-shape-information-with-c/
操作方法如下:
一、打开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)";
通过参数查看,设置成功
并且右键模型,格式--填充,如下图
其实已经设置成功了,但是模型的填充颜色不变,这个就很尴尬了,但是如果用基础模型,就是方形、圆形那些基础模型,就可以显示填充为黑色,所以不知道问题在哪里。
C# 取Visio模型信息的简易方法的更多相关文章
- Java广度优先爬虫示例(抓取复旦新闻信息)
一.使用的技术 这个爬虫是近半个月前学习爬虫技术的一个小例子,比较简单,怕时间久了会忘,这里简单总结一下.主要用到的外部Jar包有HttpClient4.3.4,HtmlParser2.1,使用的开发 ...
- 【图文详解】scrapy爬虫与动态页面——爬取拉勾网职位信息(2)
上次挖了一个坑,今天终于填上了,还记得之前我们做的拉勾爬虫吗?那时我们实现了一页的爬取,今天让我们再接再厉,实现多页爬取,顺便实现职位和公司的关键词搜索功能. 之前的内容就不再介绍了,不熟悉的请一定要 ...
- 运用SharedPreferences“偷取”输入的信息
运用SharedPreferences"偷取"输入的信息 本次的任务是 利用SharedPreferences来完成信息的保存和读取 就是你输入什么 手机就可以把输入的内容&quo ...
- python itchat 爬取微信好友信息
原文链接:https://mp.weixin.qq.com/s/4EXgR4GkriTnAzVxluJxmg 「itchat」一个开源的微信个人接口,今天我们就用itchat爬取微信好友信息,无图言虚 ...
- TensorFlow模型保存和加载方法
TensorFlow模型保存和加载方法 模型保存 import tensorflow as tf w1 = tf.Variable(tf.constant(2.0, shape=[1]), name= ...
- Scrapy框架——CrawlSpider爬取某招聘信息网站
CrawlSpider Scrapy框架中分两类爬虫,Spider类和CrawlSpider类. 它是Spider的派生类,Spider类的设计原则是只爬取start_url列表中的网页, 而Craw ...
- 爬虫框架之Scrapy——爬取某招聘信息网站
案例1:爬取内容存储为一个文件 1.建立项目 C:\pythonStudy\ScrapyProject>scrapy startproject tenCent New Scrapy projec ...
- Python爬虫实战---抓取图书馆借阅信息
Python爬虫实战---抓取图书馆借阅信息 原创作品,引用请表明出处:Python爬虫实战---抓取图书馆借阅信息 前段时间在图书馆借了很多书,借得多了就容易忘记每本书的应还日期,老是担心自己会违约 ...
- 教您使用java爬虫gecco抓取JD全部商品信息
gecco爬虫 如果对gecco还没有了解可以参看一下gecco的github首页.gecco爬虫十分的简单易用,JD全部商品信息的抓取9个类就能搞定. JD网站的分析 要抓取JD网站的全部商品信息, ...
随机推荐
- [ASP.NET教程] 防止表单重复提交
第一种方法:javascript控制.缺点,一般用户使用没问题,但是懂点js的还是可以强行重复提交.而且,后退再提交,你也没啥办法.第二种方法:服务器控制.后台生成一个token,存入session或 ...
- SQL server2005学习笔记(一)数据库的基本知识、基本操作(分离、脱机、收缩、备份、还原、附加)和基本语法
在软件测试中,数据库是必备知识,假期闲里偷忙,整理了一点学习笔记,共同探讨. 阅读目录 基本知识 数据库发展史 数据库名词 SQL组成 基本操作 登录数据库操作 数据库远程连接操作 数据库分离操作 数 ...
- 平稳切换nginx版本
html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...
- 将 C# 枚举反序列化为 JSON 字符串 实践
一.定义枚举 public enum SiteTypeEnum { 中转部 = 1, 网点 = 2 } 还有 BooleanEnum 和 OptTypeEnum 这两个枚举,这里暂且省略了它们的定义. ...
- JIRA-6.3.6安装与破解
首先下载JIRA-6.3.6的安装包: wget http://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.3. ...
- OpenSCAD 建模:矿泉水瓶盖
下载地址:https://github.com/ZhangGaoxing/openscad-models/tree/master/BottleCap 代码: module screw(r=){ ::] ...
- win10 uwp 右击选择 GridViewItem
有时候我们需要选择一个 GridView 的一项,通过我们右击. 于是我们需要在 GridView 的 SelectionMode 为 Single ,IsRightTapEnabled 为True ...
- 张高兴的 Xamarin.Android 学习笔记:(三)活动生命周期
本文将直接解释我写的一个示例.示例目的在于展示 Android 活动在 Xamarin 中的用法.如果有朋友对基础知识不太了解建议先学 Android . 新建一个 Xamarin.Android 项 ...
- Nginx功能展示实验
Nginx功能展示实验 Nging可以作为反代服务器:也可以作为负载均衡器,并自带根据对后端服务器健康状态检测具有增删服务器的功能:也可以作为纯Web服务器,提供Web服务. 本实验将使用Nginx实 ...
- JAVA基础知识总结:九
二.面向对象特性之继承 1.什么是继承? 如果两个或者两个以上的类具有相同的属性和方法,我们可以抽取一个类出来,在抽取出来的类中声明各个类中公共的部分 被抽取出来的类-------父类,基类,超类 两 ...