乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 35|回复: 2

请教ARX里的图层问题

[复制链接]

8

主题

21

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
52
发表于 2014-2-9 21:25:00 | 显示全部楼层 |阅读模式
void CCmd::cmdDrawInterect()
{
        CString strEntity=AcDbLine::desc()/*->isA()*/->name()+CString(_T(","))+AcDbCircle::desc()/*->isA()*/->name();
        // 取得线
        CArxSelect sel;
        AcDbObjectIdArray arr;
        if ( !sel.SelectEntity(arr,_T("LINE,CIRCLE"), true) || arr.isEmpty() )
        {
                acutPrintf(_T("没有选择到合适的线!\n"));
                return;
        }
        // 过滤
        CQueryAcDb qu;
        CEfLayer ly(getLayers());
        AcDbObjectIdArray arrLines;
        qu.GetEntity(arr, arrLines, &ly);
        CEfName nm(AcDbCircle::desc()->name());
        qu.GetEntity(arr, arrLines, &nm);
        if ( arr.isEmpty() )
        {
                acutPrintf(_T("没有选择到合适的线!\n"));
                return;
        }
---------------------------------------------------------------------------------------------
只选择指定几个图层的直线和圆 怎么改一下?类似LISP中的(ssget '((0 . "line")(8 . "0,1")))
请高手指点 谢谢!!
回复

使用道具 举报

2

主题

165

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
173
发表于 2014-2-14 11:54:00 | 显示全部楼层
既然用了arx,为什么不直接用ssget????
ssget有个过滤选择的功能
回复

使用道具 举报

0

主题

24

帖子

2

银币

初来乍到

Rank: 1

铜币
24
发表于 2014-2-25 09:37:00 | 显示全部楼层
用acedSSGet很方便的。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-5 06:42 , Processed in 0.145171 second(s), 58 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表