//弹窗预警
MessageUtil.Warn(“特征点不在剖面框内”);
//CAD命令栏输出
_doc.PrintMessage(“开始提取特征点,输入“R”退出提取”);
A?B:C即判断A,若A为真则执行B,否则执行C。
(result ? “导出剖面坐标表完成。” : “导出剖面坐标表失败。”);
bool ?true-do:false-do
//读取在CAD命令栏输入的内容,带选择项的
Dictionary<string, string> dict = new Dictionary<string, string> { { “C”, “继续” }, { “R”, “退出” } };
string strKey = PromptUtil.GetKeyWord(_doc, “是否继续提取特征点”, dict, “C”);
if (string.IsNullOrWhiteSpace(strKey))
return;
switch (strKey)
{
case “R”:
_isContinueCreatePoint = false;
break;
case “C”:
_isContinueCreatePoint = true;
break;
default:
_isContinueCreatePoint = true;
break;
}
//获取CAD中二维坐标点
Document doc = CommonUtil.GetMdiDocument();
PromptPointOptions options = new PromptPointOptions("");
options.AllowNone = false;
//得到用户在地图中点击的点
PromptPointResult result = doc.Editor.GetPoint(options);
doc.PrintMessage(result.Value.ToString());

//获取用户输入的数值
PromptIntegerOptions intOptions = new PromptIntegerOptions(“请输入数值”) { LowerLimit = 1, UpperLimit = 9999, DefaultValue = 1 };
//获取用户输入的数值
//cadeditor
PromptIntegerResult intResult = base.Doc.Editor.GetInteger(intOptions);
if (intResult.Status == PromptStatus.OK)
{
num = intResult.Value;
}
//左填充0,一共有X位,如在str后加0,组成X位字符串
str.PadLeft(X,‘0’);
List xx = new List();
//寻找到xx中符合条件的第一个元素,并将值返回;
xx.Find(条件)
//日期格式为20200101
string strRq = DateTime.Now.ToString(“yyyyMMdd”);
//string 保留两位小数再转为double,不加try的会报错
double zdmj = 0.0;
double.TryParse(zdModel.YT_ZD_ZDMJ,out zdmj);
double.Parse(zdmj.ToString(“F2”),out zdmj);
// double四舍五入保留两位小数,不需要转换
zdmj = Math.Round(zdmj,2);
//错误提示弹窗
MessageBox.Show(“您选择的不是功能区属性,设置第一个图形的属性成功。”);

//获得类型
a.GetType().ToString();
//查询一个列表中是否有某个元素
string ch = chList.FirstOrDefault(p => sjc.ToString().Equals§);

//找到一个列表中符合条件的所有元素
List startPointList = pointList.FindAll(p => p.Position.X == mPointPositionX[0]);

//调用CAD命令
doc.SendStringToExecute("._" + CommandInfo.DrawLMttkSelect + " “, true, false, false);
//调用CAD命令
Autodesk.AutoCAD.ApplicationServices.Document doc = CommonUtil.GetMdiDocument();
doc.Command(”_ungroup");
组相关
编组 g或者classicgroup
是否看到组修改pickstyle的值
trans不能有两层,若有两个trans可以分成两部分
//引用有冲突时使用,强引用
using LayerModel = YITU.REMIS.Model.Export.LayerModel;
//将entity转换为多段线
Polyline ply = entity as Polyline;
//地图缩放全图
CommonUtil.ZoomFullExtend();
//根据id得到图形
using (var trans = _doc.Database.TransactionManager.StartOpenCloseTransaction())
{
//根据id得到图形
Polyline plyFw = trans.GetObject(fwId, OpenMode.ForRead) as Polyline;
}
//kvp使用
List<KeyValuePair<string, Polyline>> kpZdList = new List<KeyValuePair<string, Polyline>>();
kpZdList.Add(new KeyValuePair<string, Polyline>(zdModel.YT_ZD_TDQLRXM, otherZdPly));
//升序排序KVP
keyValuePairs = keyValuePairs.OrderBy(p => p.Key).ToList();
//降序排序KVP
keyValuePairs = keyValuePairs.OrderByDescending(p => p.Key).ToList();
//切换数据库
Database prevWorkingDb = HostApplicationServices.WorkingDatabase;
HostApplicationServices.WorkingDatabase = dbTarget;

//中间操作
//操作完成切换回去
HostApplicationServices.WorkingDatabase = prevWorkingDb;
//读取xml
SystemConfigModel configModel = XmlUtil.Deserialize(ConfigInfo.PathSystemConfig);
//保存xml
XmlUtil.Serialize(AppModel.SystemConfig, ConfigInfo.PathSystemConfig);
//将顿号替换为“/”
string[] tfhList = strTfh.Split(’、’);//拆分字符串,根据、
return string.Join("/", tfhList);
//拆分字符串
strng[] arr = strOldJzxwz.Split(’/’);

//join的使用,必须是list或者数组[]
List strList = new List();
for (int j = qdh + 1; j < zdh; j++)
{
.Add(“J” + j);
}
string str = “”;
str = string.Join("、", strList);
//打开多个文件夹
OpenFileDialog dlg = new OpenFileDialog();
dlg.Multiselect = true;//等于true表示可以选择多个文件
dlg.DefaultExt = “.txt”;
dlg.Filter = “记事本文件|*.txt”;
if (dlg.ShowDialog() == DialogResult.OK)
{
foreach (string file in dlg.FileNames)
{
StreamReader sr = new StreamReader(file);
string line;
while ((line = sr.ReadLine()) != null)
{
//在此处添加需要对文件中每一行数据进行处理的代码
}
sr.Close();
}
}
//得到线型ID,先创建多段线,再设置属性
ObjectId lineTypeId = trans.GetLineTypeId(“Continuous”);
if (lineTypeId == ObjectId.Null)
{
return ply;
}

C#二次开发CAD常用的方法和注意事项相关推荐

  1. iOS开发中常用的方法

    iOS开发中常用的方法 系统弹窗: 过期方法: UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"确认报价" ...

  2. NovAtel GPS常用设置方法及注意事项

    NovAtel GPS常用设置方法及注意事项 NovAtel GPS常用设置方法及注意事项(定制版).pdf P12 P13 P14

  3. python能二次开发cad么_2,手动创建CAD二次开发项目--AutoCAD二次开发(2020版)

    本项目使用手动创建,意为不使用SDK模板. 从Visual Studio的"文件"下拉菜单中,选择"新建"->"项目...". 在出现 ...

  4. lisp 套料_【CAD二次开发CAD定制开发cad插件开发LISP开发】- 中国工程机械网

    使用CAD的工程师知道,在复杂 CAD问题或特殊用途的设计中,使用原有软件的功能往往难以解决问题,或者说需要花费很多的精力和时间才能完成需要的内容.在这种情况下,如果利用CAD的API函数,根据客户的 ...

  5. AutoCAD二次开发——Cad弹出对话框

    在Cad二次开发中,不止是去引用Winform或者Wpf的弹出对话框MessageBox. 其实Cad类库本身就有对话框对象 Application.ShowAlertDialog("&qu ...

  6. wordpress主题二次开发时常用到的函数

    WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站.也可以把 WordPress当作一个内容管理系统(CMS)来使用. WordPre ...

  7. python开发微信订阅号如何申请_基于Python的微信公众平台二次开发(Python常用框架、订阅号开发、公众号开发)...

    1.1.课程的背景 微信公众平台的火热程度已经不用多言,无论是个人还是企业,政府还是商家,都已经开始搭建微信公众平台,微信的作用已经被各界人士认可.微信公众平台的技术需求市场缺口巨大.同时python ...

  8. AutoCAD二次开发——CAD数据库层次关系(笔记22.11.29)

    笔记:CAD数据库层次结构总结 https://www.likecs.com/show-313797.html 了解AutoCAD对象层次结构--1--应用程序-爱码网 (likecs.com) 了解 ...

  9. c 语言cad 二次开发,cad编程语言(AUTO CAD 得二次开发语言及工具)

    cad visual lisp语言编程问题 (defun C:HZTY ( / #os1 @cd1 @cd2 @p1 @p2 @p3 ang1 ang2 ang3 ang4 cd gd jd p1 p ...

  10. C# AutoCAD ActiveX 二次开发 -- CAD图层合并

    因使用AutoCAD版本为2004,2006版本以后才有.net开发包,因此采用ActiveX方式进行开发. 功能为:将几个CAD图层合并到其中一个上,并设置坐标,线和标记的颜色和字体. CAD对象的 ...

最新文章

  1. python中的逻辑运算符and和or
  2. 怎么获取html的某个元素,MSHTML怎么获取一个网页元素对象
  3. dll文件32位64位检测工具以及Windows文件夹SysWow64的坑
  4. (转)LINQ to Entities 多条件动态查询
  5. ASP.NET 配置log4net日志功能
  6. spring图片转视频_一直在用的 Spring,你知道它的加载原理吗?
  7. 如何成为一个优秀的程序员_如何成为一名优秀的程序员
  8. 一起来学习LiteOS中断模块的源代码
  9. 腾讯或推动斗鱼虎牙合并;拼多多推出“百亿补贴节”;Electron 9.2.0 发布| 极客头条
  10. C#中反射的使用(How to use reflect in CSharp)(3)Emit的使用
  11. python生成验证码_Python快速生成验证码
  12. MySQL之Handler_read_*查看索引使用情况
  13. Filmage Screen for Mac 专业录屏软件用这个就足够
  14. Matlab-杆单元整体刚度矩阵组装(有限元基础-曾攀)
  15. mysql分布式集群实现原理
  16. 什么是CMA?你对CMA证书了解多少?
  17. 秦九韶算法java程序_算法 秦九韶算法
  18. 计算机操作系统安全序列详解,操作系统知识梳理
  19. python 预测分析_如何用Python来预测分析离职率呢
  20. STM32实现水下四旋翼(七)传感任务3——MS5837水深传感器读水深(超详细)

热门文章

  1. ultravnc 设置代理_选择代理记账有何好处及注意事项
  2. 三进制计算机比二进制快,三进制会取代二进制计算机吗?
  3. 进行一个幂的运算(数学)
  4. 编码器输出:HTL、TTL
  5. 微信小程序如何从数组里取值_微信小程序 怎么数组里面值
  6. 日历控件修改的JS代码
  7. 再见python你好go语言_再见,Python。你好,Go语言。
  8. 什么是机器学习里的优化?
  9. 鼠标双击成了查看属性是怎么回事?怎样解决?
  10. RoadMap:面向自动驾驶视觉定位的轻量级语义地图(ICRA2021)