mxdwg
发表于 2009-9-2 09:14:00
<p>控件最新更新,2009.09.02,<br/>1. 增加绘图捕捉功能.<br/>2. ARX接口中的曲线类几何计算函数更为完善</p><p>下载地址:<br/><a href="http://www.mxdraw.com/viewthread.php?tid=69&extra=page%3D1">http://www.mxdraw.com/viewthread.php?tid=69&extra=page%3D1</a></p>
sieben
发表于 2009-9-2 18:38:00
<p>1,佩服楼主!</p><p>2,楼主的QQ群满了,还能不能加俺?QQ:812928665</p><p>3,楼主对DWG文件的读入是基于DWGDirectX的吗?</p><p>4,若我想通过DWGDirectX读Dwg文件用C#来写一个象梦想控件一样的东西,楼主认为可行吗?(图形显示用GDI+)</p><p> 我对绘图速度和内存处理有点担心.我奇怪楼主是怎样实现填充的?</p><p>5,再次佩服楼主!</p>
mxdwg
发表于 2009-9-2 19:52:00
<p>1. 对Dwg读入使用DwgDirect</p><p>2. 填充图案,有专门算法可以生成。</p><p>3. 用C#也可以写,但没有C++写出的程序速度快。</p>
mxdwg
发表于 2009-9-23 08:30:00
<p>2009.09.21更新<br/>更新下载地址:</p><p><a href="http://www.mxdraw.com/viewthread.php?tid=75&extra=page%3D1">http://www.mxdraw.com/viewthread.php?tid=75&extra=page%3D1</a></p><p>1.增加不需要用控件打开,直接把dwg转成jpg文件的功能。<br/>2.增加ARX的自定义实体的支持。可以参例程:sample\CustomEntity\CustomEntity.sln例程。并实现了联动编辑的效果。<br/>3.修改了一些小问题。</p><p></p>
mxdwg
发表于 2009-10-10 14:41:00
本帖最后由 作者 于 2009-10-13 13:02:34 编辑 <br /><br /> <h2>2009.10.10更新</h2><div class="t_msgfont"><strong>更新下载地址:</strong><br/><strong><a href="http://www.mxdraw.com/viewthread.php?tid=79&extra=page%3D1">http://www.mxdraw.com/viewthread.php?tid=79&extra=page%3D1</a></strong><br/><br/>1. 增加ASP例程。<br/>2. 增加控件在网页中使用时,把文件保存到服务器的功能。<br/><br/>javascrit 程序绘直线代码;</div><div class="t_msgfont"></div><div class="t_msgfont"><font face="宋体-方正超大字符集">var MxDrawXCtrl_Obj; //控件对象<br/>function line()<br/>{<br/>MxDrawXCtrl_Obj = document.all.item("MxDrawXCtrl");<br/>var app ;<br/>app = new ActiveXObject("MxDrawX.MxDrawApplication");<br/><br/>var curSpace = app.WorkingDatabase().CurrentSpace();<br/>var point1;<br/>var point2;<br/>point1 = new ActiveXObject("MxDrawX.MxDrawPoint");<br/>point2 = new ActiveXObject("MxDrawX.MxDrawPoint");<br/>point1.x = 10;<br/>point1.y = 10;<br/>point1.z = 0;<br/>point2.x = 200;<br/>point2.y = 4000;<br/>point2.z = 0;<br/>curSpace.AddLine(point1, point2);<br/><br/>app.ZoomAll();<br/>alert ("绘制直线成功");<br/>}</font></div><div class="t_msgfont"></div>
mxdwg
发表于 2009-11-12 20:46:00
<p></p><p><strong><font size="3">2009.11.12更新下载地址:</font></strong><br/><strong><font size="4"><font size="5"><font size="3"></font></font></font></strong></p><p><strong><font size="4"><font size="5"><font size="3"><a href="http://www.mxdraw.com/viewthread.php?tid=81&extra=page%3D1" target="_blank">http://www.mxdraw.com/viewthread.php?tid=81&extra=page%3D1</a></font></font></font></strong><br/>1. 完善MxDrawX.ocx的接口和属性。控件的背影色,是否显示工具条,命令窗口等都可以直接在控件属性编辑器中修改<br/><br/>2. 增加一组简单的绘图接口,可以非常方便进行参数化绘图,这些接口的详细调用例程可以参考samples\MxDrawXTestVB6.0下的例程。<br/><br/>函数定义如下: 复制内容到剪贴板 <br/>代码:<br/>int DrawLine(double dX1, double dY1, double dX2, double dY2)<br/> MxDrawXLib._DMxDrawX 的成员<br/>int DrawArc1(double dCenterX, double dCenterY, double dRadius, double dStartAng, double dEndAng)<br/> MxDrawXLib._DMxDrawX 的成员<br/>int DrawArc2(double dStartPointX, double dStartPointY, double dMidPointX, double dMidPointY, double dEndPointX, double dEndPointY)<br/> MxDrawXLib._DMxDrawX 的成员<br/>int DrawArc3(double dStartPointX, double dStartPointY, double dEndPointX, double dEndPointY, double dBulge)<br/> MxDrawXLib._DMxDrawX 的成员<br/>int DrawBlockReference(double dPosX, double dPosY, string pszBlkName, double dScale, double dAng)<br/> MxDrawXLib._DMxDrawX 的成员<br/>int DrawCircle(double dCenterX, double dCenterY, double dRadius)<br/> MxDrawXLib._DMxDrawX 的成员<br/>int DrawEllipse(double dCenterX, double dCenterY, double dMajorAxisX, double dMajorAxisY, double dRadiusRatio)<br/> MxDrawXLib._DMxDrawX 的成员<br/>int DrawEllipseArc(double dCenterX, double dCenterY, double dMajorAxisX, double dMajorAxisY, double dRadiusRatio, double dStartAng, double dEndAng)<br/> MxDrawXLib._DMxDrawX 的成员<br/>int DrawImage(double dPosX, double dPosY, double dScale, double dAng, string pszFilePath)<br/> MxDrawXLib._DMxDrawX 的成员<br/>int DrawPathToHatch(double dPatternScale)<br/> MxDrawXLib._DMxDrawX 的成员<br/>int DrawPathToPolyline()<br/> MxDrawXLib._DMxDrawX 的成员<br/>int DrawPathToSpline()<br/> MxDrawXLib._DMxDrawX 的成员<br/><br/>int DrawPoint(double dX, double dY)<br/> MxDrawXLib._DMxDrawX 的成员<br/><br/>int DrawText(double dPosX, double dPosY, string pszText, double dHeight, double dRotation, short horizontalMode, short verticalMode)<br/> MxDrawXLib._DMxDrawX 的成员<br/><br/>uint DrawColor { set; get; }<br/> MxDrawXLib._DMxDrawX 的成员<br/><br/>string TextStyle { set; get; }<br/> MxDrawXLib._DMxDrawX 的成员<br/>double LineWidth { set; get; }<br/> MxDrawXLib._DMxDrawX 的成员<br/>string LineType { set; get; }<br/> MxDrawXLib._DMxDrawX 的成员<br/><br/>string LayerName { set; get; }<br/> MxDrawXLib._DMxDrawX 的成员<br/>string PatternDefinition { set; get; }<br/> MxDrawXLib._DMxDrawX 的成员复制内容到剪贴板 <br/>代码:<br/>比如,绘制一个填充:<br/>'《---------------------------------------》<br/>'绘制一个有图案的填充<br/>'angle, x-origin,y-origin, delta-x,delta-y,dash-1,dash-2, …<br/>'45 = angle 是图案线角度.<br/>'0 = x-origin 是第一个填充线经过的点位置X坐标<br/>'0 = y-origin 是第一个填充线经过的点位置Y坐标<br/>'0 = delta-x 是下一个填充线相对前一个线的X方向偏移<br/>'0.125 = delta-y 是下一个填充线相对前一个线的Y方向偏移<br/>MxDrawX1.AddPatternDefinition "MyHatchPattern1", "((45, 0,0, 0,0.125))"<br/>MxDrawX1.PatternDefinition = "MyHatchPattern1"<br/><br/>'定义一个路径的开始点<br/>MxDrawX1.PathMoveToEx 600, 3300, 0, 0, 0.3<br/>'路径的一下个点<br/>MxDrawX1.PathLineTo 700, 3300<br/>'路径的一下个点<br/>MxDrawX1.PathLineTo 700, 3400<br/>'路径的一下个点<br/>MxDrawX1.PathLineTo 600, 3300<br/><br/>'把路径变成一个填充,80,是填充图案的缩放比例.<br/>MxDrawX1.DrawPathToHatch 100<br/><br/>'把所有的实体都放到当前显示视区<br/>MxDrawX1.ZoomAll<br/>'更新视区显示<br/>MxDrawX1.UpdateDisplay</p><p></p><p></p>
mxdwg
发表于 2010-1-5 10:43:00
<p>2009.12.31更新下载地址:</p><p><a href="http://www.mxdraw.com/?p=10&a=view&r=14">http://www.mxdraw.com/?p=10&a=view&r=14</a></p><p><br/>1. 控件升级到VC2008</p><p>2. 支持最新的CAD图纸2010</p><p>3. DWG文件模块是否加载可选</p><p>4. 完善了DWG文件读写模块,解决了以前难解决的编辑图纸问题,为后续支持更为复杂的编辑功能准备了基础.</p><p>5.增加控件MxDrawX自动安装包(MSI文件),并且控件运行前,不需要安装任何VC环境.</p><p>6.修改了调试版本的一些错误,现在调试和发行版本一样稳定.</p><p>7.增加导出pdf功能.<br/></p>
mxdwg
发表于 2010-2-6 12:56:00
<p><font size="4"><strong>MxDraw5.0(20100206) 下载地址:</strong></font></p><p><font color="#445cbb" size="4"><a href="http://www.mxdraw.com/?p=10&a=view&r=17"><strong>http://www.mxdraw.com/?p=10&a=view&r=17</strong></a></font></p><p>1.增加批量打印接口<br/>函数定义如下:<br/> <br/> static BOOL BatchPrintDialog(MXDRAWOCXHANDLE hOcx,<br/> const MxDraw::BATCH_PRINT_DATA& printData);</p><p> // 直接打印,不出来现打印对话框.<br/> static BOOL Print(MXDRAWOCXHANDLE hOcx, <br/> McGePoint3d ptLB, // 打印的范围左下角。<br/> McGePoint3d ptRT, // 打印的范围右上角。<br/> LPCTSTR pszPrintName, // 打印机名。<br/> LPCTSTR pszPaperName, // 打印的图纸名。<br/> int iPrintDirection, // 打印的方向, <br/> CRect* pRectPageMargin = NULL, // 打印的页边距离,如果转NULL就取打印机默认的页边距。<br/> LPCTSTR pszLayoutName = NULL, // 打印的布局,为NULL就是模型Model中的内容。<br/> LPCTSTR pszPrintConfiy = NULL // 打印配制,暂没有使用。<br/> );</p><p>2.增加正交绘图模式</p><p>3.增加分屏显示功能</p><p>4.增加asp.net的把文件保存到服务器的例程。</p><p>5.修正了一些细节问题。</p><p></p>
mxdwg
发表于 2010-6-18 14:16:00
2010.06.18更新下载地址:
<p><font size="2"><strong><font size="3"><font size="4"><strong>MxDraw5.0(20100618) 下载地址:</strong></font></font></strong></font></p>
<p><strong><font size="3"><font color="#800080" face="Verdana"><a href="http://www.mxdraw.com/?p=10&a=view&r=21">http://www.mxdraw.com/?p=10&a=view&r=21</a></font></font></strong></p>
<p><strong><font size="3"></font></strong> </p>
<p><strong><font size="3"></font></strong> </p>
<p><font size="2"><strong><font size="3">1.增加搜索图上表格文字功能.类名为:MxTableSearch</font></strong></font>调用例程:<br/> MxTableSearch search;<br/> search.AddTableHeadUnit(_T("序号"));<br/> search.AddTableHeadUnit(_T("名称"));<br/> search.AddTableHeadUnit(_T("材料"));<br/> search.AddTableHeadUnit(_T("长度"));</p>
<p> std::vector<std::vector<CString> > vecTableContents;<br/> if(search.Do(vecTableContents) )<br/> {<br/> for(UINT i = 0; i < vecTableContents.size();i++)<br/> {<br/> std::vector<CString>& vecStr = vecTableContents;<br/> CString sOut = _T("\n");<br/> for(UINT j = 0; j < vecStr.size();j++)<br/> {<br/> sOut = sOut + _T(" ") + vecStr;<br/> }<br/> acutPrintf(sOut);<br/> }<br/> }</p>
<p><font size="3"><strong>2.增加把某个dwg图做为背景图打开。函数名为: MxDraw::OpenBackgroundFile</strong></font></p>
<p><font size="3"><strong>3.增加自绘背景接口,可以方便定制控件的显示背景:</strong></font> virtual void McDbDatabaseReactor::WordDrawBackGround(const McDbDatabase* pDatabase,McGiWorldDraw* wd,McDbObjectId layoutId);</p>
<p><font size="3"><strong>4.增加文字转曲线功能</strong></font><br/> static BOOL TextToCurves(<br/> IN McDbText* pText,<br/> OUT AcDbVoidPtrArray& aryCurve<br/> );</p>
<p><font size="3"><strong>5.增加VC6下,调用控件例程,使用COM 接口调用,很有参考价值:</strong></font>比如:与用户交互构造选择集:<br/>// 与用户交到选择实体.<br/> MxDrawXLib::IMxDrawSelectionSetPtr ssGet;<br/> ssGet.CreateInstance(__uuidof( MxDrawXLib::MxDrawSelectionSet ));<br/> if(ssGet == NULL)<br/> {<br/> return;<br/> }<br/> ssGet->Select (MxDrawXLib::mcSelectionSetUserSelect);</p>
<p> if(ssGet->GetCount() == 0)<br/> return;</p>
<p> for(long i = 0; i < ssGet->GetCount();i++)<br/> {<br/> MxDrawXLib::IMxDrawEntityPtr spEnt = ssGet->Item(i);<br/> if(spEnt == NULL)<br/> continue;</p>
<p> CComPtr<IMxDrawLine> spLine;<br/> spEnt->QueryInterface(&spLine);<br/> <br/> if(spLine != NULL)<br/> {<br/> //直线对象。<br/> stuPt sPt; // 开始点<br/> stuPt ePt; // 结束点<br/> Convert3dPoint(spLine->GetStartPoint(),sPt);<br/> Convert3dPoint(spLine->GetEndPoint(),ePt);</p>
<p> continue;<br/> }</p>
<p> CComPtr<IMxDrawArc> spArc;<br/> spEnt->QueryInterface(&spArc);</p>
<p> if(spArc != NULL)<br/> {<br/> stuPt cenPt; // 圆弧的中点<br/> double dR = 1; // 半径<br/> double dSAng = 0; // 开始角<br/> double dEAng = 0; // 结束角<br/> Convert3dPoint(spArc->GetCenter(),cenPt);<br/> dR = spArc->GetRadius();<br/> dSAng = spArc->GetStartAngle();<br/> dEAng = spArc->GetEndAngle();</p>
<p> continue;<br/> }<br/> </p>
<p> CComPtr<IMxDrawCircle> spCircle;<br/> spEnt->QueryInterface(&spCircle);<br/> if(spCircle != NULL)<br/> {<br/> stuPt cenPt; // 圆的中点<br/> double dR = 1; // 半径<br/> Convert3dPoint(spArc->GetCenter(),cenPt);<br/> dR = spArc->GetRadius();<br/> }</p>
<p> CComPtr<IMxDrawEllipse> spEllipse;<br/> spEnt->QueryInterface(&spEllipse);<br/> if(spEllipse != NULL)<br/> {<br/> stuPt cenPt; // 圆的中点<br/> Convert3dPoint(spEllipse->GetCenter(),cenPt);</p>
<p><br/> double dRadiusRation = 1.0;<br/> dRadiusRation = spEllipse->GetRadiusRatio();<br/> double dStartAng = spEllipse->GetStartAngle();<br/> double dEndAng = spEllipse->GetEndAngle();<br/> </p>
<p> stuPt majorAxis;<br/> Convert3dVector(spEllipse->GetMajorAxis(),majorAxis);<br/> }</p>
<p> }</p>
<p> </p>
<p><font size="3"><strong>6. 增加自主的dxf文件读写库,并且开源,使用者可以非常方便修改错误,源代码在samples\MxDxf50目录下,很有参考价值。</strong></font></p>
<p><font size="3"><strong>7. 修改一堆错误,和改了很多细节等。</strong></font></p>
<p><font size="3"><strong> 8.增加C#的多文档使用例程</strong></font></p>
<p><strong><font size="3"></font></strong> </p>
<p> </p>
mxdwg
发表于 2010-10-13 14:10:00
2010.10.12更新下载
<font size="5"> 2010.10.12 更新地址:</font><br/><a href="http://www.mxdraw.com/?p=10&a=view&r=31">http://www.mxdraw.com/?p=10&a=view&r=31</a><br/><br/>更新内容:<br/>1.增加扩展模块的支持,扩展模块名为mrx,与AutoCAD的arx文件是同一类。<br/><br/><br/>2.增加扩展模块中可以增加用户自定义函数和命令,自定义函数可以在ActiveX被其它用语言调用。<br/><br/><br/>3.修改布局中的一些显示错误<br/><br/><br/>4.修改自定义实体的显示错误,自定义实体显示更为准确<br/><br/><br/>5.增加region对象的显示<br/><br/><br/>6.增加MxExpressTools,ExApp例程,在ExApp例程中有一个非常好的表格文字搜索程序代码 SearchTable.cpp,SearchTable.h,演示控件的图面搜索接口的调用。 MxExpressTools中增加了绘制云线,和测量距离功能,并有源代码可参考。<br/><br/><br/>7.修改很多细节错误。<br/><br/>8.控件在网页使用是时,如果客户电脑没有安装控件,增加自动提示安装下载例程代码,在sample\AspNet中<br/><br/><br/>9.提高pdf文件的输出分辨率
页:
1
2
3
4
5
[6]
7
8
9
10
11