更多托管包装器
还有几个包装器EntGet,EntMake,EntNext ...用于练习。接下来我会做emtmod。使用风险自负 ..引用附加的 dll..用于 2007
C# 示例
static public void test1()
{
Editor ed = acadApp.DocumentManager.MdiActiveDocument.Editor;
try
{
//EntMake
ResultBuffer rb = new ResultBuffer();
rb.Add(new TypedValue(0, "LINE"));
rb.Add(new TypedValue(67, 0));
rb.Add(new TypedValue(410, "Model"));
rb.Add(new TypedValue(8, "0"));
rb.Add(new TypedValue(10, new Point3d(185.539, 219.18, 0.0)));
rb.Add(new TypedValue(11, new Point3d(327.492, 194.906, 0.0)));
bool tst = AcMgdWrprs.Utilities.EntMake(rb);
ObjectId id = AcMgdWrprs.Utilities.EntLast();
ResultBuffer entrb = AcMgdWrprs.Utilities.EntGet(id);
foreach (TypedValue e in entrb)
ed.WriteMessage(e.ToString());
}
catch (System.Exception ex)
{
ed.WriteMessage(ex.Message);
}
}
**** Hidden Message ***** 和一些更危险的包装纸..新附加的dll代码1]
测试代码2]
Dan,
万一我后来忘记了,
谢谢你分享你的发现。保重,凯瑞 我把这个添加到我的 AcMgdWrprs probject
示例:
[代码 3]
函数列表
static void RegenLayers(ObjectIdCollection ^objectIds);
static bool EntDel(ObjectId objectid);
static bool EntMake(ResultBuffer ^rb);
static ObjectId EntMakeX(ResultBuffer ^rb);
static bool EntMod(ResultBuffer ^rb);
static ObjectId EntLast();
static ObjectId EntNext(ObjectId objectid);
static bool EntUpd(ObjectId objectid);
static ResultBuffer^ EntGet(ObjectId objectid);
static double Distance(Point2d pt1, Point2d pt2);
static double Distance(Point3d pt1, Point3d pt2);
static String^ GetEnv(String ^sym);
static bool SetEnv(String ^sym , String ^var);
添加了:
static array^ GetLoadedLisps(void);
示例:
public static void doit()
{
Editor ed = AcAp.Application.DocumentManager.MdiActiveDocument.Editor;
try
{
foreach (string S in AcMgdWrprs.Utilities.GetLoadedLisps())
{
ed.WriteMessage("\n" + S);
}
}
catch (System.Exception ex)
{
ed.WriteMessage("\n" + ex.Message);
ed.WriteMessage("\n" + ex.StackTrace);
}
}
我无法成功编译AutoCAD 2010、AutoCAD 2016的AcMgdWrprs项目。请帮助。 srsly?...那东西有10年了! 我的问题解决了,谢谢!
页:
[1]