用户可以在控件视区任意位置绘制直线。

主要用到函数说明:

_DMxDrawX::DrawLine

绘制一个直线。详细说明如下:

参数 说明

DOUBLE dX1

直线的开始点x坐标

DOUBLE dY1

直线的开始点y坐标

DOUBLE dX2

直线的结束点x坐标

DOUBLE dY2

直线的结束点y坐标

IMxDrawCustomEntity::Draw

把实体绘制到图上。一般用于动态拖放时,在拖放结束时,绘制到图上。

_DMxDrawXEvents::DynWorldDraw

动态拖放时的绘制事件。详细说明如下:

参数 说明

DOUBLE dX

当前鼠标位置X坐标

DOUBLE dY

当前鼠标位置Y坐标

IDispatch* pWorldDraw

IMxDrawWorldDraw对象,用于动态绘制

IDispatch* pData

IMxDrawCustomEntity对象,动态绘制数据

_DMxDrawX::DrawText

绘制一个单行文字。详细说明如下:

参数 说明

DOUBLE dPosX

文字的位置的X坐标

DOUBLE dPosY

文字的位置的Y坐标

BSTR pszText

文字内容字符串

DOUBLE dHeight

文字高度

DOUBLE dRotation

文字的旋转角度

SHORT horizontalMode

文字的水平对齐方式,0=kTextLeft,1=kTextCenter,2=kTextRight

SHORT verticalMode

文字的竖直对齐方式,1=kTextBottom,2=kTextVertMid,3=kTextTop

c#中实现代码说明:

动态拖放时的绘制事件:

private void DynamicDrawLine()
{
//点取第一点
MxDrawUiPrPoint getPt = new MxDrawUiPrPoint();
getPt.message = "点取第一点:";
if (getPt.go() != MCAD_McUiPrStatus.mcOk)
return;
//点取第二点
MxDrawUiPrPoint getSecondtPt = new MxDrawUiPrPoint();
getSecondtPt.message = "点取第二点:"; MxDrawCustomEntity spDrawData = getSecondtPt.InitUserDraw("DrawMyLine");
//设置point类型的属性。
spDrawData.SetPoint("startpoint", getPt.value());
//设置线宽
spDrawData.SetDouble("linewidth", 5); if (getSecondtPt.go() != MCAD_McUiPrStatus.mcOk)
return; spDrawData.Draw();
}

动态绘制直线:

private void axMxDrawX1_DynWorldDraw(object sender, AxMxDrawXLib._DMxDrawXEvents_DynWorldDrawEvent e)
{
MxDrawCustomEntity pCustomEntity = (MxDrawCustomEntity)e.pData;
MxDrawWorldDraw pWorldDraw = (MxDrawWorldDraw)e.pWorldDraw;
string sGuid = pCustomEntity.Guid; MxDrawPoint curPoint = new MxDrawPoint(); curPoint.x = e.dX;
curPoint.y = e.dY;
if (sGuid == "DrawMyLine")
{
MxDrawPoint sPt = pCustomEntity.GetPoint("startpoint");
double dw = pCustomEntity.GetDouble("linewidth");
pWorldDraw.LineWidth = dw;
pWorldDraw.DrawLine(sPt.x, sPt.y, curPoint.x, curPoint.y);
}
}

CAD交互绘制直线(com接口)的更多相关文章

  1. CAD交互绘制直线(网页版)

    用户可以在CAD控件视区任意位置绘制直线. 主要用到函数说明: _DMxDrawX::DrawLine 绘制一个直线.详细说明如下: 参数 说明 DOUBLE dX1 直线的开始点x坐标 DOUBLE ...

  2. CAD交互绘制带颜色宽度的直线(com接口)

    用户可以在控件视区任意位置绘制直线. 主要用到函数说明: _DMxDrawX::DrawLine 绘制一个直线.详细说明如下: 参数 说明 DOUBLE dX1 直线的开始点x坐标 DOUBLE dY ...

  3. CAD交互绘制带颜色宽度的直线(网页版)

    用户可以在CAD控件视区任意位置绘制直线. 主要用到函数说明: _DMxDrawX::DrawLine 绘制一个直线.详细说明如下: 参数 说明 DOUBLE dX1 直线的开始点x坐标 DOUBLE ...

  4. CAD参数绘制直线(com接口)

    用户可以在CAD控件视区任意位置绘制直线. 主要用到函数说明: _DMxDrawX::DrawLine 绘制一个直线.详细说明如下: 参数 说明 DOUBLE dX1 直线的开始点x坐标 DOUBLE ...

  5. CAD交互绘制虚线(com接口)

    用户可以在控件视区任意位置绘制直线. 主要用到函数说明: _DMxDrawX::DrawLine 绘制一个直线.详细说明如下: 参数 说明 DOUBLE dX1 直线的开始点x坐标 DOUBLE dY ...

  6. CAD交互绘制虚线(网页版)

    用户可以在CAD控件视区任意位置绘制直线. 主要用到函数说明: _DMxDrawX::DrawLine 绘制一个直线.详细说明如下: 参数 说明 DOUBLE dX1 直线的开始点x坐标 DOUBLE ...

  7. CAD参数绘制直线(网页版)

    用户可以在CAD控件视区任意位置绘制直线. 主要用到函数说明: _DMxDrawX::DrawLine 绘制一个直线.详细说明如下: 参数 说明 DOUBLE dX1 直线的开始点x坐标 DOUBLE ...

  8. CAD交互绘制带周长面积的矩形框(com接口)

    主要用到函数说明: _DMxDrawX::DrawLine 绘制一个直线.详细说明如下: 参数 说明 DOUBLE dX1 直线的开始点x坐标 DOUBLE dY1 直线的开始点y坐标 DOUBLE ...

  9. CAD交互绘制矩形框(com接口)

    主要用到函数说明: _DMxDrawX::DrawLine 绘制一个直线.详细说明如下: 参数 说明 DOUBLE dX1 直线的开始点x坐标 DOUBLE dY1 直线的开始点y坐标 DOUBLE ...

随机推荐

  1. POJ - 3468 A Simple Problem with Integers(线段树区间更新,区间查询)

    1.给出了一个序列,你需要处理如下两种询问. "C a b c"表示给[a, b]区间中的值全部增加c (-10000 ≤ c ≤ 10000). "Q a b" ...

  2. web前端技术社区分享

    web前端技术社区分享 一.国外的前端技术网站:    1. 名称:W3C: 网址:http://www.w3.org/ 理由:前端技术的规范标准几乎都是W3C制定的  2.名称:ECMA 网址:ht ...

  3. 解耦与分离 —— 面向切面编程(AOP)

    家里的电表总结起来有两大特性: 电视机需要(电量管理),空调需要(电量管理),热水器也需要电量管理,即一组对象都需要某一功能特性: 电视机根据信号输出画面,空调吹出冷风,热水器将水加热,这些业务功能的 ...

  4. I.MX6 各模块 clock 查询

    /********************************************************************* * I.MX6 各模块 clock 查询 * 说明: * ...

  5. 并不对劲的bzoj5342:loj2554:uoj401:p4566: [Ctsc2018]青蕈领主

    题目大意 \(T\)(\(T\leq100\))组询问 有\(1\)到\(n\)(\(n\leq50000\))这\(n\)个整数组成的一个排列 定义这个排列的一个子区间是"连续" ...

  6. BZOJ_1511_[POI2006]OKR-Periods of Words_KMP

    BZOJ_1511_[POI2006]OKR-Periods of Words_KMP Description 一个串是有限个小写字符的序列,特别的,一个空序列也可以是一个串. 一个串P是串A的前缀, ...

  7. 小程序-demo:小程序示例-page/component2

    ylbtech-小程序-demo:小程序示例-page/component2 以下将展示小程序官方组件能力,组件样式仅供参考,开发者可根据自身需求自定义组件样式,具体属性参数详见小程序开发文档. 1. ...

  8. Mac下Ruby升级与Rails的安装

    也是醉了,网上查了半天一脸懵逼.然后自己动手试试 gem install rails瞬间命令行就没反应了,以为命令行挂了,但是一会儿报错说是没有权限. 好吧,那么来这个 sudo gem instal ...

  9. bzoj 2016: [Usaco2010]Chocolate Eating【二分+贪心】

    二分答案,贪心判断,洛谷上要开long long #include<iostream> #include<cstdio> using namespace std; const ...

  10. Ubuntu 18.04 LTS 系统设置打不开了

    在更换软件源后,安装了vim 和chrome,chrome很顺利,但是安装vim的时候后就显示有问题了,有的依赖版本不对,嫌版本太高,卸载后再装可以. 安装了python和python2 依旧是有些依 ...