返回介绍

绘制mcdbsolid对象

发布于 2023-08-09 23:10:34 字数 5026 浏览 0 评论 0 收藏 0

主要用到函数说明:

函数名:_DMxDrawX::DrawSolid

绘McDbSolid对象。详细说明如下:

参数说明
DOUBLE dX1第一个点X
DOUBLE dY1第一个点Y
DOUBLE dX2第二个点X
DOUBLE dY2第二个点Y
DOUBLE dX3第三个点X
DOUBLE dY3第三个点Y
DOUBLE dX4第四个点X
DOUBLE dY4第四个点Y

js中实现代码说明:

动态拖放时的绘制事件:

function DynWorldDrawMcDbSolid( x,y, pWorldDraw,pData) {
	var mxOcx = document.getElementById("MxDrawXCtrl");
	var curPt =  mxOcx.NewPoint();
	curPt.x =x;
	curPt.y = y;	
	//与用户交互在图面上提取一个点
	var vFirstPt = pData.GetPoint("vFirstPt");
	var vSecondPt = pData.GetPoint("vSecondPt");
	var vThirdPt = pData.GetPoint("vThirdPt");
	pWorldDraw.DrawSolid(vFirstPt.x, vFirstPt.y,vSecondPt.x, vSecondPt.y, vThirdPt.x, vThirdPt.y,  curPt.x, curPt.y);
}

动态绘制mcdbsolid对象:

function DrawSolid () {
    // 创建一个与用户交互取点的对象。
    var point1 = mxOcx.GetPoint(false,0,0,"点取第一点:");
    if(point1 == null)
    {
        return;
    }
    var getSecondPt = mxOcx.NewComObject("IMxDrawUiPrPoint");
    getSecondPt.message = "点取第二点";
    getSecondPt.basePoint = point1;
    //开启皮筋效果
    getSecondPt.setUseBasePt(true);
    // 开始点第二点。
    if (getSecondPt.go() != 1)
        return;
    var getThirdPt = mxOcx.NewComObject("IMxDrawUiPrPoint");
    getThirdPt.message = "点取第三点";
    getThirdPt.basePoint = getSecondPt.value();
    //开启皮筋效果
    getThirdPt.setUseBasePt(true);
    // 开始第三点。
    if (getThirdPt.go() != 1)
        return;
    var getFourthPt = mxOcx.NewComObject("IMxDrawUiPrPoint");
    getFourthPt.message = "点取第四点";
    var spDrawData = getFourthPt.InitUserDraw("TestDynDrawMcDbSolid");
    spDrawData.SetPoint("vFirstPt", point1);
    spDrawData.SetPoint("vSecondPt", getSecondPt.value());
    spDrawData.SetPoint("vThirdPt", getThirdPt.value());
    getFourthPt.basePoint = getThirdPt.value();
    //不开启皮筋效果
    getFourthPt.setUseBasePt(false);
    //调用
    // 开始第四点。
    if (getFourthPt.go() != 1)
        return;
    var ret = spDrawData.Draw();
}

效果展示:

用户可以通过点击绘mcdbsolid对象按钮,在CAD控件视区分别点取四个点,绘制mcdbsolid对象。如下图所示:

draw15.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文