乐筑天下

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

在任何需要选择的情况下都可以用pr或last来选择

[复制链接]

56

主题

309

帖子

15

银币

中流砥柱

Rank: 25

铜币
530
发表于 2016-1-15 17:52:00 | 显示全部楼层 |阅读模式
在任何需要选择的情况下都可以用pr或last来选择,但我做的ads命令,在普通的命令比如copy下输入'p1,可以获得保存的选择集,但在lisp命令中比如ssget却不能获得选择集。有办法解决吗?
        static int ads_p1(void)
        {
                long len;
                int ret=acedSSLength(DocVars.docData().myss1,&len);
                if(ret!=RTNORM)                return RTERROR;
                if (len==0)        return RTERROR;
                ret=acedRetName(DocVars.docData().myss1,RTPICKS);
                if (ret==RTNORM)
                {
                        acutPrintf(_T(""));
                }
                return (RSRSLT) ;
        }
ACED_ADSCOMMAND_ENTRY_AUTO(CBYApp, p1, true)
比如这个Lisp命令:
(setq b (ssget))回车后,输入'P1,会出现:
cannot reenter Lisp(无法重复进入 LISP。)
的提示.
在VB下编程可以这样做,但只能针对这个应用,不能对ssget有效:
Dim ed As Editor =     Application.DocumentManager.MdiActiveDocument.Editor
Dim Opts As New PromptSelectionOptions()
Opts.Keywords.Add("myFence")
Opts.Keywords.Add("myWindow")
Opts.Keywords.Add("myWpoly")
Opts.Keywords.Add("myLastSel"
Opts.Keywords.Add("myPrevSel")
AddHandler Opts.KeywordInput, AddressOf handle_KeywordInput
.....
If e.Input.CompareTo("myPrevSel") = 0 Then  Dim ed As Editor = Application.DocumentManager.MdiActiveDocument.Editor  Dim res As PromptSelectionResult = ed.SelectPrevious()  If res.Status = PromptStatus.Error Then    Return  End If  Dim SS As Autodesk..EditorInput.SelectionSet = res.Value  Dim idarray As ObjectId() = SS.GetObjectIds()  e.AddObjects(idarray)End If
回复

使用道具 举报

56

主题

309

帖子

15

银币

中流砥柱

Rank: 25

铜币
530
发表于 2016-3-8 21:59:00 | 显示全部楼层
居然delete命令没有调用acedSSGet函数,但它却拥有acedSSGet一样的功能?复制代码本来P1命令是可以透明调用的,但对于lisp却不能重复进入,所以才想到hook acedSSGet,现在只有两个命令同时在用,ssa-ssd是lisp函数中用,p1-p4是cad命令中用
回复

使用道具 举报

0

主题

275

帖子

8

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
275
发表于 2016-3-10 20:06:00 | 显示全部楼层
定义为c:p1 和透明命令 p1
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-2-4 18:41 , Processed in 0.520736 second(s), 69 queries .

© 2020-2025 乐筑天下

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