嗨,伙计们,现在回到这里。
谢谢你到目前为止的帮助。我有一个Lisp程序的问题,并寻求一些进一步的帮助。lisp当前正在报告错误
它放置了“网格线参考”和“最近点:A003”,但没有给出到网格的距离
(见附件capture.jpg。我正在寻找示例.jpg)
我已附上*。我正在使用的csv和下面的是我正在使用的当前代码。
如果有人能帮忙,那就太好了。提前谢谢。
- (defun c:yeah ( / pnt file pntlist bob apntlst pntlst sttext)
- (if (setq pnt (getpoint "\nClick the point you want: "))
- (progn
- (findfile "GRIDLINE.csv")
- (setq file (open "C://GRIDLINE.csv" "r"))
- (setq pntlst (list ""))
- (while (setq bob (read-line file))
- (if (not (vl-string-search "GRID" (strcase bob)))
- (progn
- (setq apntlst (list (substr bob 1 (vl-string-search "," bob)) (list (atoi (substr bob (+ 2 (vl-string-search "," bob)) (- (vl-string-search "," bob (vl-string-search "," bob)) 1))) (atoi (substr bob (+ 2 (vl-string-position (ascii ",") bob nil t)) (strlen bob))) 0)))
- (setq pntlst (vl-remove "" (cons apntlst pntlst)))
- )))
- (if pntlst
- (progn
- (setq pntlst (vl-sort pntlst '(lambda (z a) ( < (distance pnt (cadr z)) (distance pnt (cadr a))))))
- (setq sttext (strcat "Gridline Reference \\P" "Closest point: " (caar pntlst)))
- (setq os (getvar "osmode"))
- (setvar "osmode" 0)
- (sb-mktxt2 sttext pnt)
- (setvar "osmode" os)
- ))
-
-
- ))
-
- )
- (defun sb-mktxt2 (text pnt / )
- (vlax-put-property (vla-addMText (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))) (vlax-3d-point pnt) 0 text))
-
- )
网格线。csv
|