bkkar_55 发表于 2022-7-5 17:02:53

到属性块的距离

大家好
我正在寻找一个lisp来获得从2个点(由用户)的距离,并将结果插入属性块
上网后我发现了这个代码
(defun c:FOO (/ pt)
(if (setq pt (getpoint "\nSpecify base point: "))
   (while (and (not (initget 32))
               (/= nil (setq pt2 (getpoint pt "\nSpecify point to measure: "))))
   (prompt (strcat "\n>>Distance>>" (rtos (distance pt pt2) 2 2))))
   (prompt "\n** Invalid point ** "))
(princ))
由BlackBox创建

David Bethel 发表于 2022-7-5 17:18:56

这可能是一个更好的前端:
 

(defun c:ptd (/ p1 p2 d3 d2 dx dy dz)
(initget 1)
(setq p1 (getpoint "\n1st Point:   "))
(initget 1)
(setq p2 (getpoint p1 "\n2nd Point:   "))

(setq d3 (distance p1 p2))
(setq d2 (distance (list (car p1) (cadr p1))
                  (list (car p2) (cadr p2))))
(princ (strcat "\n3D=" (rtos d3 2 2)
                "\t2D=" (rtos d2 2 2)))

(setq dx (- (max (car p1) (car p2)) (min (car p1) (car p2))))
(setq dy (- (max (cadr p1) (cadr p2)) (min (cadr p1) (cadr p2))))
(setq dz (- (max (caddr p1) (caddr p2)) (min (caddr p1) (caddr p2))))
(princ (strcat "\nX Axis:" (rtos dx 2 2)
                "\tY Axis:" (rtos dy 2 2)
                "\tZ Axis:" (rtos dz 2 2)))
(prin1))

 
[列表]
[*]一切都是WCS吗?
[*]你有属性块吗?
[*]在价值观和格式方面,你到底在寻找什么?
[/列表]
 
 
-大卫

Grrr 发表于 2022-7-5 17:35:37

我认为他可能期待着这样的事情:

(defun C:test ( / *error* lst e )
(defun *error* (msg) (princ "\nSorry that I forced you to press Esc, to exit!") (princ))
(if (and (car (setq lst (list (getpoint "\nFirst point: ")))) (apply 'and (setq lst (append lst (list (getpoint "\nSecond point: " (car lst)))))))
        (while
                (not
                        (and
                                (setq e (car (nentsel (strcat "\nDistance to fill is: \"" (rtos (apply 'distance lst)) "\" units, Select text/mtext/attrib."))))
                                (vl-position (cdr (assoc 0 (entget e))) '("TEXT" "MTEXT" "ATTRIB"))
                                (not (vl-catch-all-error-p (vl-catch-all-apply 'vla-put-TextString (list (vlax-ename->vla-object e) (rtos (apply 'distance lst))))))               
                        )
                )
                e
        )
)
(princ)
);| defun |; (or vlax-get-acad-object (vl-load-com)) (princ)

bkkar_55 发表于 2022-7-5 17:56:55

非常感谢David Bethel和Grrr:)
与塔尔瓦特私下聊天后:诺沃西:他成功地解决了我的请求
我感谢你的努力
谢谢,就这些

Tharwat 发表于 2022-7-5 18:09:20

不客气。
页: [1]
查看完整版本: 到属性块的距离