需要Lisp:创建矩形b
需要lisp在矩形(黑色)之间创建矩形(红色) 考虑偏移、修剪和Pedit或Pedit命令。 另一种方法是用lisp选取两个对角点xoff yoff,可以不同的绘制新的矩形。如果矩形在角度上,则回答3pt。
我会去3pt你可以打赌,如果你使它平方只需要你需要一个角度版本。 Git_thailand,请重新阅读您发布的所有离题内容。请详细说明你想要什么。
看起来很简单。唯一存在的实体是黑色柱脚?你还想再创造5个?或者只有4个不包括内部矩形?
我想只有两个,不是吗?
哦,是的。。。但也可能是四个,这取决于你如何看待它。5即使您将中间一个作为一个单独的实体包括在内。
哦,好吧。。。。
(defun c:BeatBox (/ _HiLow _Box _trans rec pts low high)
(defun _HiLow (lev lst)
(list
(apply lev (mapcar 'car lst))
(apply lev (mapcar 'cadr lst))
)
)
(defun _Box (p1 p2)
(command "_rectang" "_non" p1 "_non" p2)
)
(setq _trans (lambda (pt) (trans pt 0 1)))
(if (and
(setq dist (cond
( (getdist
(strcat "\nOffset Distance"
(if dist (strcat " <" (rtos dist) ">: ") ": ")
)
)
)
( dist )
)
)
(setq rec (ssget
'((0 . "LWPOLYLINE") (-4 . "&=") (70 . 1))
)
))
(progn
(repeat(setq i (sslength rec))
(setq pts (mapcar 'cdr
(vl-remove-if-not
'(lambda (j)
(= (car j) 10)
)
(entget (setq e (ssname rec (setq i (1- i)))))
)
)
pts (mapcar '_trans pts)
)
(setq Low(_HiLow 'min pts)
High (_HiLow 'max pts)
)
(_Box (list (car low) (+ (cadr low) dist))
(list (car high) (- (cadr high) dist))
)
(_Box (list (+ (car low) dist) (cadr low))
(list (- (car high) dist) (cadr high))
)
)
)
)
)
HTH公司
更新日期: 在两个矩形之间创建矩形
你真的需要一个lisp例程来完成这个任务吗?真正地
哎呀。我第一次是对的。确实是4。
但话说回来。。。
我在想我自己。
页:
[1]
2