LOGO
帮助文档
旧版文档
简介工具栏菜单栏标尺栏属性栏命令栏模型栏状态栏浏览模式切换视区光标控制坐标图标动态提示右键弹出菜单返回当前图纸的最小外包矩形框返回当前视区坐标返回当前视区坐标的文档坐标值在指定位置弹出一个菜单梦想CAD标注系统变量说明梦想CAD标注系统变量说明1梦想CAD标注系统变量说明2梦想CAD标注系统变量说明3
简介

CAD控件界面上所有元素都可以控制显示或隐藏,点击此处在线演示。下面逐一介绍,CAD控件界面上的元素位置如下图:


view.png


视频如下:

工具栏

显示或隐藏接口


显示或隐藏所有工具条:


COM接口ocx的属性, ShowToolBars


例如JS语言隐藏工具条:


<param name="ShowToolBars" value="0">


显示或隐藏指定工具条, 工具条名称会在后面的工具条文件格式中说明。


COM接口_DMxDrawX::ShowToolBar


_DMxDrawX::ShowToolBar


显示隐藏工具条,详细说明如下:


参数说明

BSTR pszToolBarName

工具条文字名

VARIANT_BOOL isShow

是否显示工具条


CAD控件界面工具栏的显示或隐藏,首先定义一个全局变量isShow,接下来的例子中会用到该变量,如下:

var isShow = false;

js代码实现如下:


//隐藏/显示工具栏
function HideToolbar()
{
    mxOcx.ShowToolBar("常用工具",isShow);
    mxOcx.ShowToolBar("绘图工具",isShow);
    mxOcx.ShowToolBar("编辑工具",isShow);
    mxOcx.ShowToolBar("特性",isShow);
    mxOcx.ShowToolBar("ET工具",isShow);

    isShow = !isShow;
}


隐藏工具栏效果如下:


toolbar.png


隐藏或显示工具条上的按钮


主要用到函数说明:


_DMxDrawX::HideToolBarControl


隐藏或显示工具条上的按钮,成功返回TRUE。详细说明如下:


参数说明

BSTR pszToolBarName  

工具条名称

BSTR pszControlName

按钮名称,多个按钮名称,可以用逗号分隔开,为空,隐藏或显示所有按钮

VARIANT_BOOL isHide

是否隐藏按钮

VARIANT_BOOL isAutoRecalcLayout

是否自动重新布局窗口上的工具条


例如隐藏绘图工具栏上的绘线和绘矩形框按钮js中实现代码说明:


 mxOcx.HideToolBarControl("绘图工具","绘线,绘矩形框",true,true);


隐藏前:


hidebefore.png


隐藏后:


hideafter.png


MxDrawXCustomFunction::Mx_HideToolBarControl


隐藏或显示工具条上的按钮,成功返回TRUE。详细说明如下:


参数说明

IN LPCTSTR pszToolBarName

工具条名称

IN LPCTSTR pszControlName = NULL

按钮名称,多个按钮名称,可以用逗号分隔开,为空,隐藏或显示所有按钮

IN BOOL isHide = TRUE

是否隐藏按钮

IN BOOL isAutoRecalcLayout = TRUE

是否自动重新布局窗口上的工具条


例如隐藏常用工具栏上的保存,保存为mxg文件,另存为dwg文件按钮js中实现代码说明:


var param = mxOcx.Call("Mx_NewResbuf","");
param.AddString("常用工具");
param.AddString("保存,保存为mxg文件,另存为dwg文件");
mxOcx.CallEx("Mx_HideToolBarControl", param);


隐藏前:


hidebefore1.png


隐藏后:


hideafter1.png


禁用或激活CAD控件工具条上的某个命令按钮


主要用到函数说明:


_DMxDrawX::EnableToolBarButton


禁用或激活CAD控件工具条上的某个命令按钮。详细说明如下:


参数说明

BSTR pButtonName

工具条中的按钮名称

VARIANT_BOOL isEnable

是否禁用


例如页中禁用打开按钮代码:


mxOcx. EnableToolBarButton("打开dwg文件",0);


禁用前:


forbide.png


禁用后:


forbideafter.png


工具条文件


CAD控件MxDraw52.dll所在目录下,所有的mxt都是工具条定义文件,每个mxt文件就是一个工具条, 如下:


文件名说明
MxDraw-ToolBar.mxt常用工具条
MxDraw-ToolBar-Draw.mxt绘图工具条
MxDraw-ToolBar-DrawParam.mxt特性工具条
MxDraw-ToolBar-Edit.mxt编辑工具条
MxDraw-ToolBar-ET.mxt扩展工具条


把不需要的工具条文件删除,CAD控件加载时就不会显示该工具条。


它是文本文件,用记事本打开编辑,格式如下:


“//”是文件中的注释。


文件中第一行是工具条文件头信息,每列内容如下:


如:("MxDrawToolBarFile" "MxDraw.dll" (214 211 206) "top" "常用工具" "Y")


第几列例程中的内容说明
1"MxDrawToolBarFile"工具条文件标志字符串
2"MxDraw.dll"工具条中按钮图片资源加载文件 注:后面图标默认从该dll中加载
3"(214 211 206)"在资源文件中,按钮图片的透明色
4"top"位置,可以是:top,left,bottom,right
5"常用工具"工具条名称 注:显示\隐藏函数会使用
6"Y"是否可以浮动,Y \N


文件中后面每行代表一个工具条按钮。


每列的内容如下:


如:("打开网上dwg文件" "打开网上dwg文件" "_OpenWebDwg" "IDB_OPENWEBDWG_BITMAP" "" "" "" "Y")


命令名称命令提示字符串命令名控钮在资源文件中的位图IDID类型资源文件名命令ID没有命定义时,是否不要加载工具按钮
打开网上dwg文件打开网上dwg文件_OpenWebDwgIDB_OPENWEBDWG_BITMAP"""""""Y"


命令名称:


    "打开网上dwg文件"。


命令提示字符串:


    "打开网上dwg文件"。


命令名:


    COM接口:DMxDrawX::RegistUserCustomCommand注册命令


控钮在资源文件中的位图ID:


    " IDB_OPENWEBDWG_BITMAP "。


ID类型:


    目前CAD控件内部使用,一般为空。


资源文件名:


    1.  为空取默认资源文件名,该名称,需要去掉控件版本号如: MxDraw52.dll写成MxDraw.dll,CAD控件会根据具体情况加上这个版本号。

    2.  资源文件如是local:开头,表示是一个本地bmp文件,如:取mytoolbar.bmp做工具按钮图标:local:mytoolbar.bmp

    3.  资源文件如是web:开头,表示是一个网络服务器上的bmp文件,如:取mytoolbar.bmp做工具按钮图标: web:mytoolbar.bmp 


命令ID:


    指定菜单点击后响应的命令事件id,如不为空,可以在CAD控件的命令执行事件中响应菜单点击事件: ImplementCommandEvent。


没有命定义时,是否不要加载工具按钮:


    "Y"


自定义按钮参考例子:samples\AspNet\AspNet\My-MxDraw-ToolBar.txt。


比如:按钮图标从本地bmp文件加载:


("自定义打文件按钮" "自定义打文件按钮" "Mx_OpenMxg" "" "" "local:mytoolbar.bmp")


比如:按钮图标从服务器bmp文件加载,bmp文件与工具条文件在同一个服务器目录中:


("自定义打文件按钮" "自定义打文件按钮" "Mx_OpenMxg" "" "" "web:mytoolbar.bmp")


从指定文件加载


CAD控件默认是加载CAD控件程所在目录下的所有mxt文件,下面介绍如何显示指定加载工具文件。


COM接口: ToolBarFiles属性,它支持从服务器上加载工具文件,多个工具条文件用逗号隔开


帮助如下图:


iface1.png


如Js语言从服务器加载工具条文件, 工具条文件相对于当前网页:


<param name=" ToolBarFiles" 
value=" ./My-MxDraw-ToolBar.txt,MxDraw-ToolBar-DrawParam.mxt,MxDraw-ToolBar-Draw.mxt,MxDraw-ToolBar-Edit.mxt">


暂不加载工具条文件,如下:


<param name=" ToolBarFiles " value=" Empty.mxt">


显示加载工具条文件


CAD控件支持在需要时,再动态加载工具条文件,接口说明如下:


COM接口: _DMxDrawX::LoadToolBar


帮助文件抓图:


iface2.png


在工具条添加一个按钮


修改MxDraw52\Bin\vc100目录下的MxDraw-ToolBar.mxt文件:


L%XVY98]%IJ)ED~3~NWJS{N.png


// 如下,是从工具条所在本地目录的bmp加载,local:表示是个本地的bmp
("自定义打文件按钮" "自定义打文件按钮" "Mx_OpenMxg" "" "" "local:mytoolbar.bmp")
("自定义打文件按钮" "自定义打文件按钮" "Mx_OpenMxg" "" "" "local:mytoolbar.bmp")



改成:


// 如下,是从工具条所在网络目录的bmp加载,web:表示是网上加载
("自定义打文件按钮" "自定义打文件按钮" "Mx_OpenMxg" "" "" "web:mytoolbar.bmp")
("自定义打文件按钮" "自定义打文件按钮" "" "" "" "local:mytoolbar.bmp" "100")


效果如下,多了两个按钮了,用户可以给增加的按钮添加自定义命令。


toolbarb.png


在B/S模式下,一步一步的说一下,如何用户自定义工具条,并响应点击事件。 详细例子可以参考samples\AspNet\AspNet.sln, samples\AspNet\ My-MxDraw-ToolBar.txt。


1、新建菜单文件


新一个文本文件: My-MxDraw-ToolBar.txt,内容如下:


定一个按钮,按钮名为“自定义按钮“,图标是服务器上加载,图标名为mytoolbar.bmp,按钮点击执行命令,命令id为99。


("MxDrawToolBarFile" "MxDraw.dll" (214 211 206) "top" "MyTest工具" "Y")
("自定义按钮" "自定义按钮" "" "" "" " web:mytoolbar.bmp " "100")


2、把文件上传到服务器


把My-MxDraw-ToolBar.txt, mytoolbar.bmp文件放到服务器上,并放在同一个目录下,保证能直接从ie中访问。


3、Js程序里引用工具条


工具条文件放在当前网页目录下。


<param name="ToolBarFiles" value="./ My-MxDraw-ToolBar.txt ">


4、响应命令执行事件,如下:


function DoCommandEventFunc(iCmd)
{
    if (iCmd == 100) {
        //该函数在mxcustom.js中 
        alert("工具条按钮点击");
}
}


document.getElementById("MxDrawXCtrl").ImplementCommandEventFun = DoCommandEventFunc;
菜单栏

显示或隐藏接口


COM接口: ocx的属性, ShowModelBar。例如JS语言,隐藏菜单栏:


<param name="ShowMenuBar" value="0">


CAD控件界面菜单栏的显示或隐藏,js代码实现如下:


//隐藏/显示菜单栏
function HideMenuBar()
{

    mxOcx.ShowMenuBar(isShow);
    isShow = !isShow;
}


隐藏菜单栏效果如下:


menubar.png


主要用到函数说明:


_DMxDrawX::HideMenuBarControl


隐藏或显示工具条上的按钮,成功返回TRUE。详细说明如下:


参数说明

VARIANT_BOOL isHide

是否隐藏按钮

sControlName

按钮名称,多个按钮名称,可以用逗号分隔开,为空,隐藏或显示所有按钮


例如隐藏菜单栏上的新建和打开按钮js中实现代码说明:


 mxOcx.HideMenuBarControl("新建(&N),打开(&O)",true);


隐藏前:


hidemnubefore.png


隐藏后:


hidemnuafter.png


菜单栏文件


CAD控件MxDraw52.dll所在目录下,所有的mnu文件,都是 菜单定义文件 ,它是文本文件,用记事本打开编辑,格式如下:


文件中第一行是菜单文件头,每列内容如下 :


文件类型字符串资源文件名(后面菜单的图标默认从该dll中加载)图标的透明颜色位置菜单名是否可以浮动,Y \N
"MxDrawMenuBarFile""MxDraw.dll"(214 211 206)"top""主菜单""Y"


后面每列的内容如下:


命令名称点击执行的命令图标索引字符串资源文件名命令提示字符串"命令ID"ID类型(目前控件内部使用,一般为空)
"新建(&N)"Mx_New"IDB_NEW_BITMAP""""""1"""


命令名称:


    新建(&N)。


点击执行的命令:

    COM接口使用DMxDrawX::RegistUserCustomCommand注册命令。


图标索引字符串:


    IDB_NEW_BITMAP。


资源文件名:


    1.  为空取默认资源文件名,该名称需要去掉控件版本号如:MxDraw52.dll写成MxDraw.dll,控件会根据具体情况加上这个版本号。

    2.  资源文件如是local:开头,表示是一个本地bmp文件,如:取mytoolbar.bmp做工具按钮图标:local:mytoolbar.bmp

         比如:菜单图标从本地bmp文件加载:

         "自定义新建(&N)" "Mx_New" "IDB_NEW_BITMAP" "local:mytoolbar.bmp"

    3.  资源文件如是web:开头,表示是一个网络服务器上的bmp文件,如:取mytoolbar.bmp做工具按钮图标: web:mytoolbar.bmp

          比如:菜单图标从服务器bmp文件加载,bmp文件与菜单文件在同一个服务器目录中:

          "自定义新建(&N)" "Mx_New" "IDB_NEW_BITMAP" "web:mytoolbar.bmp"


命令提示字符串:


    为空。


命令ID:


    指定菜单点击后响应的命令事件id,如不为空,可以在CAD控件的命令执行事件中响应菜单点击事件: ImplementCommandEvent。


ID类型:


    目前CAD控件内部使用,一般为空。


比如:菜单图标从本地bmp文件加载:


"自定义新建(&N)" "Mx_New" "IDB_NEW_BITMAP" "local:mytoolbar.bmp"


比如:菜单图标从服务器bmp文件加载,bmp文件与菜单文件在同一个服务器目录中:


"自定义新建(&N)" "Mx_New" "IDB_NEW_BITMAP" "web:mytoolbar.bmp"


从指定菜单文件加载


COM接口: Iniset属性,MenuFile=mymenu.mun,它支持从服务器上加载菜单文件


帮助如下图:


iface.png


如Js语言从服务器加载菜单,菜单文件相对于当前网页:


<param name="Iniset" value="MenuFile=./mymenu.mun">


相对服务器路径, "~"开头,如下:


<param name="Iniset" value="MenuFile=~/mymenu.mun">


重新从文件加载菜单接口:


COM接口,它是自定义函数MxDrawXCustomFunction::Mx_ReLoadMenu


显示或隐藏菜单项


COM接口_DMxDrawX::HideMenuBarControl


例如:


mxOcx.HideMenuBarControl("新建(&N),打开(&O)",true);


JS代码:


function InitMxDrawX() {
    if (mxOcx) {
        if (!mxOcx.IsIniting()) 
        {
            clearInterval(mxtime);
            // 控件初始化完成,需要在启动做的事,在这里做

mxOcx.HideMenuBarControl("新建(&N),打开(&O)",true);
        }
    }
}}


在菜单栏添加一个按钮


1、新建菜单定义文件


新建一个文本文件将后缀名改为mnu(例如mxcad.mnu,此文件可以用记事本打开),文本里面的内容如下:


定义一个菜单按钮,按钮名为自定义新建,图标可以从服务器上加载(从服务器上加载写为web:mytoolbar.bmp),也可以从本地加载(从本地加载写为local:mytoolbar.bmp,本示例图标从本地上加载),图标名为mytoolbar.bmp,按钮点击执行命令,命令id为100。


// 菜单条文件头说明.
// "文件类型字符串" "资源文件名" "透明颜色" "位置,可以是:top,left,bottom,right" "是否可以浮动,Y \N "
"MxDrawMenuBarFile" "MxDraw.dll" (214 211 206) "top" "主菜单" "Y"

// 菜单内容说明
// "命令名称"  "命令" "图标索引字符串" "资源文件名" "命令提示字符串" "命令ID"  "ID类型" 
"POPMENUS" "文件(&F)"
"自定义新建(&N)1" "" "IDB_NEW_BITMAP" "local:mytoolbar.bmp"   "" "100" "ID_NEW_BUTTOM"
"自定义新建(&N)2" "" "IDB_NEW_BITMAP" "local:mytoolbar.bmp"   "" "100" "ID_NEW_BUTTOM"
"自定义新建(&N)3" "" "IDB_NEW_BITMAP" "local:mytoolbar.bmp"   "" "100" "ID_NEW_BUTTOM"
"新建(&N)" "Mx_New" "IDB_NEW_BITMAP" "MxEdit.mrx"  "" "" "ID_NEW_BUTTOM"
"打开(&O)" "Mx_OpenMxg" "IDB_OPENMXG_BITMAP" "" "" "" "ID_OPEN_BUTTOM"
"打开DWG文件(&M)" "OpenDwg" "IDB_OPENDWG_BITMAP" "" "" ""  "ID_OPENDWG_BUTTOM"
"SEPARATOR"
"最近文件(&X)" "Mc_Empty" "" "" "" "" "ID_FILE_MRU_FILE1"
"SEPARATOR"
"退出(&X)" "Mc_Empty" "" "" "" "" "ID_APP_EXIT"
"POPMENUE"


    “//”是文件中的注释

    文件中后面每行代表一个菜单项

    "POPMENUS" "文件(&F)",表示一个弹出菜单开始

    "POPMENUE" 表示弹出菜单的结束


将图标文件mytoolbar.bmp和菜单定义文件mxcad.mnu放到MxDraw52\Bin\vc100目录下。


L%XVY98]%IJ)ED~3~NWJS{N.png


2、若需要图标从服务器上面加载,需要把图标文件和菜单定义文件上传到服务器


把mxcad.mnu, mytoolbar.bmp文件放到服务器上,并放在同一个目录下,保证能直接从ie中访问。


3、Js程序里引用菜单


菜单定义文件放在当前网页目录下。


<param name="Iniset" value="MenuFile=./mxcad.mnu">


[SZP(~)G{0MWJ`~4]W6JPSU.png


4、响应命令执行事件,如下:


function DoCommandEventFunc(iCmd)
{
    if (iCmd == 100) {
        //该函数在mxcustom.js中 
        alert("菜单按钮点击");
}
}


document.getElementById("MxDrawXCtrl").ImplementCommandEventFun = DoCommandEventFunc;


效果如下:


mnuebar.png


右键弹出菜单


CAD控件支持鼠标右键弹出菜单,菜单的文件格式和前面的主菜单文件格式一样。 详细参考例子,samples\ie\iedemoTest.htm。


COM接口DMxDrawX::TrackPopupMenu


在B/S模式下,下面一步一步的说明如何支持该功能:


1、新建菜单定义文件


新一个文本文件: mxpop.mnu,内容如下:


定义一个菜单按钮,按钮名为MyMenuButtonName,图标是服务器上加载,图标名为mytoolbar.bmp,按钮点击执行命令,命令id为99。


"MxDrawMenuBarFile" "MxDraw.dll" (214 211 206) "top" "主菜单" "Y"
"POPMENUS" "文件(&F)"
"MyMenuButtonName(&N)"  ""  ""  "web:mytoolbar.bmp"  "" "99"
"POPMENUE"


2、把文件上传到服务器


把mxpop.meu, mytoolbar.bmp文件放到服务器上,并放在同一个目录下,保证能直接从ie中访问。


3、响应鼠标右键事件,弹出菜单


菜单定义文件放在当前网页目录下。


document.getElementById("MxDrawXCtrl").ImplementMouseEventFun = MouseEvent;


function MouseEvent(dX, dY, lType) {
// 3表示鼠标右键按下   
 if(lType == 3)
{
        var  sPopMenu = mxOcx.GetOcxAppPath() + ".\\mxpop.mnu"
        mxOcx.TrackPopupMenu(dX, dY, sPopMenu);
        // 设置1,表示鼠标事件,不再往下传递.
        mxOcx.SetEventRet(1);
}
}


4、响应命令执行事件,如下:


function DoCommandEventFunc(iCmd)
{
    if (iCmd == 99) {
        //该函数在mxcustom.js中 
        alert("菜单按钮点击");
}
}


document.getElementById("MxDrawXCtrl").ImplementCommandEventFun = DoCommandEventFunc;
标尺栏

显示或隐藏接口:


COM接口: DMxDrawX::ShowRulerWindow


例如隐藏标尺栏,JS:


<param name="ShowRulerWindow" value="0">


CAD控件界面标尺栏的显示或隐藏,js代码实现如下:


//隐藏/显示标尺栏
function HideRulerWindow()
{

    mxOcx.ShowRulerWindow(isShow);
    isShow = !isShow;
}


隐藏标尺栏效果如下:


RulerWindow.png

属性栏

显示或隐藏接口:


COM接口: DMxDrawX::ShowPropertyWindow


例如显示属性栏,JS:


<param name="ShowPropertyWindow" value="1">


属性栏功能,默认是没有启用的,需要在CAD控件启动时初始化启用。


COM: IniSet="EnablePropertyWindow=Y"如下图说明:


sm.png


例如,Js调用启用属性窗口功能,但不显示。


<param name="Iniset" value="LoadMrx=PropertyEditor,EnablePropertyWindow=Y">


CAD控件界面属性栏的显示或隐藏,js代码实现如下:


//隐藏/显示属性栏
function HidePropertyWindow()
{

    mxOcx.ShowPropertyWindow(isShow);
    isShow = !isShow;
}


隐藏属性栏效果如下:


PropertyWindow.png

命令栏

显示或隐藏接口:


COM接口_DMxDrawX::ShowCommandWindow


例如隐藏命令栏,JS:


<param name="ShowCommandWindow" value="0">


CAD控件界面命令栏的显示或隐藏,js代码实现如下:


//隐藏/显示命令栏
function HideCommandWindow()
{

    mxOcx.ShowCommandWindow(isShow);
    isShow = !isShow;
}


隐藏命令栏效果如下:


CommandWindow.png

模型栏

显示或隐藏接口:


COM接口_DMxDrawX::ShowModelBar


例如隐藏模型栏,JS:


<param name="ShowModelBar" value="0">

CAD控件界面模型栏的显示或隐藏,js代码实现如下:


//隐藏/显示模型栏
function HideModelBar()
{

    mxOcx.ShowModelBar(isShow);
    isShow = !isShow;
}


隐藏模型栏效果如下:


ModelBar.png

状态栏

显示或隐藏接口:


COM接口_DMxDrawX::ShowStatusBar


例如隐藏状态栏,JS:


<param name="ShowStatusBar" value="0">


显示进度条


COM接口:


设置进度条显示范围_DMxDrawX::SetStatusBarProgressMeter
设置进度条显示位置_DMxDrawX::SetStatusBarProgressMeterPos
隐藏进度条DMxDrawX::RestoreStatusBar


状态栏上按钮调用


参考“ 梦想控件20-常用系统变量说明.doc ”文档,状态栏上的捕捉,正交等功能如何在自己的程序中设置。


坐标设置事件


状态上的坐标被修改后,会触发一个通知事件,可以帮助用户写自定义状态栏。


COM接口DMxDrawXEvents::SetTipCoord


_DMxDrawXEvents::SetTipCoord方法


接口:


static void SetTipCoord(CString sCoordTxt, double dX, double dY, double dZ);


参数:


参数说明

CString sCoordTxt

状态条显示内容

double dX

状态条显示X坐标

double dY

状态条显示Y坐标

double dZ

状态条显示Z坐标


进度条事件


进度条显示时,会触发设置进度条事件。


COM接口DMxDrawXEvents::SetProgressBar


状态栏的梦想Logo


控件试用版本程序,总是会显示该Logo,正式程序就会自动去掉该Logo。


CAD控件界面状态栏的显示或隐藏,js代码实现如下:


//隐藏/显示状态栏
function HideStatusBar()
{

    mxOcx.ShowStatusBar(isShow);
    isShow = !isShow;
}


隐藏状态栏效果如下:


StatusBar.png

浏览模式切换

启用接口:


COM接口DMxDrawX::BrowseMode


例如隐藏坐标图标,JS:


<param name="IsBrowner" value="1">


CAD控件界面浏览模式切换,js代码实现如下:


//模式切换
var isBrowner = false;
function BrownerMode() {
    isBrowner = !isBrowner;
    mxOcx.BrowseMode = isBrowner;
    mxOcx.ShowMenuBar = !isBrowner;
    mxOcx.ShowPropertyWindow = !isBrowner;
}


浏览模式切换效果如下:


BrownerMode.png

视区

设置视区背景色


COM接口_DMxDrawX::ViewColor


JS把背景色变成红色= 123,绿色=55,蓝色=78,颜色值是由(0xFF FF FF)6位的16进制数据组成,分别代表示(0x红,绿,蓝),比如要设置颜色: 红色= 123,绿色=55,蓝色=78的颜色。


123= 0x7B, 55=0x37, 78=0x4E


也就是0x7B 37 4E, 0x7B374E = 8075086。所以设置ViewColor =8075086:


<param name="ViewColor" value="8075086">


设置视区背景色为渐变色


COM接口IniSet="ViewGradientColor=RGB;标记"


设置背景为渐变色填充,RGB是填充的渐变色,标记为 0,不使用渐变填充颜色,1使用渐变填充颜色。


axMxDrawX1.Iniset = "ViewGradientColor=" + "255" + ";1";
axMxDrawX1.ViewColor = Color.FromArgb(10, 22, 200, 0);



设置水印背景


COM接口_DMxDrawX::Watermark


例如:设置文件名:d:\\mxcad.jpg,透明度为70,居中显示,x方向距离为5,y方向距离为5,如下:


ocx.Watermark = "d:\\mxcad.jpg,70,5,5,1"


JS例子:


var iShowWatermark = false;
function ShowWatermark() {
    iShowWatermark = !iShowWatermark;
    if (iShowWatermark) {
        mxOcx.Watermark = mxOcx.GetOcxAppPath() + "\\Watermark.png" + ",20,5,5,1";
        mxOcx.ViewColor = 16777215; // 背景色改成白色
    }
    else {
        mxOcx.Watermark = "";
        mxOcx.ViewColor = 0; // 背景色改成白色
    }
}


绘光栅图到背景


COM接口_DMxDrawX::DrawImageToBackground


参考说明如下:


BSTR sFileName光栅图文件.DWGBMPJPG文件路径
LONG lLeftUpX栅图显示的在控件视区显示的左上角位置X,视区窗口坐标
LONG lLeftUpY栅图显示的在控件视区显示的左上角位置Y,视区窗口坐标


把DWG文件当着背景导入


COM接口_DMxDrawX::OpenBackgroundFile


把一个dwg文件,或者图像文件当着一个背景导入,参考说明如下:


VARIANT_BOOL isGreyness是否灰显示
LONG lightColor背景灰度显示颜色
VARIANT_BOOL isZoomE  是否自动把调用ZoomE操作
VARIANT_BOOL isUpDisplay是否自动调用更新显示
sFileDWGBMPJPG文件路径


对象夹点显示颜色


COM接口IniSet="GripColor=RGB"


例如: JS,把夹点颜色改成 红色= 123,绿色=55,蓝色=78,设置GripColor=8075086:


<param name="IniSet" value="GripColor=8075086">
光标控制

设置光标线显示长度:


COM接口_DMxDrawX::CursorLong
_DMxDrawX::SetCursorCrossLong


    设置为0表示无限长:CursorLong= 0,默认值为30。


设置光标矩形框大小:


COM接口_DMxDrawX::CursorWidth
_DMxDrawX::SetCursorPickRect


    默认值为6 ,单位是屏幕像素大小。


自定义设置光标


COM接口,临时需要改变光标,用如下函数完成:


保存光标状态,与RestoreCursor配合使用_DMxDrawX::SaveCursor
设置光标,从cur光标文件加载_DMxDrawX::SetCursor
恢复光标_DMxDrawX::RestoreCursor


设置默认缺省时光标


COM接口_DMxDrawX::UseArrowCursor


设置默认使用箭头光标,不要使用缺省的十字光标:


<param name="UseArrowCursor" value="1">


从文件加载一个默认光标,CAD控件默认状态下将使用这个光标,路径是个相对 MxDrawX.ocx 所在目录下的文件。


Iniset属性,DEFAULTCURSOR=MyCursor.cur。


例如JS:


<param name="Iniset" value="DEFAULTCURSOR=MyCursor.cur">


光标位置


得到位置,文档坐标,是个MxDrawPoint对象。


COM接口_DMxDrawX::GetInputCursorPos


设置光标位置,文档坐标。


COM接口_DMxDrawX::SetInputCursorPos
坐标图标

显示或隐藏接口:


COM接口 DMxDrawX::IsDrawCoord


例如隐藏坐标图标,JS:


<param name="IsDrawCoord" value="0">


隐藏前:


hidebefore3.png


隐藏后:


hideafter3.png

动态提示

CAD控件具有鼠标停在一个对象上,然后自动弹出一个提示信息窗口的功能,效果如下:


stuat.png


参考例子:samples\ie\iedemoTest.htm,点击例子上边的设置超连接按钮,然后把鼠标停在对象上两秒,就能看到效果了。自动提示事件,用户响应该事件,返回需要显示的字符串,返回的字符串支持Html格式化。


COM接口_DMxDrawXEvents::InputPointToolTipEvent
设置提示时间_DMxDrawX::SetToolTipInitialTime
设置ToolTip自动提示隐藏时间_DMxDrawX::SetToolTipPopTime


JS例子说明:

1.   给选中实体设置超链接

//新建一个COM组件对象
var selEnt = mxOcx.NewComObject("IMxDrawUiPrEntity");
selEnt.message = "选择要设置的对象";
if (selEnt.go() != 1)
    return;
//返回用户选择的实体
var ent = selEnt.Entity();
if (ent == null)
    return;
//设置超链接(用户可以设置所需链接)
ent.Hyperlinks = "www.cdtong.net";
//设置动态提示弹出时间,默认为1000.0毫秒
mxOcx.DynToolTipTime = 100;


2.  增加InputPointToolTipEvent事件响应函数:


document.getElementById("MxDrawXCtrl").ImpInputPointToolTipFun = DoInputPointToolTipFun;


3.  在事件中返回需要提示的字符串:


function DoInputPointToolTipFun(ent) {
var mxOcx = document.getElementById("MxDrawXCtrl");
    var sHyperlinks = ent.Hyperlinks;
if(sHyperlinks.length != 0)
{
var sClassName = ent.ObjectName;
 
        var tip = "<b><ct=0x0000FF><al_c>"+sClassName+
           "</b><br><ct=0x00AA00><hr=100%></ct><br><a=\"link\">" + sHyperlinks + "</a>";
 
        mxOcx.SetEventRetString(tip);
    }
    ent = null;
    CollectGarbage();
}
右键弹出菜单

用户需要右键弹出菜单,则需要响应鼠标事件,右键按下后,弹出菜单分为在命令下运行及在非命令下运行,具体介绍如下 :


1、新建菜单文件


新一个文本文件: mxpoptest.mnu,内容如下(此文件为在命令下运行菜单):


// 菜单条文件头说明.
// "文件类型字符串" "资源文件名" "透明颜色" "位置,可以是:top,left,bottom,right"
"MxDrawMenuBarFile" "MxDraw.dll" (214 211 206) "top" "弹出菜单2"

// 菜单内容说明
// "命令名称"  "命令" "图标索引字符串" "资源文件名" "命令提示字符串" "命令ID"  "ID类型"  "是否命令当着函数执行"
"POPMENUS" "对象(&O)"
"确定" "" "" "" "确定" "" "ID_OK_BUTTON"
//"取消" "" "" "" "取消" "" "ID_CANCLE_BUTTON"
"关键字" "" "" "" "关键字" "" "ID_KEYWORD_BUTTON"
"SEPARATOR"
"Test(&E)" "Test" "" "" "编辑文字" "55" "" "Y"
"POPMENUE"


    此处的关键字为命令行提示命令。


新一个文本文件: MxPopMenuEnt.mnu,内容如下(此文件为在非命令下运行点击实体菜单):


// 菜单条文件头说明.
// "文件类型字符串" "资源文件名" "透明颜色" "位置,可以是:top,left,bottom,right"
"MxDrawMenuBarFile" "MxDraw.dll" (214 211 206) "top" "弹出菜单2"

// 菜单内容说明
// "命令名称"  "命令" "图标索引字符串" "资源文件名" "命令提示字符串" "命令ID"  "ID类型" 
"POPMENUS" "对象(&O)"
"删除(&E)"     "_Erase" "IDB_ERASE_BITMAP"
"复制(&Y)"     "_Copy" "IDB_COPY_BITMAP"
"移动(&V)"     "_Move" "IDB_MOVE_BITMAP"
"旋转(&R)"     "_Rotation" "IDB_ROTATION_BITMAP"
"缩放(&L)"     "_Scale" "IDB_SCALE_BITMAP"
"SEPARATOR"
"对象特性(&O)" "Mx_ShowProperties" "IDB_PROPERTY_BITMAP" "PropertyEditor.mrx"
"SEPARATOR"
"用户自加命令(&U)"     "" "" "" "" "99"
"POPMENUE"


新一个文本文件: MxPopMenu.mnu,内容如下(此文件为在非命令下运行无实体右击菜单):


// 菜单条文件头说明.
// "文件类型字符串" "资源文件名" "透明颜色" "位置,可以是:top,left,bottom,right"
"MxDrawMenuBarFile" "MxDraw.dll" (214 211 206) "top" "弹出菜单1"

// 菜单内容说明
// "命令名称"  "命令" "图标索引字符串" "资源文件名" "命令提示字符串" "命令ID"  "ID类型" 
"POPMENUS" "弹出菜单1(&V)"
"新建(&N)" "Mx_New" "IDB_NEW_BITMAP" "MxEdit.mrx" "" "" "ID_NEW_BUTTOM"
"打开(&O)" "Mx_OpenMxg" "IDB_OPENMXG_BITMAP" "" "" "" "ID_OPEN_BUTTOM"
"重画(&R)" "Re" "IDB_REGEN_BITMAP"
"SEPARATOR"
"实时缩放(&Z)" "ZoomR" "IDB_ZOOM_BITMAP"
"SEPARATOR"
"上一步" "ZoomP" "ID_PRVVIEW_BITMAP"
"窗口缩放(&W)" "WindowZoom" "IDB_ZOOMW_BITMAP"
"范围缩放(&E)" "ZoomE" "IDB_ZOOME_BITMAP"
"视区平移(&P)" "P" "IDB_PAN_BITMAP"
"视区旋转(&L)" "Mx_Plan" "IDB_PLAN_BITMAP" "MxEdit.mrx"
"SEPARATOR"
"鸟瞰(&D)" "DsViewer" "IDB_DSVIEWER_BITMAP"
"放大镜(&M)" "MagnifyingGlass" "IDB_MAGNIFYINGCLASS_BITMAP"
"SEPARATOR"
"视区背景色(&C)" "_ViewColor" "IDB_VIEWCOLOR_BITMAP"
"线重(&S)" "_ShowLineWeight" "IDB_LINEWEIGHT_BITMAP"
"绘图模式(&A)" "_DrawModle" "IDB_DRAWMODLE_BITMAP"
"全屏显示(&F)" "MxFullScreen" "IDB_FULLSCREEN_BITMAP"
"SEPARATOR"
"用户坐标系(&U)" "Mx_Ucs" "IDB_UCS_BITMAP" "MxEdit.mrx"

"POPMENUE"


文件中第一行是菜单文件头,每列内容如下 :


文件类型字符串资源文件名(后面菜单的图标默认从该dll中加载)图标的透明颜色位置菜单名
"MxDrawMenuBarFile""MxDraw.dll"(214 211 206)"top""弹出菜单"


    “//”是文件中的注释

    文件中后面每行代表一个菜单项

    "POPMENUS" "对象(&O)",表示一个弹出菜单开始

    "POPMENUE" 表示弹出菜单的结束

    "SEPARATOR" 表示弹出菜单的分割线


后面每列的内容如下:


命令名称点击执行的命令图标索引字符串资源文件名命令提示字符串"命令ID"ID类型(目前控件内部使用,一般为空)
"新建(&N)"Mx_New"IDB_NEW_BITMAP"""""""""


命令名称:


    新建(&N)。


点击执行的命令:

    其它语言使用DMxDrawX::RegistUserCustomCommand注册命令。


图标索引字符串:


    IDB_NEW_BITMAP。


资源文件名:


    1.  为空取默认资源文件名,该名称需要去掉控件版本号如:MxDraw52.dll写成MxDraw.dll,控件会根据具体情况加上这个版本号。

    2.  资源文件如是local:开头,表示是一个本地bmp文件,如:取mytoolbar.bmp做工具按钮图标:local:mytoolbar.bmp

         比如:菜单图标从本地bmp文件加载:

         "自定义新建(&N)" "Mx_New" "IDB_NEW_BITMAP" "local:mytoolbar.bmp"

    3.  资源文件如是web:开头,表示是一个网络服务器上的bmp文件,如:取mytoolbar.bmp做工具按钮图标: web:mytoolbar.bmp

          比如:菜单图标从服务器bmp文件加载,bmp文件与菜单文件在同一个服务器目录中:

          "自定义新建(&N)" "Mx_New" "IDB_NEW_BITMAP" "web:mytoolbar.bmp"


命令提示字符串:


    为空。


命令ID:


    指定菜单点击后响应的命令事件id,如不为空,可以在控件的命令执行事件中响应菜单点击事件: ImplementCommandEvent。


ID类型:


    目前控件内部使用,一般为空。


2、响应鼠标右键事件,弹出菜单


主要用到函数说明:


_DMxDrawX::TrackPopupMenu


在指定位置弹出一个菜单。详细说明如下:


参数说明

DOUBLE dX

弹出菜单的位置X值,是文档坐标

DOUBLE dY

弹出菜单的位置Y值,是文档坐标

sMenuFile

菜单定义文件,支持http开头的网络路径

document.getElementById("MxDrawXCtrl").ImplementMouseEventFun = MouseEvent;


function MouseEvent(dX, dY, lType) {
var mxOcx = document.getElementById("MxDrawXCtrl");
// 3表示鼠标右键按下   
 if(lType == 3)
{  // 右键按下
    var ret = mxOcx.Call("Mx_IsRuningCommand", "");
    var sStatuIsOK = ret.AtString(0);
    var sStatuIsintellisel = ret.AtString(1);
    if ((sStatuIsOK == "Ok") && (sStatuIsintellisel != "intellisel")){
        // 在命令下运行.
        var sMenu = mxOcx.GetOcxAppPath() + "\\mxpoptest.mnu";
        mxOcx.TrackPopupMenu(dX, dY, sMenu);
        // 设置1,表示鼠标事件,不再往下传递.
        mxOcx.SetEventRet(1);
        return;
    }
    else
    {
        // 非命令下运行
        var filter = mxOcx.NewResbuf();
        var ent = mxOcx.FindEntAtPoint(dX, dY, filter);
        var sPopMenu;
        if(ent != null)
        {
            mxOcx.ClearCurrentSelect();
            mxOcx.AddCurrentSelect(ent.ObjectID,true,true);
 
            sPopMenu = mxOcx.GetOcxAppPath() + "\\MxPopMenuEnt.mnu"
        }
        else
        {
            sPopMenu = mxOcx.GetOcxAppPath() + "\\MxPopMenu.mnu"
        }
 
 
        mxOcx.TrackPopupMenu(dX, dY, sPopMenu);
        // 设置1,表示鼠标事件,不再往下传递.
        mxOcx.SetEventRet(1);
    }
}
}


3、响应命令执行事件,如下:


function DoCommandEventFunc(iCmd)
{
    if (iCmd == 55) {
        
        alert("菜单按钮点击");
}
}


4、运行效果如下:


当CAD控件视区无实体时用户右击效果:


rightkey.png


当CAD控件视区有实体时用户右击实体效果:


rihghtkey1.png


当CAD控件在命令下运行时用户右击实体效果:


rightkry2.png


用户定义命令执行效果:


rightkey9.png

返回当前图纸的最小外包矩形框

js代码实现如下:


var pRet =mxOcx.Call("Mx_GetMcDbDatabaseBound", "");

if (pRet.AtString(0) == "Ok") {
    alert(
        "LBx:" + pRet.AtDouble(1) +
        "LBy:" + pRet.AtDouble(2) +
        "Rtx:" + pRet.AtDouble(3) +
        "Rty:" + pRet.AtDouble(4));
}
else {
    alert("调用失败");
}
返回当前视区坐标

js代码实现如下:


var pRet = mxOcx.CallLongParam1("Mx_GetViewCoord", 1);

if (pRet.AtString(0) == "Ok") {
    alert(
        "LBx:" + pRet.AtDouble(1) +
        "LBy:" + pRet.AtDouble(2) +
        "Rtx:" + pRet.AtDouble(3) +
        "Rty:" + pRet.AtDouble(4));
}
else {
    alert("调用失败");
}
返回当前视区坐标的文档坐标值

js代码实现如下:


var pRet = mxOcx.Cal("Mx_GetViewCoord");

if (pRet.AtString(0) == "Ok") {
    alert(
        "LBx:" + pRet.AtDouble(1) +
        "LBy:" + pRet.AtDouble(2) +
        "Rtx:" + pRet.AtDouble(3) +
        "Rty:" + pRet.AtDouble(4));
}
else {
    alert("调用失败");
}
在指定位置弹出一个菜单

主要用到函数说明:


_DMxDrawX::TrackPopupMenu


在指定位置弹出一个菜单。详细说明如下:


参数说明

DOUBLE dX

弹出菜单的位置X值,是文档坐标

DOUBLE dY

弹出菜单的位置Y值,是文档坐标

sMenuFile

菜单定义文件,支持http开头的网络路径


_DMxDrawX::FindEntAtPoint


在某点位置处查找实体。详细说明如下:


参数说明

DOUBLE dX

点X值,文档坐标

DOUBLE dY

点Y值,文档坐标

IDispatch* pFilter

过滤条件


js中使用如下:


                    function MouseEvent(dX, dY, lType) {                    
                    if(lType == 3)
                    {                        
                    // 鼠标右键按下
                        var filter = mxOcx.NewResbuf();                        
                        // 5020 = RTDXF0,只选择直线实体,设置过滤条件
                        //filter.AddStringEx("LINE",5020);

                        var ent = mxOcx.FindEntAtPoint(dX, dY, filter);

                        var sPopMenu;                       
                         if(ent != null)
                        {
                            mxOcx.ClearCurrentSelect();
                            mxOcx.AddCurrentSelect(ent.ObjectID,true,true);

                            sPopMenu = mxOcx.GetOcxAppPath() + "\MxPopMenuEnt.mnu"
                        }                        
                        else
                        {
                            sPopMenu = mxOcx.GetOcxAppPath() + "\MxPopMenu.mnu"
                        }


                        mxOcx.TrackPopupMenu(dX, dY, sPopMenu);                        
                        // 设置1,表示鼠标事件,不再往下传递.
                        mxOcx.SetEventRet(1);
                        }
                    }
梦想CAD标注系统变量说明

主要用到函数说明:


IMxDrawDimension::SetDimVarDouble


设置标注属性的实数类型变量值,详细说明如下:


参数说明

[in] LONG iType

该属性的类形值

dVal

设置的值


IMxDrawDimension::GetDimVarDouble


返回标注属性的实数类型变量值,详细说明如下:


参数说明

[in] LONG iType

该属性的类形值


例如: 设置标注文字高度,把文字调度设置成100,140是属性类型,它代表文字高度属性。js代码实现如下:


var id =  mxOcx.DrawDimAligned(0,4000,300,4500,150,4600);

var dim = mxOcx.ObjectIdToObject(id);
dim.SetDimVarDouble(140, 100);
dim.RecomputeDimBlock(true);


下面将详细介绍标注属性的实数类型变量值,详细说明如下:


变量类型值实数值说明

dimaltf

143

控制换算单位乘数

dimasz

41

控制尺寸线、引线箭头的大小。并控制钩线的大小

dimcen

141

控制由 DIMCENTER、 DIMDIAMETER 和 DIMRADIUS 命令绘制的圆或圆弧的圆心标记和中心线图形

dimdle

46

当使用小斜线代替箭头进行标注时,设置尺寸线超出尺寸界线的距离

dimdli

43

控制基线标注中尺寸线的间距

dimexe

44

指定尺寸界线超出尺寸线的距离

dimexo

42

指定尺寸界线偏移原点的距离

dimgap

147

当尺寸线分成段以在两段之间放置标注文字时,设置标注文字周围的距离

dimlfac

144

设置线性标注测量值的比例因子

dimrnd

45

将所有标注距离舍入到指定值

dimscale

40

为标注变量(指定尺寸、距离或偏移量)设置全局比例因子。同时还影响leader 命令创建的引线对象的比例

dimtfac

146

按照 dimtxt系统变量的设置,相对于标注文字高度给分数值和公差值的文字高度指定比例因子

dimtm

48

在 dimtol 系统变量或 dimlim系统变量为开的情况下,为标注文字设置最小(下)偏差

dimtp

47

在dimtol 或 dimlim系统变量设置为开的情况下,为标注文字设置最大(上)偏差。dimtp 接受带符号的值

dimtsz

142

指定线性标注、半径标注以及直径标注中替代箭头的小斜线尺寸

dimtvp

145

控制尺寸线上方或下方标注文字的垂直位置

dimtxt

140

指定标注文字的高度,除非当前文字样式具有固定的高度

dimaltrnd

148

舍入换算标注单位

梦想CAD标注系统变量说明1

主要用到函数说明:


IMxDrawDimension::SetDimVarInt


设置标注属性的整数类型变量值,详细说明如下:


参数说明

[in] LONG iType

该属性的类形值

iVal

设置的值


IMxDrawDimension::GetDimVarInt


返回标注属性的整数类型变量值,详细说明如下:


参数说明

[in] LONG iType

该属性的类形值


例如: 设置标注保留一位小数。js代码实现如下:


var id =  mxOcx.DrawDimAligned(0,4000,300,4500,150,4600);
var dim = mxOcx.ObjectIdToObject(id);
dim.SetDimVarInt(271, 1);
dim.RecomputeDimBlock(true);


下面将详细介绍标注属性的整数类型变量值,详细说明如下:


变量类型值实数值说明

dimadec

179

1.使用 dimdec 设置的小数位数绘制角度标注;0-8使用 dimadec 设置的小数位数绘制角度标注。(前面带dim的变量都是标注相关的变量,在"标注样式"对话框和"属性框"里都可以设置这些参数)

dimalt

70

控制标注中换算单位的显示:关.禁用换算单位;开:启用换算单位

dimaltd

171

控制换算单位中小数位的位数

dimalttd

274

设置标注换算单位公差值小数位的位数

dimalttz

286

控制是否对公差值作消零处理

dimaltu

273

为所有标注样式族(角度标注除外)换算单位设置单位格式

dimaltz

285

控制是否对换算单位标注值作消零处理。dimaltz 值为 0- 3 时只影响英尺-英寸标注

dimaunit

275

设置角度标注的单位格式:0.十进制度数 1.度/分/秒2.百分度 3.弧度

dimclrd

176

为尺寸线、箭头和标注引线指定颜色。同时控制由 leader命令创建的引线颜色

dimclre

177

为尺寸界线指定颜色

dimclrt

178

为标注文字指定颜色

dimdec

271

设置标注主单位显示的小数位位数。精度基于选定的单位或角度格式

dimfit

287

旧式,除用于保留脚本的完整性外没有任何影响。dimfit 被dimatfit 系统变量和 dimtmove 系统变量代替

dimjust

280

控制标注文字的水平位置

dimlim

72

将极限尺寸生成为默认文字

dimsah

173

控制尺寸线箭头块的显示

dimsd1

281

控制是否禁止显示第一条尺寸线

dimsd2

282

控制是否禁止显示第二条尺寸线

dimse1

75

控制是否禁止显示第一条尺寸界线:关.不禁止显示尺寸界线开.禁止显示尺寸界线

dimse2

76

控制是否禁止显示第二条尺寸界线:关.不禁止显示尺寸界线开.禁止显示尺寸界线

dimsoxd

175

控制是否允许尺寸线绘制到尺寸界线之外:关.不消除尺寸线开.消除尺寸线

dimtad

77

控制文字相对尺寸线的垂直位置

dimtdec

272

为标注主单位的公差值设置显示的小数位位数

dimtih

73

控制所有标注类型(坐标标注除外)的标注文字在尺寸界线内的位置

dimtix

174

在尺寸界线之间绘制文字

dimtofl

172

控制是否将尺寸线绘制在尺寸界线之间(即使文字放置在尺寸界线之外)

dimtoh

74

控制标注文字在尺寸界线外的位置:0或关.将文字与尺寸线对齐1或开.水平绘制文字

dimtol

71

将公差附在标注文字之后。将 dimtol 设置为“开”,将关闭dimlim 系统变量

dimtolj

283

设置公差值相对名词性标注文字的垂直对正方式:0.下 1.中间2.上

dimzin

78

控制是否对主单位值作消零处理

dimunit

270

旧式,除用于保留脚本的完整性外没有任何影响。dimunit 被dimlunit 和 dimfrac 系统变量代替

dimupt

288

控制用户定位文字的选项。0光标仅控制尺寸线的位置1或开光标控制文字以及尺寸线的位置

dimtzin

284

控制是否对公差值作消零处理

dimfrac

276

在 dimlunit 系统变量设置为:4(建筑)或5(分数)时设置分数格式,0.水平 1.斜 2.不堆叠

dimlunit

277

为所有标注类型(除角度标注外)设置单位制

dimatfit

289

当尺寸界线的空间不足以同时放下标注文字和箭头时,本系统变量将确定这两者的排列方式

dimtmove

279

设置标注文字的移动规则

dimazin

79

对角度标注作消零处理

dimdsep

278

指定一个单字符作为创建十进制标注时使用的小数分隔符

dimlwd

371

指定尺寸线的线宽。其值是标准线宽。-3.bylayer-2.byblock 整数代表百分之一毫米的倍数

dimlwe

372

指定尺寸界线的线宽。其值是标准线宽。-3 bylayer -2byblock 整数代表百分之一毫米的倍数

梦想CAD标注系统变量说明2

主要用到函数说明:


IMxDrawDimension::SetDimVarObjectId


设置标注属性的对象id类型变量值,详细说明如下:


参数说明

[in] LONG iType

该属性的类形值

id

设置的值


IMxDrawDimension::GetDimVarObjectId


返回标注属性的对象id类型变量值,详细说明如下:


参数说明

[in] LONG iType

该属性的类形值


下面将详细介绍标注样式的对象id类型属性值,详细说明如下:


变量类型值实数值说明

dimblk

342

设置尺寸线或引线末端显示的箭头块

dimblk1

343

当 dimsah系统变量打开时,设置尺寸线第一个端点的箭头

dimblk2

344

当 dimsah系统变量打开时,设置尺寸线第二个端点的箭头

dimldrblk

341

指定引线箭头的类型。要返回默认值(实心闭合箭头显示),请输入单个句点 (.)

dimtxsty

340

指定标注的文字样式

梦想CAD标注系统变量说明3

主要用到函数说明:


IMxDrawDimension::SetDimVarString


设置标注属性的字符串类型变量值,详细说明如下:


参数说明

[in] LONG iType

该属性的类形值

pszVal

设置的值


IMxDrawDimension::GetDimVarString


返回标注属性的字符串类型变量值,详细说明如下:


参数说明

[in] LONG iType

该属性的类形值


下面将详细介绍标注样式的字符串类型属性值,详细说明如下:


变量类型值实数值说明

dimapost

4

为所有标注类型(角度标注除外)的换算标注测量值指定文字前缀或后缀(或两者都指定)

dimpost

3

指定标注测量值的文字前缀或后缀(或者两者都指定)