1. (defun $zhi-zuo-qu-ge$ (xs ys lst / d i p1 p3 x xs2 xs2-tmp y ys2)
  2.           ;根据一堆X坐标和Y坐标制作区格坐标
  3.   (setq xs (vl-remove nil xs))
  4.   (setq ys (vl-remove nil ys))
  5.   (if (and xs ys)
  6.     (progn
  7.       (setq xs (vl-sort xs '<)    ;从小到大排序
  8.       ys (vl-sort ys '>)    ;从大到小排序
  9.       )
  10.       (SETQ XS2 (MAPCAR 'LIST XS (CDR XS))) ;X轴链式表
  11.       (SETQ YS2 (MAPCAR 'LIST ys (CDR ys))) ;Y轴链式表
  12.       (setq i 1)
  13.       (while (setq y (car ys2))
  14.   (setq xs2-tmp xs2)
  15.   (while (setq x (car xs2-tmp))
  16.     (setq p1 (list (car x) (car y) 0))
  17.     (setq p3 (list (cadr x) (cadr y) 0))
  18.     (setq  d (cons  (list (cons "区格号" i)
  19.             (cons "左上角坐标" p1)
  20.             (cons "右下角坐标" p3)
  21.       )
  22.       d
  23.       )
  24.     )
  25.     (setq i (1+ i))
  26.     (setq xs2-tmp (cdr xs2-tmp))
  27.   )
  28.   (setq ys2 (cdr ys2))
  29.       )
  30.       (setq d (reverse d))
  31.     )
  32.   )
  33.   d
  34. )
  35. ;测试示例
  36. (setq x        0
  37.       y        0
  38. )
  39. (setq xs nil
  40.       ys nil
  41.       d         nil
  42. )
  43. (repeat 100 (setq xs (cons (setq x (+ x 5)) xs)))
  44. (repeat 100 (setq ys (cons (setq y (+ y 5)) ys)))
  45. (setq qgs ($zhi-zuo-qu-ge$ xs ys nil))
  46. (setq pts (mapcar (function (lambda (a)
  47.                               (setq p1 (cdr (assoc "左上角坐标" a)))
  48.                               (setq p3 (cdr (assoc "右下角坐标" a)))
  49.                                (command "RECTANG" "_non" p1 "_non" p3)
  50.                             )
  51.                   )
  52.                   qgs
  53.           )
  54. )





网友答: 太罗嗦了
  1. (defun abc (x y dx dy ny nx / yy)
  2.   ;;(abc 0 0 5 3 100 100)
  3.   (repeat ny
  4.     (setq yy y)
  5.     (repeat nx
  6.       (setq p1 (list x yy)
  7.             p2 (list (+ x dx) (+ yy dy))
  8.             yy  (+ yy dy)
  9.       )
  10.       (command "rectang" "non" p1 "non" p2)
  11.     )
  12.     (setq x (+ x dx))
  13.   )
  14. )


网友答:
xyp1964 发表于 2026-2-4 19:53
太罗嗦了

输入条件只有一堆X轴和Y轴的坐标
  • 上一篇:分享一个自写自用的CAD文件合并工具
  • 下一篇:没有了