http://atlisp.cn/stable/at-lab/rec-tube.mp4
http://atlisp.cn/package-info/at-lab-stable.html
@lisp 安装请至 http://atlisp.cn
(defun @lab:rec-tube (/ res w h )
(@:help "绘制矩形管")
(setq res (ui:input "请输入参数"
'(("Width" 200 "矩形管宽度")
("Height" 300 "矩形管高度")
("t" 10 "矩形管厚度"))))
(while (setq pt (getpoint "请输入绘制位置:"))
(setq w (* 0.5 (cdr (assoc "Width" res))))
(setq h (* 0.5 (cdr (assoc "Height" res))))
(setq t1(cdr (assoc "t" res)))
(entity:make-rectangle
(polar (polar pt pi w)
(* 1.5 pi) h)
(polar (polar pt 0 w)
(* 0.5 pi) h))
(entity:make-rectangle
(polar (polar pt pi (- w t1))
(* 1.5 pi)(-h t1))
(polar (polar pt 0 (- w t1))
(* 0.5 pi) (-h t1 )))))
这种需求,参数化动态块最方便。 好好-MEN 发表于 2022-4-29 15:06
大师,你这是好用,但是我就画一个管,还得安装你这个大插件,有点繁重了
不用的插件可以不安装,只安装核心程序即可。
都不想安装的话,网站有需要的函数源码,你可以自己拼凑一个lsp文件。
自己拼凑,还是安装 @lisp . 都是需要花时间的。
http://atlisp.cn/function/entity:make-rectangle
(defun c:tt (); tt(矩形管)
(defun Udist (bit kwd msg def bpt / inp)
(if def
(setq msg (strcat "\n" msg "<" (rtos def) ">: ")bit (* 2 (fix (/ bit 2))))
(setq msg (strcat "\n" msg ": "))
)
(initget bit kwd)
(setq inp (if bpt(getdist msg bpt)(getdist msg)))
(if inp inp def)
)
(setq ww (Udist 7 "" "宽度<输入或鼠标直接量取>" ww nil))
(setq hh (Udist 7 "" "高度<输入或鼠标直接量取>" hh nil))
(setq dd (Udist 7 "" "厚度<输入或鼠标直接量取>" dd nil))
(while (setq p0 (getpoint "\n基点<退出>: "))
(setq p1(list (+ (car p0) ww) (+ (cadr p0) hh))
p01 (list (+ (car p0) dd) (+ (cadr p0) dd))
p11 (list (- (car p1) dd) (- (cadr p1) dd))
)
(command "Rectang" "non" p0 "non" p1)
(command "Rectang" "non" p01 "non" p11)
)
(princ)
)
我的怎么用不起来啊
页:
[1]