CAD闪烁实体

网友投稿 846 2022-11-15

CAD闪烁实体

CAD闪烁实体

在我们绘图过程中,我们希望某些指定的实体可以闪烁起来,以便我们更好直观的制图,下面以MxdrawCAD控件为例,介绍将dwg图纸的实体闪烁以及停止闪烁的方法。

1、闪烁实体

(1)实现思路:首先我们可以GetEntity方法在视区选择我们需要闪烁的实体对象,然后通过ObjectID属性的到我们选择实体对象的id,最后调用TwinkeEnt方法是我们选择的实体闪烁起来,实现起来是不是很简单呢。

(2)主要用到函数说明:_DMxDrawX::TwinkeEnt

闪烁实体,详细说明如下:

参数

说明

LONGLONG lId

闪烁实体的id

c#的实现代码如下:

MxDrawUtility mxUtility = new MxDrawUtility(); MxDrawPoint getPt;MxDrawEntity ent = mxUtility.GetEntity(out getPt, "选择要闪烁的实体");if (ent == null) return;Int64 id = ent.ObjectID;ent.Close();axMxDrawX1.TwinkeEnt(id);

网页实现代码如下:

// 与用户交在图面上选择需要闪烁的对象var ent = mxOcx.GetEntity("选择实体:"); if (ent == null) return;var id = ent.ObjectID;ent.Close();mxOcx.TwinkeEnt(id);

(3) 主要用到函数说明:MxDrawXCustomFunction::Mx_TwinkeEnt

闪烁实体。详细说明如下:

参数

说明

McDbObjectId id

被闪烁的实体对象id

LONG lCount = -1

闪烁次数,默认为-1表示不限闪烁次数

我们有的时候需要设置实体对象的闪烁次数,下面的实现代码是我们通过Mx_TwinkeEnt方法实现控制实体闪烁次数的实现过程。

js中使用如下:

var selEnt = mxOcx.NewComObject("IMxDrawUiPrEntity"); selEnt.message = "选择对象";if (selEnt.go() != 1) return; var ent = selEnt.Entity();if (ent == null) return;var param = mxOcx.NewResbuf();param.AddString(ent.Handle);param.AddLong(6); // 闪烁6次 mxOcx.CallEx("Mx_TwinkeEnt",param);

由于闪烁的默认颜色是红、绿、蓝,那么如果我们希望闪烁的颜色是其他的颜色,同样我们也可以设置其他的颜色。

(4)实现思路:实现我们需要创建一个颜色链表,把我们想要的闪烁颜色添加到链表里面。再通过SetTwinkeColor方法设置闪烁颜色,这个方法是十分简单便捷的。

在网页中实现设置闪烁颜色的代码如下:

// 与用户交在图面上选择需要闪烁的对象 var ent = mxOcx.GetEntity("选择实体:"); if (ent == null) return; var id = ent.ObjectID; ent.Close(); var param = mxOcx.NewResbuf(); param.AddLong(65535); param.AddLong(16776960); mxOcx.SetTwinkeColor(param); mxOcx.TwinkeEnt(id);

2、停止闪烁

(1)在我们使用过程中,我们可能希望有的实体对象不闪烁,下面介绍让实体对象停止闪烁的方法。

(2)实现思路:首先我们可以GetEntity方法在视区选择我们需要停止闪烁的实体对象,然后通过ObjectID属性的到我们选择实体对象的id,最后调用StopTwinkeEnt方法是我们选择的实体停止闪烁。

(3)主要用到函数说明:_DMxDrawX::StopTwinkeEntEStopTwinkeEntnt

停止闪烁实体,详细说明如下:

参数

说明

LONGLONG lId

停止闪烁实体的id

c#的实现代码如下:

MxDrawUtility mxUtility = new MxDrawUtility(); MxDrawPoint getPt;MxDrawEntity ent = mxUtility.GetEntity(out getPt, "选择要停止闪烁的实体");if (ent == null) return;Int64 id = ent.ObjectID;ent.Close(); axMxDrawX1.StopTwinkeEnt(id);

在网页中实现代码如下:

// 与用户交在图面上选择需要停止闪烁的对象var ent = mxOcx.GetEntity("选择实体:"); if (ent == null) return;var id = ent.ObjectID;ent.Close(); mxOcx.StopTwinkeEnt(id);

总的来说,闪烁实体这个知识点还是比较简单易懂的,大家可以多试试就会了。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:CAD绘制填充并设置填充透明度
下一篇:CAD关于图层遍历所有图层操作(com接口网页版)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~