天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 69|回复: 0

ObjectARX_AutoCAD创建矩形功能实现

[复制链接]

该用户从未签到

主题

0

回帖

2912

积分

管理员

积分
2912
发表于 2024-6-22 09:46:18 | 显示全部楼层 |阅读模式
void CreateRectangle()//创建矩形命令
{
        ads_point startpoint;
        int nReturn;
        acedInitGet(NULL, _T("R"));
        nReturn = acedGetPoint(NULL, _RXST("指定起点:"), startpoint);
        if (nReturn == RTNORM)
        {
                ads_point endpoint;
                nReturn = acedGetPoint(startpoint, _RXST("\n指定对角点:"), endpoint);
                //根据对角点找出四个角的顶点
                ads_real x1 = startpoint[X];
                ads_real x2 = endpoint[X];
                ads_real y1 = startpoint[Y];
                ads_real y2 = endpoint[Y];

                AcGePoint2d ptLeftBottom(min(x1, x2), min(y1, y2));
                AcGePoint2d ptRightBottom(max(x1, x2), min(y1, y2));
                AcGePoint2d ptRightTop(max(x1, x2), max(y1, y2));
                AcGePoint2d ptLeftTop(min(x1, x2), max(y1, y2));

                AcGePoint2dArray points;
                points.append(ptLeftBottom);
                points.append(ptRightBottom);
                points.append(ptRightTop);
                points.append(ptLeftTop);

                int numVerts = points.length();
                AcDbPolyline *pPline = new AcDbPolyline(numVerts);
                for (int i = 0; i < points.length(); i++)
                {
                        pPline->addVertexAt(i, points.at(i));
                }
                pPline->setClosed(true);
                HysuEditor::PostToModelSpace(pPline);
                acutPrintf(_RXST("\n创建矩形完成."));
        }
        else
    {
                acutPrintf(_RXST("\n获取点失败."));
        acutPrintf(_RXST("\n创建矩形失败."));
    }
}

 

 

 

 

ObjectARX_AutoCAD创建矩形功能实现
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|中国膜结构网|中国膜结构协会|进口膜材|国产膜材|ETFE|PVDF|PTFE|设计|施工|安装|车棚|看台|污水池|中国膜结构网_中国空间膜结构协会

GMT+8, 2024-11-1 11:36 , Processed in 0.132610 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表