- MxDraw 云图
- 快速入门
- 前端 mxdraw 和 mxcad 库预览编辑图纸
- 后台使用 Node.js 调用梦想 API
- CAD 与 GIS 集成说明
- 梦想云图 Node.JS 服务
- iOS 开发
- 安卓开发
- 网页 CAD 开发
- 网页快速入门 aspaps.netphpjava
- 图形数据库
- 参数化绘图
- 交互绘图
- 选择集
- 扩展数据
- 自定义实体
- 自定义命令
- 光栅图处理
- 图面搜索
- 控件事件
- 打印控制
- 界面控制
- COM 开发
- 视频教程
- VB 快速入门
- Delphi 快速入门
- CSharp 快速入门
- java 快速入门
- QT 快速入门
- 易语言快速入门
- Powerbuilder 快速入门
- wpf 控件入门
- 图形数据库
- 参数化绘图
- 交互绘图
- 选择集
- 扩展数据
- 自定义命令
- 自定义实体
- 打印控制
- 控件事件
- 图面搜索
- 光栅图处理
- 界面控制
- C++ 开发
- C++ bulider 快速入门
- C++ 快速入门(VS2010)
- C++ 快速入门(com 接口)
- 图纸数据库
- 参数化绘图
- 交互绘图
- 选择集
- 扩展程序
- 扩展数据
- 自定义函数
- 自定义实体
- 光栅图处理
- 图面搜索
- 控件事件
- 界面控制
- 常见问题
- 试用技术服务申请
- 会员下载最新程序
- 备用下载
- 控件安装运行说明
- 控件最新更新
- 控件功能简介
- 控件图形数据库
- 控件界面控制
- 控件命令执行原理
- 控件系统变量说明
- 控件常见问题说明
- 修改对象属性
- 网页加载 CAD 图纸的两个方案
- MxDraw3D 控件
- 前端基础工程化知识
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
系统变量详细说明
栅格设置
系统变量名:GRIDMODE
打开与关闭栅格捕捉:
打开栅格捕捉: axMxDrawX1.SetSysVarLong("GRIDMODE", 1); 关闭栅格捕捉: axMxDrawX1.SetSysVarLong("GRIDMODE", 0);
栅格间距系统变量名:SNAPUNIT
设置栅格间距为500,500如下:
MxDrawPoint ptSNAPUNIT = new MxDrawPoint(); ptSNAPUNIT.x = 500; ptSNAPUNIT.y = 500; param.AddString("SNAPUNIT"); param.AddPointEx(ptSNAPUNIT,5002); axMxDrawX1.CallEx("Mx_SetSysVar", param);
图层和线型设置
主要用到函数说明:
函数名:MxDrawXCustomFunction::Mx_SetSysVar
得到当前空间的所有实体。详细说明如下:
参数 | 说明 |
---|---|
CString sVarName | 系统变量名 |
Value | 需要设置的值 |
设置图层使用如下:
Dim param As MxDrawResbuf Set param = New MxDrawResbuf param.AddString "CLAYER" param.AddString "图层1", 5005 ' 5005 = RTSTR,代码是一个字符串类型的值 MxDrawX1.CallEx "Mx_SetSysVar", param
js创建图层,并设置成当前层代码如下:
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); }
设置线型使用如下:
Dim param As MxDrawResbuf Set param = New MxDrawResbuf param.AddString "CELTYPE" param.AddString "DOT", 5005 ' 5005 = RTSTR,代码是一个字符串类型的值 MxDrawX1.CallEx "Mx_SetSysVar", param
正交设置
系统变量名:ORTHOMODE
启用正交:
axMxDrawX1.SetSysVarLong("ORTHOMODE", 1);
正交模式打开后,需要参考上一次的输入点,一般控件会自动确定,也可以用户自己指定,指定系统变量名:LASTPOINT。
设置上一次用户输入点(C++)语言:
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);
极轴设置
调用自定义函数Mx_SetPoloarTracee实现,如下,VC2005代码:
IDispatchPtr spRet1(m_ocx.CallLongParam1(_T("Mx_SetPoloarTracee"),1),false);
另外它是系统变量:AUTOSNAP的第4个二制位控制,打开极轴(C#代码):
int iRet = 0; axMxDrawX1.GetSysVarLong("AUTOSNAP",ref iRet); iRet |= 8; axMxDrawX1.SetSysVarLong("AUTOSNAP",iRet);
对象捕捉
系统变量名:OSMODE
去掉最近点捕捉标志(C++代码):
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() );
关闭捕捉(C#代码):
axMxDrawX1.SetSysVarLong("OSMODE", 0);
对象追踪
系统变量名:DYNTRACE
禁用动态追踪(C++代码):
MrxDbgUtils::setSysVar(_T("DYNTRACE"),0);
禁用动态追踪(C#代码):
axMxDrawX1.SetSysVarLong("DYNTRACE", 0);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论