我已经完成了95%的标注lisp,我遇到了一个问题。。。
我提示用户选择3个点,前两个是尺寸界线原点,第三个是基准点,我用它来计算尺寸线的走向(我让用户选择对象的最外面的点,然后进行计算,从那里选择一个0.25”的点,以保持尺寸与对象的距离一致). 问题是,选择作为第三个点的最快点通常也是第二个点。
但是通过这样做,我的lisp无法判断放置维度的方向,因此我尝试添加代码,以便用户必须选择第四个点,如果第三个点与第一个或第二个点相同,但它不起作用。以下是我尝试的内容:
- (cond ( (= pt3 pt2) (setq pt4 (getpoint "\nSelect the direction of the dimension: ")))
- ( (= pt3 pt1) (setq pt4 (getpoint "\nSelect the direction of the dimension: ")))
- ( (and (/= pt3 pt2) (/= pt3 pt1)) (setq pt4 pt3)))
我也尝试过嵌套if函数,但没有成功。
任何帮助都会很棒。 |