明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1978|回复: 6

[求助] 重复绘园的lisp程序

[复制链接]
发表于 2008-7-2 00:36:00 | 显示全部楼层 |阅读模式
如题,如何实现重复绘园,如果用户用“空格键”或“回车键”响应或者用户按下“鼠标右键”时程序静默退出。
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2008-7-2 22:46:00 | 显示全部楼层
(defun c:cc ()
 (while (setq pc (getpoint "\nCenter Point :"))
  (command ".CIRCLE" pc pause)
 )
 (princ)
)

 楼主| 发表于 2008-7-3 09:25:00 | 显示全部楼层

       谢谢版主,程序能重复画圆。如果圆心pc固定不变而画“系列同心圆”,亦即只有第一次输入圆心pc,以后圆心默认pc,当使用“回车键”或使用“鼠标右击”响应时退出,上述程序又该如何修改?

发表于 2008-7-3 10:04:00 | 显示全部楼层
(defun c:cc ()
  (setq pc (getpoint "\n中心点:"))
 (while (setq dis (getdist pc "\r输入半径:"))
  (command ".CIRCLE" pc dis)
 )
 (princ)
)
 楼主| 发表于 2008-7-3 19:27:00 | 显示全部楼层
非常感谢!
发表于 2008-7-4 08:37:00 | 显示全部楼层
可动态显示画园轨迹,一般动态显示要运用GRREAD与GRDRAW联合操作,程序较复杂,
这个利用command的PAUSE可以实现画园的动态显示
  1. (defun c:cc ( / pc k e r e1 r1);可动态显示画园轨迹
  2.   (setq pc (getpoint "\n中心点:") k t)
  3.   (command ".CIRCLE" pc pause)
  4. (while k
  5.    (setq e (entlast))
  6.    (setq r (cdr (assoc 40 (entget e))))
  7.    (command ".CIRCLE" pc pause)
  8.    (setq e1 (entnext e))
  9.    (setq r1 (cdr (assoc 40 (entget e1))))
  10.    (if (equal r r1 0.0001) (setq k nil))
  11. )
  12. (princ)
  13. )
发表于 2008-7-4 13:57:00 | 显示全部楼层
没太大的用处吧,这个程序
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-9-21 04:17 , Processed in 0.152855 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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