CAD系统变量详细说明

网友投稿 1196 2022-10-04

CAD系统变量详细说明

CAD系统变量详细说明

一、栅格设置

系统变量名:GRIDMODE

1、打开与关闭栅格捕捉:

1

2

3

4

​打开栅格捕捉:​

​axMxDrawX1.SetSysVarLong(​​​​"GRIDMODE"​​​​, 1);​

​关闭栅格捕捉:​

​axMxDrawX1.SetSysVarLong(​​​​"GRIDMODE"​​​​, 0);​

2、栅格间距系统变量名:SNAPUNIT

3、设置栅格间距为500,500如下:

1

2

3

4

5

6

​MxDrawPoint ptSNAPUNIT = ​​​​new​​​ ​​MxDrawPoint();​

​ptSNAPUNIT.x = 500;​

​ptSNAPUNIT.y = 500;​

​param.AddString(​​​​"SNAPUNIT"​​​​);​

​param.AddPointEx(ptSNAPUNIT,5002);​

​axMxDrawX1.CallEx(​​​​"Mx_SetSysVar"​​​​, param);​

二、图层和线型设置

1、主要用到函数说明:MxDrawXCustomFunction::Mx_SetSysVar

(1)得到当前空间的所有实体。详细说明如下:

参数

说明

CString sVarName

系统变量名

Value

需要设置的值

(2)设置图层使用如下:

1

2

3

4

5

​Dim param As MxDrawResbuf​

​Set param = New MxDrawResbuf​

​param.AddString ​​​​"CLAYER"​

​param.AddString ​​​​"图层1"​​​​, 5005 ' 5005 = RTSTR,代码是一个字符串类型的值​

​MxDrawX1.CallEx ​​​​"Mx_SetSysVar"​​​​, param​

(3)js创建图层,并设置成当前层代码如下:

1

2

3

4

5

6

7

8

9

10

11

​function​​​ ​​CreateCommentLayer()​

​{​

​var​​​ ​​mxOcx = document.getElementById(​​​​"MxDrawXCtrl"​​​​);​

​mxOcx.AddLayer(​​​​"MyComment"​​​​);​

​mxOcx.LayerName = ​​​​"MyComment"​​​​;​

 

​var​​​ ​​param = mxOcx.NewResbuf();​

​param.AddString(​​​​"CLAYER"​​​​);​

​param.AddStringEx(​​​​"MyComment"​​​​,5005);​

​mxOcx.CallEx(​​​​"Mx_SetSysVar"​​​​, param);​

​}​

(4)设置线型使用如下:

1

2

3

4

5

​Dim param As MxDrawResbuf​

​Set param = New MxDrawResbuf​

​param.AddString ​​​​"CELTYPE"​

​param.AddString ​​​​"DOT"​​​​, 5005 ' 5005 = RTSTR,代码是一个字符串类型的值​

​MxDrawX1.CallEx ​​​​"Mx_SetSysVar"​​​​, param​

三、正交设置

系统变量名:ORTHOMODE

1、启用正交:

1

​axMxDrawX1.SetSysVarLong(​​​​"ORTHOMODE"​​​​, 1);​

2、正交模式打开后,需要参考上一次的输入点,一般控件会自动确定,也可以用户自己指定,指定系统变量名:LASTPOINT。

3、设置上一次用户输入点(C++)语言:

1

2

3

4

5

6

​resbuf rb;​

​rb.restype = RTPOINT;​

​rb.resval.rpoint[X]= prvPoint.x;​

​rb.resval.rpoint[Y]= prvPoint.y;​

​rb.resval.rpoint[Z]= prvPoint.z;​

​Mx::mcedSetVar(_T(​​​​"LASTPOINT"​​​​),&rb);​

四、极轴设置

1、调用自定义函数Mx_SetPoloarTracee实现,如下,VC2005代码:

1

​IDispatchPtr spRet1(m_ocx.CallLongParam1(_T(​​​​"Mx_SetPoloarTracee"​​​​),1),​​​​false​​​​);​

2、另外它是系统变量:AUTOSNAP的第4个二制位控制,打开极轴(C#代码):

1

2

3

4

​int​​​ ​​iRet = 0;​

​axMxDrawX1.GetSysVarLong(​​​​"AUTOSNAP"​​​​,​​​​ref​​​ ​​iRet);​

​iRet |= 8;​

​axMxDrawX1.SetSysVarLong(​​​​"AUTOSNAP"​​​​,iRet);​

五、对象捕捉

系统变量名:OSMODE

1、去掉最近点捕捉标志(C++代码):

1

2

3

4

5

6

7

​MrxDbgRbList spVal  = Mx::mcutNewRb(RTSHORT);​

​Mx::mcedGetVar(_T(​​​​"OSMODE"​​​​),spVal.data());​

​// 最近点捕足的值为512,进行位运算,去掉最近点捕捉标志 ​

​int​​​ ​​iNewMode = spVal.data()->resval.rint & (~512);​

​// 设置新值​

​spVal.data()->resval.rint = iNewMode;​

​Mx::mcedSetVar(_T(​​​​"OSMODE"​​​​),spVal.data() );​

2、关闭捕捉(C#代码):

1

​axMxDrawX1.SetSysVarLong(​​​​"OSMODE"​​​​, 0);​

六、对象追踪

系统变量名:DYNTRACE

1、禁用动态追踪(C++代码):

1

​MrxDbgUtils::setSysVar(_T(​​​​"DYNTRACE"​​​​),0);​

2、禁用动态追踪(C#代码):

1

​axMxDrawX1.SetSysVarLong(​​​​"DYNTRACE"​​​​, 0);​

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

上一篇:CAD改变图形对象属性
下一篇:微信小程序中template模块的使用方法(微信小程序template传参)
相关文章

 发表评论

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