天气与日历 切换到窄版

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

OBJECT ARX 修改选中实体的颜色 选择集的使用

[复制链接]
  • TA的每日心情
    开心
    2024-5-16 08:01
  • 签到天数: 82 天

    [LV.6]常住居民II

    1607

    主题

    204

    回帖

    214748万

    积分

    管理员

    积分
    2147483647
    发表于 2024-5-2 22:50:07 | 显示全部楼层 |阅读模式
    1. 修改选中实体的颜色
    2. static void TESTchangecolorcmd(){

    3. ads_name ssname;
    4. 选择多个实体,传递NULL,让用户自己来选
    5. acedSSGet(NULL,NULL,NULL,NULL,ssname);
    6. long len;
    7. acedSSLength(ssname,&len);
    8. CString ss;
    9. ss.Format(_T("已选中%d个实体"),len);
    10. acutPrintf(ss);


    11. ads_name entname;


    12. AcDbObjectId id;
    13. AcDbEntity* ent = NULL;
    14. CString strName;


    15. int nNewColor;
    16. 弹出颜色选择对话框
    17. if(acedSetColorDialog(nNewColor,Adesk::kFalse,256) != IDOK){
    18. return;
    19. }


    20. for(int i=0;i<len;i++)
    21. {


    22. if(acedSSName(ssname, i, entname) == RTNORM)
    23. {


    24. 根据名称得到ID
    25. acdbGetObjectId(id,entname);


    26. 以写模式,根据ID索引到对象,并打开ENTITY
    27. acdbOpenObject(ent,id,AcDb::OpenMode::kForWrite);
    28. strName.Format(_T("%d"),ent->colorIndex());
    29. acutPrintf(_T("\n"));
    30. acutPrintf(strName);


    31. /如果只限制直线
    32. /*if(ent->isKindOf(AcDbLine::desc())){
    33. acutPrintf(_T("\nfind line"));
    34. ent->setColorIndex(nNewColor);
    35. ent->close();
    36. }*/

    37. ent->setColorIndex(nNewColor);
    38. ent->close();
    39. }
    40. }


    41. acedSSFree(ssname);



    42. }
    复制代码

     

     

     

     

    OBJECT ARX 修改选中实体的颜色 选择集的使用
    中国膜结构网打造全中国最好的膜结构综合平台 ,统一协调膜结构设计,膜结构施工,膜材采购,膜材定制,膜结构预算全方位服务。 中国空间膜结构协会合作单位。
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|中国膜结构网_中国空间膜结构协会

    GMT+8, 2024-5-24 02:08 , Processed in 0.059484 second(s), 21 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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