注册会员 登录
CAD吧 返回首页

ywl0224的个人空间 https://www.cad8.net/?10602 [收藏] [复制] [分享] [RSS]

日志

梦想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.修改控件在网页调用的一堆细节问题
 
 

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册会员