天气与日历 切换到窄版

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

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

[复制链接]
  • TA的每日心情
    开心
    7 小时前
  • 签到天数: 20 天

    [LV.4]偶尔看看III

    115

    主题

    11

    回帖

    1393

    积分

    管理员

    积分
    1393
    QQ
    发表于 2024-5-2 22:51:20 | 显示全部楼层 |阅读模式
    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|中国膜结构网|中国膜结构协会|进口膜材|国产膜材|ETFE|PVDF|PTFE|设计|施工|安装|车棚|看台|污水池|中国膜结构网_中国空间膜结构协会

    GMT+8, 2024-11-5 12:33 , Processed in 0.134299 second(s), 27 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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