CAD新军
发表于 2018-11-17 11:40:31
支持一下。。。。
CAD新军
发表于 2018-11-17 11:40:50
有没有简单修改块里面文本的程序呢
Nico
发表于 2018-11-17 14:02:45
顶起来,顶起来
xyp1964
发表于 2019-1-26 17:23:52
;; xyp-Div3DistWith2Pt 沿两点3种距离等分的最优组合 (xyp-Div3DistWith2Pt p1起点 p2终点 d1距离1 d2距离2 d3距离3)
;; 返回(n1距离1的数量 n2距离2的数量 n3距离3的数量 dl剩余长度)
;; (xyp-Div3DistWith2Pt '(0 0) '(3761.59 0) 1000 500 300) → (3 0 2 161.59)
(defun xyp-Div3DistWith2Pt (p1 p2 d1 d2 d3 / a l1 l2 l3 ll lst n1 n2 n3)
(setq ll(distance p1 p2)
lst '()
n1(fix (/ ll d1 1.))
l1(- ll (* n1 d1))
n2(fix (/ l1 d2 1.))
l2(- l1 (* n2 d2))
n3(fix (/ l2 d3 1.))
l3(- l2 (* n3 d3))
a (list n1 n2 n3 l3)
lst (cons a lst)
n2(1- n2)
n2(if (< n2 0)
0
n2
)
l2(- ll (* d1 n1) (* d2 n2))
n3(fix (/ l2 d3 1.))
l3(- l2 (* n3 d3))
a (list n1 n2 n3 l3)
lst (cons a lst)
n1(1- n1)
n1(if (< n1 0)
0
n1
)
l1(- ll (* n1 d1))
n2(fix (/ l1 d2 1.))
l2(- l1 (* n2 d2))
n3(fix (/ l2 d3 1.))
l3(- l2 (* n3 d3))
a (list n1 n2 n3 l3)
lst (cons a lst)
n2(1- n2)
n2(if (< n2 0)
0
n2
)
l2(- ll (* d1 n1) (* d2 n2))
n3(fix (/ l2 d3 1.))
l3(- l2 (* n3 d3))
a (list n1 n2 n3 l3)
lst (cons a lst)
lst (vl-sort lst
'(lambda (x y)
(cond ((< (last x) (last y)) t)
((and (> (car x) (car y)) (= (last x) (last y))) t)
)
)
)
)
(car lst)
)
yoyoho
发表于 2019-1-26 17:53:40
谢谢! xyp1964 分享学习!!!!
20060510412
发表于 2019-1-26 21:10:44
函数好多啊
JHX948954875
发表于 2019-1-28 10:13:00
谢谢院长分想
buddhism8
发表于 2019-2-15 20:58:08
谢谢院长发源
TPG辉
发表于 2019-3-20 08:36:22
望院长来段 xyp-get-layers
xyp1964
发表于 2019-4-3 08:35:03
;; xyp-List-Del 删除表内子项 (xyp-List-Del 表 表内删除子项位置列表)
;; 表内第一个元素由0开始
;; (xyp-List-del '(0 1 2 3 4 5 6 7 8 9 10) '(2 3 6 8)) → (0 1 4 5 7 9 10)
(defun xyp-List-Del (lst nth-Del / i)
(setq i -1)
(vl-remove-if
'(lambda (x) (member (setq i (1+ i)) nth-Del))
lst
)
)