jason tay 发表于 2022-7-6 03:11:16

我想知道如何用命令启动lisp并使其重复?

Tharwat 发表于 2022-7-6 03:16:32

这个可以帮你,但并不完美
 
(defun c:TesT (/ *error* acdoc ss1 ss2 l n str e)
; TharwaT 20. 04. 2011
(vl-load-com)
(defun *error* (msg)
      (or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
       (princ (strcat "\n** Error: " msg " **"))
   )
   (princ)
)
(setq acdoc (vla-get-ActiveDocument (vlax-get-acad-object)))

(vla-StartUndoMark acdoc)
(if
   (and
   (setq ss1 (entsel "\n First numerical Text :"))
   (setq ss2 (entsel "\n Second numerical Text :"))
   (setq l (entsel "\n Select Line :"))
   )
    (progn
      (setq n (- (atof (cdr (assoc 1 (entget (car ss1)))))
               (atof (cdr (assoc 1 (entget (car ss2)))))
            )
      )
      (setq
      str (/ (distance (cdr (assoc 10 (setq e (entget (car l)))))
                         (cdr (assoc 11 e))
               )
               n
            )
      )
      (entmakex (list (cons 0 "TEXT")
                      (cons 10 (getpoint "\n Text Location:"))
                      (cons 40 (getvar 'textsize))
                      (cons 1 (strcat "1:" (rtos str 2 3)))
                )
      )
    )
    (princ)
)
(vla-EndUndoMark acdoc)
(c:TesT)
(princ)
)

TharwaT

jason tay 发表于 2022-7-6 03:18:53

亲爱的Tharwat,非常感谢你
对我来说已经足够好了。
万分感谢你~

alanjt 发表于 2022-7-6 03:22:39

这是我用来标记竣工调查的内容:
Command: sl

Initializing...
Pipe size & type: 8" PVC

Specify 1st point:
Specify 1st elevation: 25.25

Specify 2nd point:
Specify 2nd elevation: 26

177 LF 8" PVC @ 0.42%
 
在我选取的两个点的中点,它放置了一段多行文字,如下所示:

从那里,我可以在提议的管道数据中划出一条线(我放在一起的另一个方便的例程),然后将我的竣工数据放在上面。

jason tay 发表于 2022-7-6 03:26:33

alanjt代码是如何运行的?但是,如果与Tharwat lisp结合,这个概念将非常棒:震惊:你的一个结果是百分比%,但在马来西亚,工程师希望我们显示1:___

Tharwat 发表于 2022-7-6 03:28:21

 
不客气。
 
享受它。
 
塔瓦特

selin raj 发表于 2022-7-6 03:34:03

如何使用此代码请告诉我。。。。。。。。。。

Organic 发表于 2022-7-6 03:36:40

 
页: 1 [2]
查看完整版本: 计算人孔坡度