cad二次开发
咩图
这个作者很懒,什么都没留下…
展开
-
梦想cad-打印
private void b() { // 创建一个无控件界面的服务器组件对象 MxDrawService ser = new MxDrawService(); // 打开文件 ser.Open("C:\\Users\\咩图\\Desktop\\新建文件夹\\K186+020 老君炉大桥\\桥墩一般构造图.dwg"); //设置成当前 ...原创 2021-04-22 09:28:07 · 126 阅读 · 0 评论 -
梦想cad-创建视口-创建布局-切换场景
private void a() { // 创建一个无控件界面的服务器组件对象 MxDrawService ser = new MxDrawService(); // 打开文件 ser.Open("C:\\Users\\咩图\\Desktop\\新建文件夹\\K186+020 老君炉大桥\\桥墩一般构造图.dwg"); //设置成当前 ...原创 2021-04-22 08:52:09 · 322 阅读 · 0 评论 -
梦想cad
入门教程http://help.mxdraw.com/?pid=70&keywords=转载 2021-03-24 14:32:20 · 277 阅读 · 0 评论 -
cad二次开发-C#-进度条
ProgressMeter pm = new ProgressMeter(); pm.Start("正在读取..."); pm.SetLimit(bufPol.NumberOfVertices*21); for(int i = 0;i<1000000;i++) { pm.MeterProgress(); //耗时操作 ...原创 2021-03-08 17:03:09 · 873 阅读 · 1 评论 -
C# cad LINQ
IEnumerable<Entity> lEn = (class1.GetEntitiesInBlock(db, block.Name, trans, OpenMode.ForWrite)); IEnumerable<Entity> lEnn = lEn.Where(c=>c.ColorIndex == 1&&c is Circle);原创 2021-03-05 15:18:38 · 273 阅读 · 0 评论 -
cad二次开发-线段合并
/// <summary> /// 向多线段Pol的尾部添加多线段newPol,前提是两个线段必须是首尾相连 /// </summary> /// <param name="Pol"></param> /// <param name="newPol"></param> /// <returns></returns> ...原创 2021-03-03 09:56:29 · 1402 阅读 · 1 评论 -
cad二次开发-在vs编译软件环境下使用-开发中的坑
1.cad中的 doc.SendStringToExecute("Extend3\n", false, false, false);是异步执行,此行代码不是按照编程顺序执行的,往往是最后执行2.Entity1.MirrorEntity方法返回的entity2中的point2d属性是Entity1的值,point3d才是镜像后的值...原创 2021-03-03 09:51:12 · 579 阅读 · 0 评论 -
cad二次开发-调用内部命令
为什么acedcmd的用法如此的诡异呀, Document doc = Application.DocumentManager.MdiActiveDocument; Editor ed = doc.Editor; ResultBuffer rb = new ResultBuffer(); rb.Add(new TypedValue(5005, "Extend")); rb.Add(new原创 2021-02-02 15:33:11 · 2462 阅读 · 1 评论 -
CAD二次开发&C#.Net编程-CAD创建右键菜单
CAD二次开发&C#.Net编程-CAD创建右键菜单 private static ContextMenuExtension m_ContextMenu; //装载右键菜单 public static void Attach() { //右键菜单 对象 m_ContextMenu = new ContextMenuExtension(); m_ContextMenu.Tit转载 2021-01-30 08:46:34 · 846 阅读 · 0 评论 -
cad二次开发-C#-VS-镜像-判断用户当前是否已选择实体-将实体对象添加到模型空间-添加实体到块表记录-将块定义插入到模型空间
创建新图层public static void CreateLayer(string LayerName) { Document acDoc = Application.DocumentManager.MdiActiveDocument; Database acCurDb = acDoc.Database;//获取当前数据库 using (Transaction acTrans = acCurDb.Transactio转载 2021-01-29 13:08:20 · 1078 阅读 · 0 评论 -
vs-cad二次开发-C#-拖动类-右键选项卡
工具类 class CircleJig : EntityJig { private Point3d m_CenterPt; private double m_Radius = 100.0; public CircleJig(Vector3d normal) : base(new Circle()) { ((Circle)Entity).Center = m_CenterPt;原创 2021-01-18 14:48:24 · 623 阅读 · 0 评论 -
cad二次开发-C#-打开一个图纸修改内容并另存
[CommandMethod("openDwg",CommandFlags.Session)]//第二个参数非常重要 public void openDwg() { string fileName = System.Environment.CurrentDirectory; string fileName2 = fileName + "\\8 φ4.0隧道竖井.dwg"; Docume...原创 2021-01-13 10:05:23 · 2746 阅读 · 0 评论 -
cad二次开发-在vs编译软件环境下使用c#语言编写dll文件-添加单行文本
//调用时-方法参数列表填写文字写入位置,以及要写的文字,sx、sy填写0(sx和sy代表文字对齐坐标),或填写文字对齐坐标-单行文字-角度填写1~360度 public void addText(double x,double y,double z,String str,double angle, double sx, double sy) {//调用时-方法参数列表填写文字写入位置,以及要写的文字 Document doc = Application.Docume...原创 2020-11-20 17:18:30 · 303 阅读 · 1 评论 -
cad二次开发-在vs编译软件环境下使用c#语言编写dll文件-添加多行文本
//调用时-方法参数列表填写文字写入位置,以及要写的文字,还有文字的旋转角度,角度填写1~360度 public void addDouText(double x, double y, double z, String str, double angle) {//调用时-方法参数列表填写文字写入文字写入位置,以及要写的文字 Document doc = Application.DocumentManager.MdiActiveDocument;原创 2020-11-20 17:11:13 · 246 阅读 · 0 评论 -
cad二次开发-在vs编译软件环境下使用c#语言编写dll文件-算一条直线的斜率
public double getSlope(double x, double y, double x1, double y1) {//算一条直线的斜率 return (y - y1)/(x - x1) ; }//算一条直线的斜率原创 2020-11-20 17:02:53 · 272 阅读 · 1 评论 -
cad二次开发-在vs编译软件环境下使用c#语言编写dll文件-求两点之间的距离
public double getDistance(double x, double y, double x1, double y1) {//算两点之间的距离 return Math.Sqrt(((x - x1) * (x - x1)) + ((y - y1) * (y - y1))); }//算两点之间的距离原创 2020-11-20 16:59:09 · 299 阅读 · 0 评论 -
cad二次开发-在vs编译软件环境下使用c#语言编写dll文件-新建图层
//LayerColer的值可取1~255代表不同颜色,代表的颜色可参考cad图层管理器中的颜色设置public void CreateLayer(short LayerColer,string LayerName) { Document acDoc = Application.DocumentManager.MdiActiveDocument; Database acCurDb = acDoc.Database;//获取当前数据库 using (T原创 2020-11-20 16:55:38 · 243 阅读 · 0 评论 -
cad二次开发-在vs编译软件环境下使用c#语言编写dll文件-画直线
public void addLine(double x, double y, double x1, double y1) { //获取当前图形数据库 Database db = HostApplicationServices.WorkingDatabase; Point3d star = new Point3d(x,y,0); Point3d end = new Point3d(x1, y1, 0); Line lin原创 2020-11-20 16:50:44 · 259 阅读 · 0 评论 -
cad二次开发-在vs编译软件环境下使用c#语言编写dll文件-函数注释
/// <summary> /// 通过原点坐标点和发射方向坐标获取到发射方向坐标附近符合条件的文字信息(电力) /// </summary> /// <param name="x">原点x坐标</param> /// <param name="y">原点y坐标</param> /// <param name="x2">发射方向x坐标</param> /// &l.原创 2020-11-20 11:24:09 · 133 阅读 · 0 评论 -
cad二次开发-在vs编译软件环境下使用c#语言编写dll文件-向外界提供可以调用的函数
在需要行外界提供调用的函数上按照如下格式书写 [CommandMethod("jingxinxi")] public void jingxinxi() { } //------------------- 在cad中加载完dll后在cad的控制命令行中输入jingxinxi即可原创 2020-11-20 11:07:08 · 293 阅读 · 0 评论 -
CAD二次开发-CAD调试 无法命中断点 VS当前不会命中断点,还未为文档加载任何符号解决方案
CAD二次开发-CAD调试 无法命中断点 VS当前不会命中断点,还未为文档加载任何符号解决方案解决方法:找到该文件 D:\Program Files (x86)\AutoCAD 2008\acad.exe.config取消对该行文字的注释即可转载 2020-10-16 16:24:20 · 497 阅读 · 0 评论