如何在框选线段的端点插入块
如题如果框选上端,也能画圆或者插入块
框选直线端点插块,非常实用! 我下载了,上面的程序,作到工作中,有不小的帮助。 這個問題提得好,有創意,但不会写呀 vlax-curve-getStartPoint
insert 本帖最后由 为什么任兵 于 2013-3-2 15:33 编辑
看看是你想要的吗??
命令 tt13
格下的程序一定是人家不想要的,要是能识别交点不就就好了如图所示,
所以P1 AND P2有可能都要加 为什么任兵 发表于 2013-3-2 15:32 static/image/common/back.gif
看看是你想要的吗??
命令 tt13
是的,大侠
能附上源码研究一下吗
本帖最后由 qcw911 于 2013-3-4 18:45 编辑
(defun c:tt (/ ss i lst s1 pt e1 e2)
;;;(setqss(ssget '((0 . "LINE"))))
(setq xy (last (ssnamex (setq ss (ssget '((0 . "LINE")))) 0)))
(setq x (last (cadr xy)) y (last (cadddr xy)))
(command "RECTANG" x y)
(setq myname (entlast))
(setqi -1)
(setq LSTe '())
(setq LSTs '())
(repeat (sslength ss)
(setq s1(ssname SS (setq i (1+ i)))
pte(dxf 11 (entget s1))
pts(dxf 10 (entget s1))
lste (cons pte lste)
lsts (cons pts lsts)
)
)
(setqlsts (vl-sort lsts
(function (lambda (e1 e2) (> (car e1) (car e2))))
)
)
(setqlste (vl-sort lste
(function (lambda (e1 e2) (> (car e1) (car e2))))
)
)
(setq lst (append lsts lste)) ;合并元素
(setq n (lengthlst )) ;表内元素个数
(setq ii 0)
(repeat n
(setq ptn (nth ii lst))
(setq ptn_x(car ptn))
(setq ptn_y(cadr ptn))
(setq x_x (car x))
(setq x_y (cadr x))
(setq y_x (car y))
(setq y_y (cadr y))
;判断ptn点是否在x,y点形成的矩形区域内
;这块不会写那个大侠帮帮忙
(setq ii (1+ ii))
)
;;;lst
)
(defun dxf (code elist) (cdr (assoc code elist)))哪位大侠帮帮忙写一下
或者有其他思路??
qcw911 发表于 2013-3-4 18:44 static/image/common/back.gif
哪位大侠帮帮忙写一下
或者有其他思路??
可以参考使用ssnamex函数来获取鼠标选择物体的位置!结合vlax-curve-getstartpoint 和vlax-curve-getendpoint函数来判断块插入是在曲线起点还是端点! qcw911 发表于 2013-3-4 14:56 static/image/common/back.gif
是的,大侠
能附上源码研究一下吗
大侠不敢当,就是比较简单的算法
为什么任兵 发表于 2013-3-4 20:55 static/image/common/back.gif
大侠不敢当,就是比较简单的算法
非常感谢,根据你提供的程序,解决了我工作上的问题
页:
[1]
2