Civil 3d设置横断面图样式
一位网友提出这样一个问题:
在使用SectionView.StyleName属性时,
会抛出异常:need to override property StyleName.
我测试的结果一样,
同时测试了StyleId
结果是类似的:need to override property StyleId().
于是我想通过COM方式来实现,
经过测试,
能够达到目的,
虽然绕了一些,
但总比不能实现要强一点点。

测试的代码如下:
[CommandMethod("MyGroup", "Tt101", CommandFlags.Modal)]
public void TestCommand1() // This method can have any name
{
Document doc = Application.DocumentManager.CurrentDocument;
Editor ed = doc.Editor;
CivilDocument cDoc = CivilApplication.ActiveDocument;
PromptEntityOptions peo = new PromptEntityOptions("\n拾取横断面");
peo.SetRejectMessage("\n选择横断面图");
peo.AddAllowedClass(typeof(SectionView),true);
PromptEntityResult per = ed.GetEntity(peo);
if (per.Status==PromptStatus.OK)
{
try
{
//////using (Transaction tr = doc.TransactionManager.StartTransaction())
//////{
////// SectionView sv = per.ObjectId.GetObject(OpenMode.ForWrite) as SectionView;
////// //sv.StyleName = "测试样式"; //need to override property StyleName.
////// //var id = cDoc.Styles.SectionViewStyles["测试样式"];
////// //sv.StyleId = id; //need to override property StyleId().
////// tr.Commit();
//////}
//////////////////////////////////////////////////////////////////////////
IntPtr comIdPtr = per.ObjectId.OldIdPtr;
long comId = comIdPtr.ToInt64();
AeccSectionView asv = ComCivilDoc.ObjectIdToObject(comId);
var id = cDoc.Styles.SectionViewStyles["测试样式"];
AeccSectionViewStyle asvs= ComCivilDoc.ObjectIdToObject(id.OldId);//偷懒,试一下过时的方法还行不?
asv.set_Style(asvs);
}
catch (System.Exception ex)
{
ed.WriteMessage(ex.Message);
}
}
}
代码中的ComCivilDoc详见《AutoCAD Civil 3D .NET二次开发》第226页,
转换方法在第232页。
测试以上代码需要测试的dwg文件中具有名称为“测试样式”的横断面图样式。
Civil 3d设置横断面图样式的更多相关文章
- 利用Civil 3D API更改曲面的样式
如果你需要更改曲面的样式,比如更改等高线的颜色等等,在Civil 3D中,你可以通过在toolspace中选中曲面,然后点右键选择“Edit surface style…”然后切换到“Display” ...
- Civil 3D CustomDraw .NET混合项目设置
样例文件中的CustomDraw项目使用的是COM API,但COM API不完整,某些时候需要使用.NET API,此时需要将C++项目设置成"公共语言运行时支持(/clr)"但 ...
- AutoCAD/Civil 3D 学习笔记
Civil学习笔记 1.环境配置 1.添加引用: Civil二次开发需要5个基本的AutoCAD的dll引用-acdbmgd.dll, acmgd.dll, accoremgd.dll, AecBas ...
- asp.net数据导出到excel表格,并设置表格样式
1.首先在项目中添加引用
- System.Diagnostics.Process启动Civil 3D及AutoCAD
QQ群友提出问题, 如何启动Civil 3D或者AutoCAD, Kean的博客里有相关的文章 http://through-the-interface.typepad.com/through_the ...
- Civil 3D 2017本地化中VBA程序移植到2018版中
中国本地化包简直就是一块鸡肋, 但对于某些朋友来说还真离不了: 可惜中国本地化包的推出一直滞后, 在最新版软件出来后1年多, 本地化还不一定能够出来, 即使出来了, 也只能是购买了速博服务的用户才能得 ...
- Civil 3D 二次开发 创建Civil 3D 对象—— 01 —— 创建几何空间点
这一小节,我们创建派生于CivilCreateEntityDemo的类CivilCreateCogoPoint,来创建几何空间点. 1 创建类并添加字段及方法 首先在项目资源管理器中向本项目中添加类, ...
- js设置css样式.
在js设置css样式做法 var obj = document.getElementById('div'); obj.style.width = '100px'; obj.style.height = ...
- JS设置CSS样式的几种方式
用JS来动态设置CSS样式,常见的有以下几种 1. 直接设置style的属性 某些情况用这个设置 !important值无效 如果属性有'-'号,就写成驼峰的形式(如textAlign) 如果想保 ...
随机推荐
- 【重磅干货整理】机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总
[重磅干货整理]机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总 .
- 网盘直链工具 winform版 V1.0
软件需要.net2.0支持 win7及以上版本用户无需安装 xp用户需要安装 支持网盘:好盘 坚果云 百度云 乐视云 华为网盘 微云 新浪网盘 126disk 速度盘 乐齐盘 天空网盘 千脑网盘 可乐 ...
- SpringBoot整合篇
目录 SpringBoot整合篇 SpringBoot简介 SpringBoot运行 SpringBoot目录结构 整合JdbcTemplate @RestController 整合JSP 整合JPA ...
- 【asp.net core mvc + angular6实战】 - 1. 环境搭建
为什么打算写这些文章? 没有为什么,只是为了学习Angular和更了解.Net Core等技术 需要用到的技术? 后端使用.Net Core 2.1 + EF Core 2.1 + Mysql 5.7 ...
- 一起学习造轮子(三):从零开始写一个React-Redux
本文是一起学习造轮子系列的第三篇,本篇我们将从零开始写一个React-Redux,本系列文章将会选取一些前端比较经典的轮子进行源码分析,并且从零开始逐步实现,本系列将会学习Promises/A+,Re ...
- Linux iostat 命令
iostat 命令是 I/O statistics(输入/输出统计)的缩写,用来报告系统的 CPU 统计信息和块设备及其分区的 IO 统计信息.iostat 是 sysstat 工具集的一个工具,在 ...
- python二:数据类型举例练习--小白博客
一.#字符串 res = 'hello,world' 1.#字符串切片取值:******* print(res[0:5]) 顾头不顾尾,取下标0-4的字符 print(res[0:-1:2]) 步长为 ...
- python3 pip 安装Scrapy在win10 安装报错error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools
问题描述 当前环境win10,python_3.6.1,64位. 在windows下,在dos中运行pip install Scrapy报错: building 'twisted.test.raise ...
- H5 70-清除浮动方式五
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- PHP api接口和SQL数据库关联
数据库表创建 服务器环境配置.连接 .操作.数据库 API接口 原则: