梦想DWG控件最新更新
已有 632 次阅读2014-2-26 10:57
控件2014.02.18最新更新
发布时间:2014-02-17 14:41:21
下载地址:
http://www.mxdraw.com/download/MxDraw5.2(20140218)TryVersion.exe
或华军下载:
http://www.onlinedown.net/soft/100760.htm
1.完善对2013 DWG 文件格式支持
2.增加64位版本
3.升级到VC2010开发,控件不再需要安装VC运行库,就能使用
4. 增加使用COM接口,写自定义实体的功能
参数 说明
BSTR pszGuid 用来标识自定义实体的id
BSTR pszBlkRecName 把自定义实体的加到块表记录的名称,如果为空,就加入到当前空间。
例如: JS代码
var ent = mxOcx.DrawCustomEntity("TestMxCustomEntity", "");
ent.SetPoint("spt", frstPt);
ent.SetPoint("ept", secondPt);
5.增加使用COM接口,写动态拖放功能
动态拖放时的绘制事件
void DynWorldDraw(DOUBLE dX, DOUBLE dY, IDispatch* pWorldDraw, IDispatch* pData, LONG* pRet);
6.增加水印功能
例如:设置文件名d:mxcad.jpg,透明度为70,居中显示,x方向距离为5,y方向距离为5,如下
ocx.Watermark = "d:mxcad.jpg,70,5,5,1"
7.增加对组的支持,如创建组,删除组,得到组等函数
8.增加实体超连接功能,点击实体,可以跳到一指定的网页
9.增加右键弹出菜单功能
10.增加绘制动画功能
11.完善打印接口,新增IMxDrawPrint组件,可以实现,调用打印窗口打印,直接打印,批量打印,多个控件内容组合打印,与网页内容一同打印,指定范围打印,当前显示内容打印等功能
12.完善读写扩展数的COM接口,读写扩展数据变成非常方便。
如:
function WriteXData() {
var selEnt = mxOcx.NewComObject("IMxDrawUiPrEntity");
selEnt.message = "选择要写扩展数据的对象";
if (selEnt.go() != 1)
return;
var ent = selEnt.Entity();
if (ent == null)
return;
if (ent.SetxDataString("ExDataName", 0, "ExDataValue")) {
alert("写扩展数据成功");
}
else {
alert("写扩展数据失败");
}
}
function ReadXData() {
var selEnt = mxOcx.NewComObject("IMxDrawUiPrEntity");
selEnt.message = "选择要读取扩展数据的对象";
if (selEnt.go() != 1)
return;
var ent = selEnt.Entity();
if (ent == null)
return;
var val = ent.GetxDataString2("ExDataName", 0);
if (mxOcx.IsOk()) {
alert(val);
}
else {
alert("没有扩展数!");
}
}
13.增加一堆的与用户交互的COM接口组件,如:IMxDrawUiPrPoint,IMxDrawUiPrAngle,IMxDrawUiPrDist,IMxDrawUiPrDouble,IMxDrawUiPrEntity,IMxDrawUiPrInt,IMxDrawUiPrKeyWord,IMxDrawUiPrString
例如: 与用户交互取点:
var getPt = mxOcx.NewComObject("IMxDrawUiPrPoint");
getPt.message = "点取打印范围第一点";
if (getPt.go() != 1) {
return;
}
var frstPt = getPt.value();
if (frstPt == null)
return;
14.增加带参数执行命令函数,和把命令当着函数调用的功能
// -------------------------------------------------------------------------
// Summary:
// 执行一个命令,可以传参数.
// Parameters:
// pszExecute - 命令名
// pParam - 命令参数,IMxDrawResbuf对象
// -------------------------------------------------------------------------
[id(187), helpstring("method SendStringToExecuteEx")] VARIANT_BOOL SendStringToExecuteEx(BSTR sCmdName, IDispatch* pParam);
// -------------------------------------------------------------------------
// Summary:
// 把命令当着函数执行,可以传参数.
// Parameters:
// pszExecute - 命令名
// pParam - 命令参数,IMxDrawResbuf对象
// -------------------------------------------------------------------------
[id(188), helpstring("method SendStringToExecuteFun")] VARIANT_BOOL SendStringToExecuteFun(BSTR sCmdName, IDispatch* pParam);
15.增加动态绘制失量圆,失量线功能,视区移动后会自动消失
// -------------------------------------------------------------------------
// Summary:
// 绘制失量圆
// Parameters:
// dCenX - 失量圆中心点X,文档坐标
// dCenY - 失量圆中心点Y,文档坐标
// dR - 失量圆半径,,文档坐标
// lColor - 颜色
// Remarks:
// 例如: JS
//
// mxOcx.PutEntityInView(ent.ObjectID, 300);
//
//
// var dLen = mxOcx.ViewLongToDocCoord(80);
//
// // 绘制一个标记圆.
// mxOcx.DrawVectorCircle(ent.Position.x,
// ent.Position.y,
// dLen, 65280);
//
// -------------------------------------------------------------------------
[id(235), helpstring("method DrawVectorCircle")] VARIANT_BOOL DrawVectorCircle(DOUBLE dCenX, DOUBLE dCenY, DOUBLE dR,LONG lColor);
// -------------------------------------------------------------------------
// Summary:
// 绘制失量线
// Parameters:
// dX1 - 开始点X值
// dY1 - 开始点Y值
// dX2 - 结束点X值
// dY2 - 结束点Y值
// lColor - 颜色
// -------------------------------------------------------------------------
[id(236), helpstring("method DrawVectorLine")] VARIANT_BOOL DrawVectorLine(DOUBLE dX1, DOUBLE dY1, DOUBLE dX2, DOUBLE dY2,LONG lColor);
16.增加控件浏览模式切换功能
例如: js代码
var isBrowner = false;
function BrownerMode() {
isBrowner = !isBrowner;
mxOcx.BrowseMode = isBrowner;
mxOcx.ShowMenuBar = !isBrowner;
mxOcx.ShowPropertyWindow = !isBrowner;
17.把常用的自定义事件导出,如:
void MxKeyDown(LONG lVk, LONG* pRet);
void MxKeyUp(LONG lVk, LONG* pRet)
void ObjectGripEdit(LONGLONG lId, LONG iGridIndex)
void OpenFileComplete(void)
void InitComplete(void)
void SysVarChanged(BSTR sVarName)
void HyperlinkClick(IDispatch* pEntity, DOUBLE dX, DOUBLE dY, LONG* pRet)
18.把常用的自定义函数导出,如:
VARIANT_BOOL PrintHtml(VARIANT_BOOL isShowPrintDialog, VARIANT_BOOL isPrintLineWidth);
void ClearUndoData(void)
DrawEntityToJpg(LONGLONG lId, BSTR sJpgFilePath, LONG iWidth, LONG iHeight, LONG lBkColor)
BSTR GetMTextContent(LONGLONG lId);
VARIANT_BOOL ExprotPdf(BSTR sPdfFileName, DOUBLE dPaperH, DOUBLE dPaperW, BSTR pszTitle, VARIANT_BOOL isExportLayout);
VARIANT_BOOL SendStringToExecuteEx(BSTR sCmdName, IDispatch* pParam);
VARIANT_BOOL SendStringToExecuteFun(BSTR sCmdName, IDispatch* pParam);
IDispatch* GetEntitysLastCmd(void);
LONGLONG DrawHatchFromPoint(DOUBLE dX, DOUBLE dY, DOUBLE dPatternScale);
VARIANT_BOOL IsRuningCommand(BSTR* sCmdName);
IDispatch* ScreenToDocCoord(DOUBLE dX, DOUBLE dY);
IDispatch* DocToScreenCoord(DOUBLE dX, DOUBLE dY);
VARIANT_BOOL IsIniting(void);
VARIANT_BOOL IsModifyed(void);
VARIANT_BOOL SetIsModifyed(VARIANT_BOOL isModifyed);
VARIANT_BOOL IsModelSpace(void);
VARIANT_BOOL StopAllCommand(void);
VARIANT_BOOL Regen(void);
BSTR GetCurrentLayout(void);
LONGLONG DrawImageMark(DOUBLE dPosX, DOUBLE dPosY, DOUBLE dScale, DOUBLE dAng, BSTR pszFileName, BSTR pszTwinkeImageFiles,VARIANT_BOOL isSaveData);
//….
19.完善控件COM接口,在网页更加方便调用控件功能 ,增加了一堆的函数
20.修改控件在网页调用的一堆细节问题