明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3476|回复: 8

[ARX]再问一个ARX选择集操做的问题

[复制链接]
发表于 2004-10-28 11:20:00 | 显示全部楼层 |阅读模式
AutoCAD中执行一些命令时(如MOVE)时键入关键字“P”可获取最近操作的选择集,如果我预存一个选择集S1,当执行这些命令时键入关键字“S1”时,把选择集S1加入到当前选择集是该如何做。
发表于 2004-10-28 12:42:00 | 显示全部楼层

回复

在ARX中这就属于处理两个选择集, 将选择集S1中的实体加到选择集S2中, 查一下acedSSAdd()函数的用法.
 楼主| 发表于 2004-10-28 14:45:00 | 显示全部楼层
我的困难在于执行move命令时怎样通过关键字”S1“来调用函数,还有在有AUTOCAD命令在执行的时候怎样把选择集S1加入到当前选择集中。
发表于 2004-10-28 17:32:00 | 显示全部楼层

回复

如果你想通过acedCommand调用AutoCAD命令来处理选择集,那是否用LISP程序更方便一些?
 楼主| 发表于 2004-10-29 10:54:00 | 显示全部楼层
那用LISP又该如何解决呢,LISP可以做ARX也应可以做,我要得是效果,能解决问题就行。


关于”效果“ 我想再补充一下:


用过AUTOCAD的人,一定用过"move"、"rotate"、“mirror”等命令,用这些命令时也应该尝试过键入关键字“p”的方式将最近操做过的选择集加入到当前选择集中,我要做的无非是将“P”换成”S1“,将最近操作过的选择集替换成我保存的选择集(如S1)
发表于 2004-10-29 10:57:00 | 显示全部楼层
ssGet可以加p参数的
发表于 2004-10-29 10:59:00 | 显示全部楼层

回复

当然lisp能做的arx也能做,只是你更熟悉哪种呢?如果用lisp不知道如何做,就先别考虑arx了.


在arx上用很多的acedCommand执行AutoCAD命令,不如直接用lisp.
 楼主| 发表于 2004-10-29 11:12:00 | 显示全部楼层
我说的是在AUTOCAD中执move等命令键入“S1”的效果,而并非有acedCommand执行AutoCAD命令,


好像AcEdSSGetKwordCallbackPtr和AcEdSSSetKwordCallbackPtr可实现类似功能,可惜没例子,能否给两个。
发表于 2004-10-29 11:33:00 | 显示全部楼层

回复

你不是只看效果吗? 在AutoCAD模型空间中画一些Circle, Line, Arc, 执行 (setq s1 (ssget "X" (list (cons 0 "circle"))))
(setq s2 (ssget "X" (list (cons 0 "line"))))
(setq s3 (ssget "X" (list (cons 0 "arc")))) 在Command Line输入: Move Select objects: !S1
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 11:40 , Processed in 0.175937 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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