本帖最后由 llsheng_73 于 2018-9-29 00:23 编辑
让现在这两条线张角大一些,两端用别的线边起来,多插入几根线看看它的效果?
看不到认为它就是平齐的吧,毕竟比圆弧分布简单些。。。
- (defun c:tt(/ e1 e2 p1 p2 p3 p4 n i)
- (while(and(setq e1(ssget":E:S"'((0 . "line"))))
- (setq e2(ssget":E:S"'((0 . "line"))))
- (setq n(getint"插入直线数量")
- n(if n n 1)))
- (setq e1(entget(ssname e1 0))
- p1(mapcar'+'(0 0)(cdr(assoc 10 e1)))
- p2(mapcar'+'(0 0)(cdr(assoc 11 e1)))
- e2(entget(ssname e2 0))
- p3(mapcar'+'(0 0)(cdr(assoc 10 e2)))
- p4(mapcar'+'(0 0)(cdr(assoc 11 e2))))
- (if(inters p1 p3 p2 p4 t)(setq e1 p4 p4 p3 p3 e1))
- (setq e1(/(distance p1 p3)(1+ n)1.)
- e2(/(distance p2 p4)(1+ n)1.)
- p3(angle p1 p3)
- p4(angle p2 p4)
- i 0)
- (while(< i n)
- (setq i(1+ i))
- (entmakex(mapcar'cons'(0 10 11)(list"line"(polar p1 p3(* e1 i))(polar p2 p4(* e2 i))))))
- ))
|