mxdwg 发表于 2008-12-4 18:38:00

<p>梦想绘图控件交流群:73281982 </p><p>群说明: CAD 控件,DWG图纸的浏览与编辑,CAD工具制作,专业软件制作,ARX开发,合作开发软件项目等交流</p>

mxdwg 发表于 2009-5-11 09:20:00

2009.05.10更新

<p><strong>更新下载地址:<br/></strong><a href="http://www.mxdraw.com/downland/MxDraw3.0(20090510)BetaTryVersion.exe" target="_blank"><font color="#a0522d"><strong>http://www.mxdraw.com/downland/MxDraw3.0(20090510)BetaTryVersion.exe</strong></font></a><br/><br/>1. 增加布局功能和相关接口,如:McDbLayout,McDbLayoutManager等类。</p><p>2. 增加鼠标移动到实体上的动态提示功能和相关接口。如:</p><p>// ARX的动态事件接口,虚函数。<br/>virtual Mcad::ErrorStatus McEdInputPointMonitor::MonitorInputPointToolTip(IN const &nbsp;McDbObjectIdArray&amp; pickedEntities,<br/>&nbsp;&nbsp;IN const McGePoint3d&amp; pickedPoint,<br/>&nbsp;&nbsp;IN CString&amp; sNewToolTipString<br/>&nbsp;&nbsp;);</p><p>ActiveX的动态提示事件函数<br/>CMxDrawOcxCtrl::FireMonitorInputPointToolTip(LONG lId, BSTR* pToolTip)</p><p>3. 增加图层管理功能和相关接口。如:<br/>ActiveX的图层导出接口.</p><p>SHORT CMxDrawOcxCtrl::GetLayerIdArray(VARIANT* pArrayId);<br/>SHORT CMxDrawOcxCtrl::GetLayerProp(LONG lId, BSTR* pszName, BSTR* pszLineTypeName, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SHORT* pIsOff, SHORT* pIsLock, SHORT* pIsFrozen, BYTE* pR, BYTE* pG, BYTE* pB);<br/>SHORT CMxDrawOcxCtrl::SetLayerOff(LONG lId, SHORT iIsOff);</p><p>4. 导出dwf功能和相关接口。如:<br/>&nbsp;BOOL MxDraw::ExprotDwf(MXDRAWOCXHANDLE hOcx,<br/>&nbsp;&nbsp;LPCTSTR pszDwfFilePath<br/>&nbsp;&nbsp;);<br/>5.&nbsp; 安装包中增加调试版lib文件和dll文件,方便控件使用者调试程序.</p><p>6.&nbsp; 增加放大镜功能</p><p>7.&nbsp; 修正一堆细节上的错误</p><p></p>

mxdwg 发表于 2009-6-17 15:08:00

<strong>2009.06.16更新</strong><div style="MARGIN-TOP: 10px; FONT-SIZE: 12pt; MIN-HEIGHT: 200px; WORD-BREAK: break-all; TEXT-INDENT: 0px; LINE-HEIGHT: normal; WORD-WRAP: break-word;"><p>2009.06.16<strong>更新下载地址:</strong></p><p><a href="http://www.mxdraw.com/viewthread.php?tid=56&amp;extra=page%3D1"><font color="#000000">http://www.mxdraw.com/viewthread.php?tid=56&amp;extra=page%3D1</font></a></p><p>1.增加 dwf的导入.</p><p>2.增加样条线绘制,</p><p>3.增加曲线采样和离散曲线功能,可以对样条线,圆弧,圆,椭圆,椭圆弧进行离散</p><p>4.增加用户坐标系</p><p>5.增加视区旋转显示,和旋转打印。</p><p>6.增加鸟瞰功能</p><p>7.增加对位图,jgp的显示,增加AcDbRasterImage类。</p><p>8.增加绘图属性工具条,可以设置绘图的当前的颜色,当前图层,当前线型.<br/></p><p>9增加绘图工具条,主要用增加:绘线,矩形框,圆弧,圆,样条线,椭圆,椭圆弧,点,插入块,写文字,和插入图片按钮。<br/></p><p>10.增加打开网上dwg图纸命令<br/></p><p>11.增加关闭选择实体的图层命令<br/></p><p>12.增加打开所有图层命令</p><br/><img title="dvubb" alt="图片点击可在新窗口打开查看" src="http://www.mjtd.com/BBS/skins/default/filetype/jpg.gif" border="0"/>此主题相关图片如下:<br/><a href="http://www.mjtd.com/BBS/showimg.asp?BoardID=14&amp;fileid=48111" target="_blank"><img title="dvubb" alt="图片点击可在新窗口打开查看" src="http://www.mjtd.com/BBS/showimg.asp?BoardID=14&amp;fileid=48111" border="0" style="ZOOM: 70%;"/></a><br/></div>

ishou 发表于 2009-6-17 22:23:00

<p>搞不清楚您是用什么东东搞的? 好象与AutoCAD 或Autodesk有关联?用ObjectDBX搞的?<p></p></p><p>我有点搞不懂,
                您还没有把CAD操作界面搞完整,就去搞一些花悄的东西?<p></p></p><p>2维 CAD的核心东东应该不会大,想当年AutoCAD R10仅仅几个M,加上AutoLISP语言,就已经很不错。<p></p></p><p>如果您能设计出一个稳健的迷你型<font face="Times New Roman">
                        AutoCAD</font>,我可以为您提供一个功能强大的、脚本型的二次开发语言,其书写格式类似<font face="Times New Roman">C/C++,</font>能力接近<font face="Times New Roman">C/C++,支持MFC 和线程(thread), </font>而使用的简洁程度与脚本语言一样,运行速度比<font face="Times New Roman">AutoLISP</font>快一半到数倍,可以取代<font face="Times New Roman">AutoLISP</font>和<font face="Times New Roman">VBA.</font>比如,把选择的所有圆的半径乘以<font face="Times New Roman">2</font>:<p></p></p><p><font face="Times New Roman">Def <span style="mso-spacerun: yes;">&nbsp;DoubleRad() {</span><p></p></font></p><p><font face="Times New Roman">&nbsp;&nbsp;&nbsp; ss = ssget( buildlist( 0, "CIRCLE"));<p></p></font></p><p><font face="Times New Roman">&nbsp;&nbsp;&nbsp; if (!ss) return;<p></p></font></p><p><font face="Times New Roman">&nbsp;&nbsp;&nbsp; for (en in ss) {<p></p></font></p><p><font face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;eg = entget(en);<p></p></font></p><p><font face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eg.SeekType(40)-&gt;Value *= 2.0;<p></p></font></p><p><font face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; entmod(eg);<p></p></font></p><p><font face="Times New Roman">&nbsp;&nbsp;&nbsp; }<p></p></font></p><p><font face="Times New Roman">}<p></p></font></p><p>或<font face="Times New Roman">:<p></p></font></p><p><font face="Times New Roman">Def <span style="mso-spacerun: yes;">&nbsp;&nbsp;DoubleRad() {</span><p></p></font></p><p><font face="Times New Roman">&nbsp;&nbsp;&nbsp; ss = ssget( buildlist( 0, "CIRCLE"));<p></p></font></p><p><font face="Times New Roman">&nbsp;&nbsp;&nbsp; if (!ss) return;<p></p></font></p><p><font face="Times New Roman">&nbsp;&nbsp;&nbsp; for (en in ss) {<p></p></font></p><p><font face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dx = en.Dispatch;<p></p></font></p><p><font face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R = Dx.Radius;<p></p></font></p><p><font face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dx.Radius = R*2;<p></p></font></p><p><font face="Times New Roman">&nbsp;&nbsp;&nbsp; }<p></p></font></p><p><font face="Times New Roman">}</font><p></p></p>

mxdwg 发表于 2009-6-18 15:54:00

<p>是用VC2005写的,与AutoCAD没有关系.</p><p>是个一个控件,可以应用到所以需要CAD绘图的专业软件开发中.</p>

mxdwg 发表于 2009-9-2 09:15:00

<p>控件最新更新,2009.09.02,<br/>1. 增加绘图捕捉功能.<br/>2. ARX接口中的曲线类几何计算函数更为完善</p><p>下载地址:<br/><a href="http://www.mxdraw.com/viewthread.php?tid=69&amp;extra=page%3D1">http://www.mxdraw.com/viewthread.php?tid=69&amp;extra=page%3D1</a><br/></p><p></p>

mxdwg 发表于 2010-2-10 10:39:00

<p><font size="4"><strong>梦想绘图控件: MxDraw5.0(20100206) 下载地址:</strong></font></p><p><a href="http://www.mxdraw.com/?p=10&amp;a=view&amp;r=17">http://www.mxdraw.com/?p=10&amp;a=view&amp;r=17</a></p><p>1.增加批量打印接口<br/>函数定义如下:<br/>&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; static BOOL BatchPrintDialog(MXDRAWOCXHANDLE hOcx,<br/>&nbsp;&nbsp;const MxDraw::BATCH_PRINT_DATA&amp; printData);</p><p>&nbsp;// 直接打印,不出来现打印对话框.<br/>&nbsp;static BOOL Print(MXDRAWOCXHANDLE hOcx,&nbsp;&nbsp;<br/>&nbsp;&nbsp;McGePoint3d ptLB,&nbsp;// 打印的范围左下角。<br/>&nbsp;&nbsp;McGePoint3d ptRT,&nbsp;// 打印的范围右上角。<br/>&nbsp;&nbsp;LPCTSTR pszPrintName,&nbsp;&nbsp;// 打印机名。<br/>&nbsp;&nbsp;LPCTSTR pszPaperName,&nbsp;&nbsp;// 打印的图纸名。<br/>&nbsp;&nbsp;int&nbsp;&nbsp;&nbsp;&nbsp; iPrintDirection,&nbsp;// 打印的方向,&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp; CRect* pRectPageMargin = NULL,&nbsp;&nbsp; // 打印的页边距离,如果转NULL就取打印机默认的页边距。<br/>&nbsp;&nbsp;LPCTSTR pszLayoutName = NULL,&nbsp;// 打印的布局,为NULL就是模型Model中的内容。<br/>&nbsp;&nbsp;LPCTSTR pszPrintConfiy = NULL&nbsp;// 打印配制,暂没有使用。<br/>&nbsp;&nbsp;);</p><p>2.增加正交绘图模式</p><p>3.增加分屏显示功能</p><p>4.增加asp.net的把文件保存到服务器的例程。</p><p>5.修正了一些细节问题。</p><p></p><p></p>

mxdwg 发表于 2015-5-13 09:56:53

在VC6中MxDraw使用控件,并响应视区变化事件

1.先在系统中注册MxDrawX.ocx,在VC中引用MxDrawX.ocx,如下图,执行导入组件命令


在Components and controls gallery对话框,选择MxDrawX.ocx,点击插入按钮。

2.在Stdafx.h文件中引入控件的类型库,如下代码
// 导入MxDrawX.ocx类型库,事先需要设置VC包含路径,指名MxDrawX.ocx所在位置
#import "MxDrawX.ocx"

// 包括ATL库,可以它的COM智能指针
#include "ATLBASE.H"

// 使用MxDrawXLib名字空间.
using namespace MxDrawXLib;

3.在对话框资源编辑器里,引用控件,并设置控件的IniFilePath属性值为, EnableViewModifyNotify=Y如下:



4.响应控件的,自定义事件,用VC向导自动加入


5.增加控件变量,用向导自动加入


6.在控件事件处理函数里,加入如下代码,得到视区变化的通知

void CTestMxDrawXDlg::OnCustomEventMxdrawxctrl1(LPCTSTR sEventName)
{
        // TODO: Add your control notification handler code here
        CString sEventNameTmp(sEventName);
       
    // 得到事件参数
IDispatch* pDispatch = m_ocx.CustomEventParam();
        CComPtr<IMxDrawResbuf> spParam;
        pDispatch->QueryInterface(&spParam);
        // Mx_ViewModify 是事件名称.
        if(sEventNameTmp == _T("Mx_ViewModify"))
        {
                // 视区的中心点X坐标。文档坐标
                DOUBLE dCenX = spParam->AtDouble(0);

                // 修改后的视区的中心点Y坐标。文档坐标
                DOUBLE dCenY = spParam->AtDouble(1);

                // 视区宽度,文档坐标
                DOUBLE dW = spParam->AtDouble(2);

                // 视区高度,文档坐标
                DOUBLE dH = spParam->AtDouble(3);

                CString sT;
                sT.Format(_T("中心点X: %lf,中心点Y:%lf,视区宽度:%lf,视区高度:%lf"),
                        dCenX,dCenY,dW,dH);
                AfxMessageBox(sT);
        }
        // 释放COM接口
        pDispatch->Release();
       
}
页: 1 [2]
查看完整版本: 梦想CAD二维控件