cnks
发表于 2004-2-2 17:44:00
这里真是高手如云呀!!!!!!!!!!!
wmz
发表于 2004-4-10 21:54:00
无痕
发表于 2004-4-15 02:59:00
本帖最后由 作者 于 2004-4-15 13:10:41 编辑
;声明:(原创)调用或修改请保留信息行
;求两个曲线的交点表. ----无痕.2004.2
;调用方法:(x@_int (car (entsel)) (car(entsel)))
(defun x@_int (e1 e2 / ptlst ptints)
(setq obj1 (vlax-ename->vla-object e1)
obj2 (vlax-ename->vla-object e2)
ptlst (xl-div (vlax-invoke obj1 'IntersectWith obj2 0) 3))
;;此版本未提供2dpolyline正确的自身交点过滤方法,请自行加入.
)
;按项数分割列表.
(defun xl-div (lst x / lst2)
(foreach n lst
(if (and lst2 (/= x (length (car lst2))))
(setq lst2 (cons (append (car lst2) (list n)) (cdr lst2)))
(setq lst2 (cons (list n) lst2))
)
)(reverse lst2)
)
无痕
发表于 2004-4-15 03:12:00
本帖最后由 作者 于 2004-4-15 3:51:17 编辑
:)演示,解压为swf文件
怎么二次开发栏目无法上传文章了??!!找不到发文章的入口
sunny_w
发表于 2004-4-26 11:19:00
但空间相交的话,交点怎么求呢
zemehua
发表于 2004-5-3 09:33:00
如果已经知道建筑总平面图上的一个基点的坐标,如何快速给总平面上的各个单体定位呢?需要在图纸上自动标注相对于基点的其他点的坐标值。
wmz
发表于 2004-5-29 12:24:00
接着35楼的话:如果多义线有标高该怎么求呢?
mkhsj928
发表于 2004-8-2 23:48:00
本帖最后由 作者 于 2004-8-3 0:21:57 编辑
经过一番测试,还是陈版主的方法高!简单而又快捷,很精确的哦!
(setq ent1 (car (entsel "\n请选择修剪边界线:")))
(setq ent2 (car (entsel "\n请选择被修剪线:")))
(setq endpt (vlax-curve-getEndPoint (vlax-ename->vla-object ent2)))
(command "trim" ent1 "" (list ent2 endpt) "")
(setq jdpt (vlax-curve-getEndPoint (vlax-ename->vla-object ent2)))
(command "undo" "")
使用中 ent1 ent2 由程序确定,代入就可以了!
本方法对空间相交照样适用,只是经修剪后ent2变成了最后一个实体了(entlast)
meflying
发表于 2004-8-3 08:39:00
再次说明:这里的参数使用ent1、ent2就可以了,不需要通过(vlax-ename->vla-object...)转化成vla-object,我已经说了无数次了,好象没有任何人关注这点,继续这样使用
mkhsj928
发表于 2004-8-3 10:43:00
谢谢版主提醒