明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1554|回复: 2

[求助]怎么得到线的交点及距离?

[复制链接]
发表于 2007-8-16 16:59:00 | 显示全部楼层 |阅读模式
一条竖直线与多条水平斜线相交,怎么得到竖直线与斜线各交点?并得到各交点间的竖向距离?最好能将结果写入文件。
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2007-8-17 14:04:00 | 显示全部楼层

置顶的帖子就有,你自己找吧

以下这个程序,你参考一下吧

(defun intersections (SS1 SS2  ;ss1: 选择集1, ss2: 选择集2
        / SSL  ;length of SS1
        SSL2  ;length of ss2
        PTS  ;returning list
        AOBJ1  ;Object 1
        AOBJ2  ;Object 2
        N1  ;Loop counter
        N2  ;Loop counter
        IPTS  ;intersects
        RTIPTS  ;返回值
                      )
  (vl-load-com)                         ;使用VLISP扩展函数
  (setq N1  0    ;index for outer loop
 SSL (sslength SS1)
  )
  (setq     ;index for outer loop
        SSL2 (sslength SS2)
  )

     ; Outer loop, first through second to last
  (while (< N1 SSL)   ; Get object 1, convert to VLA object type
    (setq AOBJ1 (ssname SS1 N1)
   AOBJ1 (vlax-ename->vla-object AOBJ1)
    )     ;index for inner loop
                                        ; Inner loop, go through remaining objects
    (setq N2 0)
    (while (< N2 SSL2)   ; Get object 2, convert to VLA object
      (setq AOBJ2 (ssname SS2 N2)
     AOBJ2 (vlax-ename->vla-object AOBJ2)
     ;将acad 的句柄转换为 VLISP 的句柄
                                        ;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
  (setq rtipts pts)   ;返回
)

 楼主| 发表于 2007-8-18 12:46:00 | 显示全部楼层

谢谢,但是您的这个程序怎么不能用?

运行命令是什么?

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

本版积分规则

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

GMT+8, 2025-8-4 04:30 , Processed in 0.178208 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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