荒野孤行 发表于 2014-2-7 23:00:47

择相同曲线的源码

本帖最后由 荒野孤行 于 2014-4-25 21:37 编辑

功能:挑选相同曲线,通过长度及面积判断。
图片效果如下:


我设计的工具箱插件地址→点击进入

香田里浪人 发表于 2014-2-8 09:48:53

山寨能否改为不需要e派工具箱?

zmzk 发表于 2019-12-15 10:25:58

这个程序美中不足:(defun c:xt ()
(setvar "blipmode" 0)
(setvar "pickfirst" 1)
(setvar "expert" 0);禁止显示提示“准备重生成 -- 继续进行?”和“是否确实要关闭当前图层?”
(setvar "GRIPOBJLIMIT" 50) ;抑制当初始选择集包含的对象超过特定的数量时夹点的显示
(setvar "osmode" 15359)
(setvar "qaflags" 0)
(setvar "attmode" 2)
(setvar "attreq" 1)
(setvar "cmdecho" 0)
;以上的参数不知道是哪一个会影响到pselect的命令的有效性,有兴趣的可以试一下。我想最后将所有相同的线亮显   选中状态,就像楼主的gif动图那样,可是不行呢?

纵横八方 发表于 2018-10-8 13:03:56

面积 和周长相同 的 有很多种情况 好吧,解方程 无数个解

cnks 发表于 2014-2-8 00:39:57

有点意思,支持一下!

xyp1964 发表于 2014-2-8 08:24:50

;; 山寨一个;; 选择相同曲线需要e派工具箱(XCAD)的支持:http://yunpan.cn/QXQKsW9gAPmpF
(defun c:tt ()
(if (and (setq s1 (car (entsel "\n选择: ")))
           (xyp-etype s1 "*LINE,ARC,CIRCLE,ELLIPSE")
      )
    (progn
      (redraw s1 3)
      (setq i        -1
          ss1 (ssadd)
          l0        (xyp-CurveLength s1)
          a0        (xyp-get "area" s1)
      )
      (princ "\n选择范围: ")
      (if (setq ss (ssget (list (cons 0 (xyp-DXF 0 s1)))))
        (while (setq s1 (ssname ss (setq i (1+ i))))
          (if (and (= (xyp-CurveLength s1) l0)
                   (= (xyp-get "area" s1) a0)
              )
          (setq ss1 (ssadd s1 ss1))
          )
        )
      )
    )
)
(if ss1
    (sssetfirst ss1 ss1)
)
(princ)
)

hao3ren 发表于 2014-2-8 10:07:52

香田里浪人 发表于 2014-2-8 09:48 static/image/common/back.gif
山寨能否改为不需要e派工具箱?

呵呵,问院长要函数

szmaicy 发表于 2014-2-8 10:32:21


上图两个多义线面积和周长都相同

荒野孤行 发表于 2014-2-8 19:15:30

香田里浪人 发表于 2014-2-8 09:48
山寨能否改为不需要e派工具箱?

我的不需要,直接用就可以了。一个眀经币而已,很好赚的。

香田里浪人 发表于 2014-2-8 22:02:03

荒野孤行 发表于 2014-2-8 19:15 static/image/common/back.gif
我的不需要,直接用就可以了。一个眀经币而已,很好赚的。

下载用过,与1964的山寨版相比,还是有些差别。

jxwangjx 发表于 2014-3-3 10:27:32

支持一下啦

小菜123 发表于 2014-3-3 11:15:49

源码下来看了一下,算法有问题,测试表明确实不严谨,只针对特定图有点用
页: [1] 2
查看完整版本: 择相同曲线的源码