Kerry 发表于 2007-12-4 13:30:49

更多托管包装器

还有几个包装器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 *****

gswang 发表于 2007-12-5 12:59:03

和一些更危险的包装纸..新附加的dll代码1]
测试代码2]

gswang 发表于 2007-12-5 21:30:38

Dan,
万一我后来忘记了,
谢谢你分享你的发现。保重,凯瑞

gswang 发表于 2007-12-29 22:47:02

我把这个添加到我的 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);

gswang 发表于 2008-6-14 00:11:54

添加了:
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);
      }
    }

gswang 发表于 2017-5-26 10:18:46

我无法成功编译AutoCAD 2010、AutoCAD 2016的AcMgdWrprs项目。请帮助。

gswang 发表于 2017-5-27 22:52:08

srsly?...那东西有10年了!

gswang 发表于 2017-5-28 05:57:18

我的问题解决了,谢谢!
页: [1]
查看完整版本: 更多托管包装器