328302216 发表于 2011-11-17 17:13:08

请教一个问题,希望各位高手能拔刀相助

请教一下:
1 (-819.745 825.804 0.0)
2 (-819.745 448.915 0.0)
3 (515.342 825.804 0.0)
4 (515.342 448.915 0.0)
5 (-819.745 1202.69 0.0)
6 (515.342 1202.69 0.0)
如上面是多条直线的坐标我想用1跟后面的2到6比较然后又用2跟后面的3到6比较以此类推到5跟6比较要怎么弄呢?各位高手有类似的例子给参考一下,或者帮忙编个例子、说一下用什么函数实现都行,对于各位高手来说应该不难吧!非常感谢(1 2 3 4 5 6这些是我加上去好说明而已)

dunkel 发表于 2011-11-18 09:11:44

比较,什么意思?这类数据处理恐怕是在 Excel 里简单。

328302216 发表于 2011-11-18 11:42:06

dunkel 发表于 2011-11-18 09:11 static/image/common/back.gif
比较,什么意思?这类数据处理恐怕是在 Excel 里简单。

我想比较他们当中哪个跟哪个是相同(相等)的,如果没有一个是与其相等的那么再驱动用此坐标当圆心画一规定半径的圆或者用其他特殊的符号标记出来!

dunkel 发表于 2011-11-18 12:19:07

本帖最后由 dunkel 于 2011-11-18 12:20 编辑

在 ACAD 里实现这个功能,需要编程了吧。可以到“开发板块”http://bbs.mjtd.com/forum-3-1.html去看看。

1548845899 发表于 2011-11-18 20:26:41

328302216 发表于 2011-11-19 14:22:09

经过几天的研究差不多把程序整出来了!多谢各位的顶贴!

mokson 发表于 2011-11-19 21:58:05

小弟帮不了.

328302216 发表于 2011-11-21 11:15:58

(setq ss7 '((907.98 571.959 0.0) (907.98 -226.468 0.0) (986.544 -226.468 0.0) (1818.41 -226.468 0.0)
(1818.41 -226.468 0.0) (1818.41 479.655 0.0) (1818.41 479.655 0.0) (672.285 479.655 0.0))
)
(setq ss8 (length ss7))
(setq q 0 p 0 d 0 b 0)
(repeat ss8 ;循环ss8等于ss7列表中的元素个数
    (setq ss9 (nth q ss7))
    (repeat ss8
      (setq ss10 (nth p ss7))
      (if (= ss9 ss10)
(setq d (+ 1 d))
) ;if
      (setq p (+ 1 p))
      ) ;repeat
    (if (<= d 2)
      (command "CIRCLE" ss9 50) ;
      )
    (setq q (+ 1 q))
    ) ;repeat
(princ)
)
为什么执行结果是用所有的坐标值都当圆心画出圆了
我想用ss7中单一的(没有与其相同)的坐标画圆而已要怎么改呢?

Andyhon 发表于 2011-11-24 18:01:02

(setVqr "Osmode" 0)   ; Add this line

(if (= ss9 ss10)
==>
(if (equal ss9 ss10 1e-8)

若仍不对,则需验证用的图纸...

328302216 发表于 2011-11-25 11:54:56

Andyhon 发表于 2011-11-24 18:01 static/image/common/back.gif
(setVqr "Osmode" 0)   ; Add this line

(if (= ss9 ss10)


dunkel 这位前辈已经帮忙正出来了 呵呵 同时也谢谢楼上的帮忙
页: [1]
查看完整版本: 请教一个问题,希望各位高手能拔刀相助