因此,我正在寻找帮助的这些位是一个更大的lisp的一部分,用于创建图案填充道路标记。lisp通过用户选择通常沿闭合多段线中间运行的多段线来工作。这将放置图案填充标记。通过选择闭合多段线,可以修剪图案填充标记。
Off40确定多段线外的点,以便将其传递给Extrim进行修剪,而无需选择围栏和边。
我遇到的问题与变量有关。lisp在第一次运行时就可以完美地工作。除了将输出线的宽度更改为0.1之外,它第二次似乎运行得很好。
- (defun c:plpoint (/)
- (vl-load-com)
- (setq LP1 1)
- (while LP1
- (prompt "\nSelect polyline boundary: ")
- (setq PSS (ssget "_:S" '((0 . "LWPOLYLINE"))))
- (if (/= PSS nil)
- (setq LP1 nil)
- (prompt "\nNO POLYLINE SELECTED, TRY AGAIN. ")
- )
- )
- (setq PPV (vlax-curve-getStartPoint (vlax-ename->vla-object (ssname PSS 0))))
- (vl-princ-to-string PPV)
- (vl-cmdf "_circle" PPV 3)
- )
我运行了一些测试,发现变量outline在程序第一次完成后没有被释放。它会更改第一次运行时闭合多段线的宽度。
我知道这是一个本地化变量的问题,我已经阅读了Leemac关于这个主题的教程,但是当我把它添加到
- (command "._pedit" outpline "_W" 0.1 "")
它会导致错误并使程序崩溃。
如果您能帮我解决这个问题,我将不胜感激。
- (defun C:hatch_lining (/ sel1 ang coords elist midp offsetted p1 p2 p3 pline1 SUCE SUOM SUSM SUAB SUAD SUCL SUCR)
|