有关一个C# autocad 二次开发的问题

阿浩No_1 2009-12-06 01:20:08
导入 acdbmgd 和 acmgb 两个cad类库文件,想往 cad 里插入一条直线.程序采用的是传统winform结构(非WPF)
代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.Geometry;

namespace CAD_Excel_Library
{
public static class CAD_Excel_Library
{
[CommandMethod ("AddLine")]
public static void AddLineCmd()
{
using (Database db = HostApplicationServices.WorkingDatabase)//获得当前工作空间的数据库
{
using (BlockTable bt = (BlockTable)db.BlockTableId.GetObject(OpenMode.ForRead))//获得块表
{
using (BlockTableRecord btr = (BlockTableRecord)bt[BlockTableRecord.ModelSpace].GetObject(OpenMode.ForWrite))//获得模型空间的块表记录
{
Line line = new Line(new Point3d(0, 0, 0), new Point3d(200, 200, 0));//创建一条直线
line.Color = Autodesk.AutoCAD.Colors.Color.FromColor(System.Drawing.Color.Red);
btr.AppendEntity(line);//将直线添加到模型空间中
}
}
}


}
}
}

一直报错: 组件"Autodesk.AutoCAD.AcInfoCenterConn.MyAutoCADBalloon"不具有由 URI "/AcWindows:component/infocenteracconn/myautocadballoon.xaml"识别的资源..
...全文
474 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wjue311 2010-04-29
  • 打赏
  • 举报
回复
感谢welht办法不错
welht 2010-04-02
  • 打赏
  • 举报
回复
导入 acdbmgd 和 acmgb 两个cad类库文件,想往 cad 里插入一条直线.程序采用的是传统winform结构(非WPF)



引用acdbmgd 和 acmgb后,vs默认会把这两个文件拷贝到运行目录下,造成运行混乱。

解决办法:
1。把运行目录下的acdbmgd.dll 和 acmgb.dll删除,
2。取消引用性质中的拷贝到本地。
阿浩No_1 2009-12-09
  • 打赏
  • 举报
回复
很奇怪.红线 在"布局"里出现了,没有出现在"模型"里.
gh861229 2009-12-08
  • 打赏
  • 举报
回复
[CommandMethod("AddLine")]
public static void AddLineCmd()
{
Document doc = Application.DocumentManager.MdiActiveDocument;
using (Transaction tr = doc.TransactionManager.StartTransaction())
{
BlockTableRecord btr = tr.GetObject(doc.Database.CurrentSpaceId, OpenMode.ForWrite) as BlockTableRecord;
Line line = new Line(new Point3d(0, 0, 0), new Point3d(200, 200, 0));//创建一条直线
line.Color = Autodesk.AutoCAD.Colors.Color.FromColor(System.Drawing.Color.Red);
btr.AppendEntity(line);//将直线添加到模型空间中
tr.AddNewlyCreatedDBObject(line, true);
tr.Commit();
}
}
我改了下,这个应该可以吧,我运行了下你的程序,bt取不到的
阿浩No_1 2009-12-08
  • 打赏
  • 举报
回复
有人能指点一下吗

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧