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
)
)
页: 20 21 22 23 24 25 26 27 28 29 [30] 31 32 33 34 35 36 37
查看完整版本: 【e派】工具箱函数再揭秘及应用实例