bigmaz 发表于 2022-7-5 22:18:07

标高标记

你好
 
我正在寻找一个用于建筑立面的lisp,然后单击每个标高以插入一个带有建筑标高的预定义块。类似于这个Lisp程序的东西http://www.cadlispandtips.com/2011/10/lisp-elevation-marker.html.但是lisp在lisp中创建了块,我希望能够使用我公司的默认块。有人因此得到了一张lispo吗?
 
提前感谢

MSasu 发表于 2022-7-5 22:25:32

在上述例程中,只需注释掉负责创建块的部分,并使用您公司块的名称进行插入。由于我在该网站上看不到下载选项(它可能与我的浏览器不兼容),因此无法为您提供更多帮助。

bigmaz 发表于 2022-7-5 22:30:18

老实说,Lisp程序对我不起作用,所以我希望有人有一个不同的。

teknomatika 发表于 2022-7-5 22:36:03

 
这不行吗?

bigmaz 发表于 2022-7-5 22:40:09

这是李·麦克斯的Lisp程序的绝妙之作,但它并没有造成阻碍。我们公司有一块他们用来做这些标记的积木。

Hexagon 发表于 2022-7-5 22:41:25

你好
这不是lisp,而是用语言编写的应用程序。NET API,它可以选择自定义块。它适用于AutoCAD 2010以后的版本。
http://forums.autodesk.com/t5/AutoCAD-2010/Solution-for-Level-Elevation-R-L-E-L-spot-dimension/td-p/3717266
 
当做
哈克斯贡。

yathishkumar 发表于 2022-7-5 22:47:16

我需要与函数垂直比例相同的值
 
通过键入在反转级别插入块
在键盘上

hanhphuc 发表于 2022-7-5 22:51:53

你好,hp dewali。你能提供一张图纸/图片来解释吗?

K_SIMMONS 发表于 2022-7-5 22:56:54

@大迷宫
你能给我寄一份你想要使用的积木的复印件和一张显示积木使用方法的样品图吗?
kysurveyor3635@bellsouth.net
谢谢
凯文

BIGAL 发表于 2022-7-5 23:02:06

我想他想要的是在排水线上选取一个点,得到它的高程,我有一些LISP可以做到这一点,你先选取基准,算出rl,它可能有文本,也有选取基准线和选取点,它返回文本值,在修改横截面或长截面上的一条线时有用。可以对此进行修改以添加块而不是文本。
 

;Calculates level of a point in cross or long sections



(setvar "cmdecho" 0)

(princ "\n To run just type SRL")

;;-------------------=={ Parse Numbers }==--------------------;;`
;;                                                            ;;
;;Parses a list of numerical values from a supplied string. ;;
;;------------------------------------------------------------;;
;;Author: Lee Mac, Copyright © 2011 - www.lee-mac.com       ;;
;;------------------------------------------------------------;;
;;Arguments:                                                ;;
;;s - String to process                                     ;;
;;------------------------------------------------------------;;
;;Returns:List of numerical values found in string.       ;;
;;------------------------------------------------------------;;

(defun LM:ParseNumbers ( s )
(
   (lambda ( l )
   (read
       (strcat "("
         (vl-list->string
         (mapcar
             (function
               (lambda ( a b c )
               (if
                   (or
                     (< 47 b 58)
                     (and (= 45 b) (< 47 c 58) (not (< 47 a 58)))
                     (and (= 46 b) (< 47 a 58) (< 47 c 58))
                   )
                   b 32
               )
               )
             )
             (cons nil l) l (append (cdr l) (list nil))
         )
         )
         ")"
       )
   )
   )
   (vl-string->list s)
)
)


(defun c:SRL ()
(setq olddimzin (getvar "dimzin"))
(setvar "dimzin" 0)
(if (= dwgscale nil)
(setq dwgscale (/ 1000.0 (getreal "\n enter vertical scale ")))
)
;(setq datum (getreal "\n Enter datum level "))
(setq datum (car (LM:ParseNumbers (cdr (assoc 1 (entget (car (entsel "\nPick datum text"))))))))



(setq test 1)
(setq pt1 (cadr (getpoint "\npick datum")))
(while (= test 1)

(setq pt2 (cadr (getpoint "\npick point")))

(setq dist (/(abs (- pt1 pt2)) dwgscale))

   (setq en1 (car (entsel "\nSelect text number:" )))
   (if (/= en1 nil)
       (progn
       (setq tent (entget en1))
       (setq a (+ dist datum))
       (setq a (rtos a 2 3))
       (setq el (subst (cons 1 a) (assoc 1 tent) tent))
       (entmod el)
);progn
      (princ "\nplease pick again"); else
    );if
); while t

(setq el nil
en nil
a nil
en1 nil
test nil)

(setvar "cmdecho" 1)
(setvar "dimzin" olddimzin)
(princ)
)        ;ends main defun
页: [1] 2
查看完整版本: 标高标记