明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1133|回复: 4

[已解答] 关于循环中的变量问题

[复制链接]
发表于 2013-11-26 19:55 | 显示全部楼层 |阅读模式
本帖最后由 aihuyujian 于 2013-11-26 19:58 编辑

代码如下(不完整)
(defun c:bad()
  (princ "\n选取第一条直线")
(setq dx1 (entget (car (entsel '((0 . "line"))))))
  (setq d1 (assoc 10 dx1))
  (setq d2 (assoc 11 dx1))
  (princ "\n选取其他直线")
  (setq ss (ssget '((0 . "line"))))
        (setq s (sslength ss))
  (setq k 0 n 1)
  (while (< k s)
         (setq dx (entget (ssname ss k)))
               (setq d3 (assoc 10 dx))
      (setq d4 (assoc 11 dx))
      (set (read (strcat "jd" "n")) (inters d1 d2 d3 d4 nil))
      (setq n (1+ n)))
比如我想求多条直线与第一条直线的交点,不知道有几个,所以用jd n 来记录交点的坐标,接下来想要标注这些点间的尺寸也就是尺寸标注,怎么读取jd n的值并且标注,还有选第二次的其他直线时 怎么排除第一次选中的直线,想的头都大了还是解决不了,请版主和各位大虾帮帮忙修改修改代码,谢谢啦
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2013-11-26 23:14 | 显示全部楼层
本帖最后由 xyp1964 于 2013-11-26 23:17 编辑

  1. (defun c:tt ()  (setq dx1 (entget (car (entsel "\n选取第一条直线: ")))
  2.         p1  (cdr (assoc 10 dx1))
  3.         p2  (cdr (assoc 11 dx1))
  4.   )
  5.   (princ "\n选取其他直线")
  6.   (setq ss  (ssget '((0 . "line")))
  7.         i   -1
  8.         ptn '()
  9.   )
  10.   (while (setq s1 (ssname ss (setq i (1+ i))))
  11.     (setq dx  (entget s1)
  12.           pt  (inters p1 p2 (cdr (assoc 10 dx)) (cdr (assoc 11 dx)) nil)
  13.           ptn (cons pt ptn)
  14.     )
  15.   )
  16.   (princ ptn)
  17.   (princ)
  18. )
发表于 2013-11-27 10:47 | 显示全部楼层
在代码前加(setq jd_list '())
获得需要记录记录的值jd 将其加入列表中
(setq jd_list (cons jd jd_list))
如果jd是有顺序的,将其反转 (setq jd_list (reverse jd_list))
你要使用你的jd值时候用(nth i jd_list)
就可以取出你的jd值
 楼主| 发表于 2013-11-27 13:12 | 显示全部楼层
qiuhaitao110 发表于 2013-11-27 10:47
在代码前加(setq jd_list '())
获得需要记录记录的值jd 将其加入列表中
(setq jd_list (cons jd jd_list) ...

谢谢回答,你的方法跟版主的基本一样,非常感谢
 楼主| 发表于 2013-11-27 13:14 | 显示全部楼层
xyp1964 发表于 2013-11-26 23:14

谢谢版主,问题基本解决,版主的代码不啰嗦学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-3 08:09 , Processed in 0.419626 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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