pxt2001 发表于 2022-8-17 18:58:02

C#可以定义CAD透明命令吗?

本帖最后由 pxt2001 于 2022-8-17 19:00 编辑

请问:C#可以定义CAD透明命令吗?例如在定义了Tb平移视图命令,但是不能透明执行,请问如何才能透明执行?
<font size="3"><font size="4">   //向右平移视图
    public static void TestPoint2()
    {   
      Database db = HostApplicationServices.WorkingDatabase;
      Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
      ViewTableRecord view = ed.GetCurrentView();
      Point2d pc2 = view.CenterPoint;
      Point3d pc0 = new Point3d(pc2.X, pc2.Y, 0);
      double wid = view.Width;
      double high = view.Height;
      Point3d Pc = new Point3d((pc0.X - high), pc0.Y, 0);
      view.CenterPoint = new Point2d(Pc.X, Pc.Y);
      //更新当前视图
      ed.SetCurrentView(view);
    }</font></font>

tiancao100 发表于 2022-8-17 21:10:35

<CommandMethod("PPY", CommandFlags.Transparent)>


是不是这个意思

pxt2001 发表于 2022-8-17 22:09:24

tiancao100 发表于 2022-8-17 21:10
是不是这个意思

就是这个意思,搞定,谢谢!

这样,C#可以定义和CAD完全一样效果的命令。这是比lisp高级的地方。例如执行一个lisp修改文字,执行过程中需要平移视图,平移视图就是透明命令,如果这俩程序都是lisp编写的,平移视图就不能执行,提示重复进入lisp。

sieben 发表于 2022-8-18 09:10:53

tiancao100 发表于 2022-8-17 21:10
是不是这个意思

你好!请问从哪里可以得到这些说明,可以分享吗?

dtucad 发表于 2022-8-19 11:55:01

sieben 发表于 2022-8-18 09:10
你好!请问从哪里可以得到这些说明,可以分享吗?

CAD官方网站

sieben 发表于 2022-8-19 14:25:56

dtucad 发表于 2022-8-19 11:55
CAD官方网站
谢谢! 是 http://www.autodesk.com.cn 吗?
我这里现在无法访问

d1742647821 发表于 2022-8-19 15:21:07

sieben 发表于 2022-8-19 14:25
谢谢! 是 http://www.autodesk.com.cn 吗?
我这里现在无法访问

https://help.autodesk.com/view/OARX/2019/ENU/

sieben 发表于 2022-8-19 17:10:29

d1742647821 发表于 2022-8-19 15:21
https://help.autodesk.com/view/OARX/2019/ENU/

谢谢!我怕现在无法访问国外网站,后面再去看看。

pxt2001 发表于 2022-8-20 07:03:14

d1742647821 发表于 2022-8-19 15:21
https://help.autodesk.com/view/OARX/2019/ENU/

在官方网站里面看到,十几年来LISP的更新少得可怜,多年更新可以浓缩到一起介绍完。.NET就不一样,光CAD2019更新,有很长篇幅的内容。孰轻孰重显而易见

羊羊羊 发表于 2023-10-27 22:31:47


我怎么感觉<CommandMethod,("PPY")>本身就是透明命令,加不加 CommandFlags.Transparent 是一样的,默认就是透明命令吗?
页: [1]
查看完整版本: C#可以定义CAD透明命令吗?