明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1522|回复: 9

这个问题到现在,我不知道该怎么解决???

[复制链接]
发表于 2004-10-6 15:27:00 | 显示全部楼层 |阅读模式
我用LISP语言编写了一个画5行6列的表格的简单程序,


用到AutoCAD内部命令LINE连接,我想每次调用时,它都能做为一个块,怎么实现?????????
发表于 2004-10-6 15:32:00 | 显示全部楼层
能说明白点吗,是每条直线作成一个块,还是整个表格作成一个块
 楼主| 发表于 2004-10-6 17:24:00 | 显示全部楼层
我想把整个表格做成一个块,有好心人回真是太感激了
发表于 2004-10-6 17:43:00 | 显示全部楼层
那就做成块贝


你连表格都写出来了,做块应该不难拉
 楼主| 发表于 2004-10-7 08:53:00 | 显示全部楼层
还是不会呀?怎么用LISP编写才能全选中刚做的表格呀?


给个小例子好不好
发表于 2004-10-7 10:10:00 | 显示全部楼层
(setq ent (entlast))


...;你画线做表格部分程序代码


(setq ss (ssadd))


(while (setq ent (entnext))


         (ssadd ent ss)


)


;ss就是刚画的线


或者...


(setq ss (ssadd))


;画一条线


(ssadd (entlast) ss)


又画一条线


(ssadd (entlast) ss)


...如此继续,直到画完
 楼主| 发表于 2004-10-7 10:32:00 | 显示全部楼层
就以下面简单的画几条线为例,怎么修改呀???? (defun C:lll ()
(setq scal 1)
(setq pt1 (getpoint "\n请输入绘制点:"))
(setq pt2 (polar pt1 0 (* scal 20)))
(setq pt3 (polar pt1 0 (* scal 40)))
(setq pt4 (polar pt1 0 (* scal 60)))
(setq pt5 (polar pt1 0 (* scal 80)))
(setq ent (entlast))
(setq ss (ssadd)) (command "line" pt1 pt2 "")
(command "line" pt2 pt3 "")
(command "line" pt3 pt4 "")
(command "line" pt4 pt5 "") (while (setq ent (entnext)) (ssadd ent ss)
(command "wblock" "t" "ent" "") )
)
发表于 2004-10-7 11:29:00 | 显示全部楼层
直接作成块,插入块不就可以了吗。没必要用LISP了。
发表于 2004-10-7 11:36:00 | 显示全部楼层
You should read meflying's reply!The other solution from Lockmyeye is:
  1. (setq ss1 (ssget "x"))
  2. ....Draw your lines here
  3. (setq ss2 (ssget "x"))
  4. (command "select" ss2 "r" ss1 "")
  5. (setq ss (ssget "p"))
发表于 2004-10-7 12:37:00 | 显示全部楼层
我想问问楼主,你到底会不会LISP,从你的几个问题来看,你似乎对LISP是一点都不懂,如果是你不懂,你最好把你的要求说出来(重要提示:一定要详细,每次都有人不愿意说详细,让人无法下手),让别人直接给你写程序,否则,把你的程序改来改去也没有意义
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-30 12:20 , Processed in 0.180303 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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