你好,我已经潜伏了一段时间的CADTutor论坛。大约几天前,我决定先潜入AutoLISP。
通常我喜欢自己想办法解决问题,但现在把它砸在桌子上会让我头痛不已,所以我决定寻求一些专家建议。
我们有一个覆盖3个乡镇/地区的服务区。每个部分和某些区域的四分之一部分都是一个地图(图形),因此我一直在尝试在地图边缘获取一个文本实体,以便用户可以单击它们,然后单击一个按钮,该按钮运行lisp例程,该例程自动将正确的部分外部参照到位。这是我目前掌握的代码。
- (vl-load-com)
- (defun C:hyperload ( / ent p1)
- (setq ent (entsel "\nSelect text at edge of drawing "))
- (setq p1 (strcat "M:\\NewMaps\"(vla-get-TextString (vlax-ename->vla-object (car ent)))))
-
- (command "xref"
- "a"
- p1
- "0,0"
- ""
- ""
- "")
-
- (princ)
- )
- (princ)
问题是当有人外部参照创建循环参照的地图时。它试图在问题中加上“0,0”,然后出错,因为它需要是或否。
为了解决这个问题,我将其从“附加”改为“覆盖”,并在代码中添加了“是”。如果有一个循环引用,并且出现了继续的问题,那么效果很好。
那么,我该如何让脚本停止,让用户输入yes或no,然后继续?
或
如果存在循环参照,我如何使外部参照自动覆盖?
关于我想尝试做的其他事情,我还有很多其他问题。但这是目前最大的一个。
谢谢你的回复。 |