【框选时放大视口丢失图元的问题】
当一个图纸中图元比较密集时,如果只选择这些图元中某一部分,因为图元之间密集的缘故,为了准确选择目标,往往选择其中一个角点后,再放大视口,再点取下一个角点,最后必须缩小视口,才能选择完成。如果不缩小视口范围,先选取得图元都会丢失。即便是缩小,往往也会出现多选或者少选了图元的情况。这是acad的通病,中望cad就很好的解决了这一问题,不缩小视口,之前的选取的也不会丢失。在acad下,有解决办法吗?
本帖最后由 ZZXXQQ 于 2023-3-23 00:09 编辑
(setq pt2 (getcorner pt1 "\n另一角点: "))
就是有线框的。 变通一下应该是可以的,比如先记录下坐标再根据坐标缩放一下屏幕或者从点第一个点开始记录屏幕内图元直到选择范围确定,再根据根范围把不要的排除。。。 那很麻烦啊,就如同04的剪切不好用一样,可以通过lsp实现06的剪切功能。我想这个框选图元的问题,是否也能通过程序解决呢? CAD不能选择视口范围以外的东西,根据这个原则自己想办法变通吧。
另外,你可以看下论坛里的 “选择易” ,可以辅助解决你的问题。 vectra 发表于 2014-12-24 10:02 static/image/common/back.gif
CAD不能选择视口范围以外的东西,根据这个原则自己想办法变通吧。
另外,你可以看下论坛里的 “选择易” , ...
我用过小菜的选择易,可根据图元属性筛选。还是不太适合我工作做图的需要,希望能像中望那样,框选图元时,选择第一角点后,能任意缩放视口,确定第二角点前,无论当前视口是否在两角点范围内,都可以选到。
可能是鱼和熊掌不能兼得吧,中望的扩展功能又那么坑爹,唉。。。。。 本帖最后由 ZZXXQQ 于 2014-12-31 20:55 编辑
(defun myselwin (/ pt1 pt2 ss)
(if (and(setq pt1 (getpoint "\n窗选角点: "))
(setq pt2 (getcorner pt1 "\n另一角点: "))) (progn
(command "'ZOOM" "W" pt1 pt2)
(setq ss (ssget "W" pt1 pt2))
))
ss
)
ZZXXQQ 发表于 2014-12-25 13:42 static/image/common/back.gif
我把程序改了一下,加了一个命令来执行(可能是我多此一举吧,2004直接加载后无效果):
(defun c:kx (/ pt1 pt2 ss)
(if (and(setq pt1 (getpoint "\n窗选角点: "))
(setq pt2 (getpoint pt1 "\n另一角点: "))) (progn
(command "'ZOOM" "W" pt1 pt2)
(setq ss (ssget "W" pt1 pt2))
))
ss
)
这样可以达到类似效果,大师,你程序的目的是指定两角点,并且调整两角点到视口范围内,且选择了两角点范围内的图形。和中望的框选类似。但是能否达到一下效果:
1,框选拖动时动态显示虚线框,便于观察。
2,框选完成后,选择到的图元高亮显示。 lengxiaxi 发表于 2014-12-25 18:28 static/image/common/back.gif
我把程序改了一下,加了一个命令来执行(可能是我多此一举吧,2004直接加载后无效果):
(defun c:kx...
如果真想别人帮助到你,最好附上演示图或文档 ,你说自动桌子cad不行,而中望的可行,那么分别做个演示图,不然别人只能靠猜! 另外演示图也是一种思路,很多人从院长的演示图中得到启发! lucas_3333 发表于 2014-12-25 18:39 static/image/common/back.gif
如果真想别人帮助到你,最好附上演示图或文档 ,你说自动桌子cad不行,而中望的可行,那么分别做个演示图 ...
http://v1.freep.cn/3tb_141225185147r81p512293.gif
lengxiaxi 发表于 2014-12-25 18:52 static/image/common/back.gif
这是自动桌子一直以来的问题,只有选择时使用CPolygon 选项
(defun c:tt ()(command "_select" "_cp" pause "" ""))
CAD选择技巧
用户可以用鼠标一个一个地选择目标,选择的目标逐个地添加到选择集中,另外,AutoCAD还提供了Window(以键入“w”响应Select object:或直接在屏幕上自右至左拉一个矩形框响应Select object:提示),Crossing(以键入“C”响应Select object:或直接在屏幕上自左至右拉一个矩形框响应Select object:提示),Cpolygon(以键入“CP”响应Select object:),Wpolygon(以键入“WP”响应Select object:)等多种窗口方式选择目标,其中Window及Crossing用于矩形窗口,而Wpolygon及Cpolygon用于多边形窗口,在Window及Wpolygon方式下,只有当实体的所有部分都被包含在窗口时,实体才被选中,而在Crossing及Cpolygon方式下,只要实体的一部分包括在窗口内,实体就被选择像。AutoCAD还提供了Fence方式(以键入“F”响应Select object:)选择实体,画出一条不闭合的折线,所有和该折线相交的实体即被选择。在选择目标时,有时会不小心选中不该选择的目标,这时用户可以键入R来响应“select objects:”提示,然后把一些误选的目标从选择集中剔除,然后键入A,再向选择集中添加目标。当所选择实体和别的实体紧挨在一起时可在按住CTRL键的同时,然后连续单击鼠标左键,这时紧挨在一起的实体依次高亮度显示,直到所选实体高亮度显示,再按下enter键(或单击鼠标右键),即选择了该实体。还可以有条件选择实体,即用'filter响应select objects:,在AutoCAD2000中,还提供了QuickSelect方式选择实体,功能和filter类似,但操作更简单,方便。AutoCAD提供的选择集的构造方法功能很强,灵活恰当地使用可使制图的效率大大提高。
页:
[1]
2