找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 632|回复: 2

[求助] [求助]:关于求交点的这个函数,我想得到自定义的返回值

[复制链接]
发表于 2004-9-8 21:03:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我想运行下面这个函数后得到自定义的返回值,不知道怎样改程序,即这样:(setq ints (lzy_ints ss1));ss1为已求得的选择集。
现在用(setq ints (lzy_ints ss1))得不到返回值,而还是返回在pts变量中。
(defun LZY_ints (SS / SSL  ;length of SS
;    PTS   ;returning list
     AOBJ1  ;Object 1
     AOBJ2  ;Object 2
     N1     ;Loop counter
     N2     ;Loop counter
     IPTS   ;intersects
     A N NN HOLDOSMODE
    )
(vl-load-com)
(setq pts nil)
  (setq N1  0    ;index for outer loop
        SSL (sslength SS)
  )     ; Outer loop, first through second to last
  (while (< N1 (1- SSL))  ; Get object 1, convert to VLA object type
    (setq AOBJ1 (ssname SS N1)
          AOBJ1 (vlax-ename->vla-object AOBJ1)
          N2 (1+ N1)
    )     ;index for inner loop
;;; Inner loop, go through remaining objects
    (while (< N2 SSL)   ; Get object 2, convert to VLA object
      (setq AOBJ2 (ssname SS N2)
            AOBJ2 (vlax-ename->vla-object AOBJ2)
;;;Find intersections of Objects
            IPTS  (vla-intersectwith
                    AOBJ1
                    AOBJ2
                    0
                   )   ; variant result
            IPTS  (vlax-variant-value IPTS)
      )
;;;Variant array has values?
      (if (> (vlax-safearray-get-u-bound IPTS 1) 0)
(progn    ;array holds values, convert it
   (setq IPTS   ;to a list.
   (vlax-safearray->list IPTS)
   )
;;;Loop through list constructing points
   (while (> (length IPTS) 0)
     (setq PTS  (cons (list (car IPTS)
       (cadr IPTS)
       (caddr IPTS)
        )
        PTS
         )
    IPTS (cdddr IPTS)
     )
   )
)
      )
      (setq N2 (1+ N2))
    )     ;inner loop end
    (setq N1 (1+ N1))
  )     ;outer loop end

);end defun
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-9-8 22:00:17 | 显示全部楼层
没仔细看程序,按你的说法,既然在pts变量中。那么
(defun
......
);outer loop end
pts
);end defun
不就可以了?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-9-8 22:36:40 | 显示全部楼层
哈哈~,多多斑竹,搞定了,我不怎么会自定义函数,多谢斑竹指教。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-27 13:41 , Processed in 0.178746 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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