天气与日历 切换到窄版

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

[每日一码] 显示封闭多边形的形心

[复制链接]
  • TA的每日心情
    开心
    昨天 06:36
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    105

    主题

    11

    回帖

    1308

    积分

    管理员

    积分
    1308
    QQ
    发表于 2024-3-14 20:14:57 | 显示全部楼层 |阅读模式
    1. void cmdDispProperty()
    2. {
    3.     ArxDbgUiPrEntity prEnt(采用T("请选择由 Pline组成的封闭多边形"), NULL);
    4.     prEnt.addAllowedClass(AcDbPolyline::desc());
    5.     if (prEnt.go() != ArxDbgUiPrBase::kOk)
    6.     {
    7.         return;
    8.     }
    9.     AcDbEntity* pEnt1 = NULL;
    10.     acdbOpenObject(pEnt1,prEnt.objectId(),AcDb::kForRead);
    11.     //获得封闭形顶点
    12.     AcDbPolyline *Polygon = NULL ;
    13.     Polygon = AcDbPolyline::cast(pEnt1);
    14.     ASSERT( Polygon != NULL );
    15.     if (Polygon == NULL)
    16.     {
    17.         AfxMessageBox(采用T("线型不为多义线"));
    18.         pEnt1->close();
    19.         return;
    20.     }
    21.     if( !Polygon->isClosed() )
    22.     {
    23.         Polygon->close();
    24.         AfxMessageBox(采用T("外轮廓不封闭"));
    25.         return;
    26.     }
    27.     AcGePoint3d *pPtArray;//记录外轮廓上的点
    28.     int VertNum = (int)Polygon->numVerts() ;
    29.     pPtArray = new AcGePoint3d[VertNum];
    30.     int i;
    31.     for( i = 0; i < VertNum; i ++ )
    32.     {
    33.         AcGePoint3d    Temp;
    34.         Polygon->getPointAt(i,Temp);
    35.         pPtArray<i> = Temp;        
    36.     }
    37.     pEnt1->close();
    38.     AcGePoint3d centroid;
    39.    
    40.     GetCentroidPt(pPtArray, VertNum, centroid);
    41.     TCHAR Text[132];
    42.     采用stprintf(Text, 采用T("%.3f"), centroid.y);   
    43.    
    44.     DelGroupEnt(采用T("neuotrol"));
    45.     DrawElevLine2(centroid,Text,采用T("Neuotrol"));
    46. }
    复制代码

     

     

     

     

    [每日一码] 显示封闭多边形的形心
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

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

    GMT+8, 2024-11-1 13:35 , Processed in 0.143730 second(s), 29 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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