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

谢谢版主提醒
页: 1 2 3 [4] 5 6 7 8
查看完整版本: [求助]请问如何求出两条多义线的交点?