乐筑天下

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

如何保存SS并在Lisp(ssget)中使用?

[复制链接]

56

主题

309

帖子

15

银币

中流砥柱

Rank: 25

铜币
530
发表于 2016-1-17 03:42:36 | 显示全部楼层 |阅读模式
我有一个ADS函数在命令模式下工作得很好:
命令'SAVSS可以保存当前选择集,当您想使用它时,例如复制、移动...等
您可以输入'P1(或'P2或'P3或'P4)来获取选择集。
但是,int Lisp,例如:
(setq b(ssget)),它提示“无法重新输入Lisp”。我如何保存SS并在Lisp(ssget)中使用?
  1.    static int ads_p1(void)
  2.         {
  3.                 long len;
  4.                 int ret=acedSSLength(DocVars.docData().myss1,&len);
  5.                 if(ret!=RTNORM)                return RTERROR;
  6.                 if (len==0)        return RTERROR;
  7.                 ret=acedRetName(DocVars.docData().myss1,RTPICKS);
  8.                 if (ret==RTNORM)
  9.                 {
  10.                         acutPrintf(_T(""));
  11.                 }
  12.                 return (RSRSLT) ;
  13.         }
  14. ACED_ADSCOMMAND_ENTRY_AUTO(CBYApp, p1, true)

这是vb
  1. Dim ed As Editor =     Application.DocumentManager.MdiActiveDocument.Editor
  2. Dim Opts As New PromptSelectionOptions()
  3. Opts.Keywords.Add("myFence")
  4. Opts.Keywords.Add("myWindow")
  5. Opts.Keywords.Add("myWpoly")
  6. Opts.Keywords.Add("myLastSel"
  7. Opts.Keywords.Add("myPrevSel")
  8. AddHandler Opts.KeywordInput, AddressOf handle_KeywordInput
  9. .....
  10. If e.Input.CompareTo("myPrevSel") = 0 Then  
  11.   Dim ed As Editor = Application.DocumentManager.MdiActiveDocument.Editor  
  12.   Dim res As PromptSelectionResult = ed.SelectPrevious()  
  13.   If res.Status = PromptStatus.Error Then    
  14.     Return  
  15.   End If  
  16.   Dim SS As Autodesk.AutoCAD.EditorInput.SelectionSet = res.Value  
  17.   Dim idarray As ObjectId() = SS.GetObjectIds()  
  18.   e.AddObjects(idarray)
  19. End If

中的另一个示例

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2016-1-17 15:44:34 | 显示全部楼层
为什么不在ARX SelectionSet上调用acedssetFirst(),然后在LISP中调用(ssget)来获取隐含的选择
http://adndevblog.typepad.com/autocad/2012/05/adding-and-removing-the-entities-from-pick-first-selection-set-using-objectarx.html
干杯
回复

使用道具 举报

56

主题

309

帖子

15

银币

中流砥柱

Rank: 25

铜币
530
发表于 2016-1-17 19:46:54 | 显示全部楼层
(ssget)仍然提示“无法重新输入Lisp”
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2016-1-17 20:40:23 | 显示全部楼层
对于名为ss type的选择集!ss来响应“选择对象”提示。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-2-4 21:54 , Processed in 0.192774 second(s), 60 queries .

© 2020-2025 乐筑天下

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