明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: matichen

众多PL与指定PL相交的交点坐标如何求[求助]

  [复制链接]
发表于 2002-12-14 09:31:00 | 显示全部楼层

It's OK! for my 2002 English Version

No need to add c:
Usage:

(test (car (entsel)) (car (entsel)))
发表于 2002-12-14 11:58:00 | 显示全部楼层

不知道你是啥意思

是说快速执行的算法吗?那用AL\VL都很难搞定,如果不是的,那其实很简单,不就是读取线条的坐标,逐一求交就可以了吗,要用VL干啥呢,图简单?
 楼主| 发表于 2002-12-17 13:02:00 | 显示全部楼层

我这样试过了,“参数太多...” 我把完整的放上来,看看我是不是抄错了

本帖最后由 作者 于 2002-12-17 13:02:26 编辑

(defun TEST (/ IPTS PTS)
  (setq IPTS (vla-intersectwith
       (vlax-ename->vla-object (car (entsel)))
       (vlax-ename->vla-object (car (entsel)))
       acExtendBoth
     )
IPTS (vlax-variant-value IPTS)
  )
  (if (> (vlax-safearray-get-u-bound IPTS 1) 0)
    (progn (setq IPTS
  (vlax-safearray->list IPTS)
   )
   (while (> (length IPTS) 0)
     (setq PTS (cons (list (car IPTS)
     (cadr IPTS)
     (caddr IPTS)
      )
      PTS
)
   IPTS (cdddr IPTS)
     )
   )
    )
  )
  PTS
)

(defun c:j()
  (princ (test (car (entsel)) (car (entsel))))
)



==================
错误: 参数太多
===================
发表于 2002-12-17 14:37:00 | 显示全部楼层

fixed it...

(defun TEST (/ IPTS PTS)
  (setq IPTS (vla-intersectwith
       (vlax-ename->vla-object (car (entsel)))
       (vlax-ename->vla-object (car (entsel)))
       acExtendBoth
     )
IPTS (vlax-variant-value IPTS)
  )
  (if (> (vlax-safearray-get-u-bound IPTS 1) 0)
    (progn (setq IPTS
  (vlax-safearray->list IPTS)
   )
   (while (> (length IPTS) 0)
     (setq PTS (cons (list (car IPTS)
     (cadr IPTS)
     (caddr IPTS)
      )
      PTS
)
   IPTS (cdddr IPTS)
     )
   )
    )
  )
  PTS
)

(defun c:j()
  (princ (test))
  (princ)
)
发表于 2002-12-17 15:57:00 | 显示全部楼层

你沒發現之前貼子有修改過

 楼主| 发表于 2002-12-18 09:03:00 | 显示全部楼层

THANKS !

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-1-16 00:59 , Processed in 0.152864 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表