找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 5513|回复: 36

[LISP函数]:自动生成表格的lisp(好东西与大家共享)

[复制链接]
发表于 2004-7-12 20:39:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
  1. (defun C:bg(/ rows colu rows1 rows2 ly lx i ii propt colu1 co coo
  2.                 dx dy dxx dyy str with ptp1 ptp2 ptp3 ptp4 os)
  3.    (setvar "CMDECHO" 0)
  4.    (setq lay (getvar "clayer"))
  5.    (setq os (getvar "OSMODE"))
  6.    (setvar "OSMODE" 0)
  7.    (command "color" "bylayer")
  8.    (command "layer" "m" "bg" "c" "y" "bg" "")
  9.    (initget 7)
  10.    (setq rows (getint "\n表格总行数: "))
  11.    (initget 7)
  12.    (setq colu (getint "\n表格总列数: "))
  13.    (initget 7)
  14.    (setq rows1 (getreal "\n表格第一行行距: "))
  15.    (initget 7)
  16.    (setq rows2 (getreal "\n表格其它行行距: "))
  17.    (setq ly (+ rows1 (* rows2 (1- rows))))
  18.    (setq lx 0)
  19.    (setq i 1)
  20.      (repeat colu
  21.         (initget 7)
  22.         (setq ii (itoa i))
  23.         (setq propt (strcat "表格第" ii "列列距: "))
  24.         (setq colu1 (getreal propt))
  25.         (setq lx (+ lx colu1))
  26.            (if (= 1 i) (setq co (list colu1))
  27.               (progn
  28.                  (setq coo (list colu1))
  29.                  (setq co (append co  coo))
  30.               )
  31.            )
  32.         (setq i (1+ i))
  33.      )
  34.    (setq pt1 (getpoint "\n表格左上角点: "))
  35.    (setq ptp1 pt1)
  36.       (setq dy (cadr pt1))
  37.       (setq dx (car pt1))
  38.       (setq dxx (+ dx lx))
  39.       (setq pt2 (list dxx dy))
  40.       (command "line" pt1 pt2 "")
  41.       (setq dy (- dy rows1))
  42.       (setq pt1 (list dx dy))
  43.       (setq pt2 (list dxx dy))
  44.       (command "line" pt1 pt2 "")
  45.    (repeat (1- rows)
  46.        (setq dy (- dy rows2))
  47.        (setq pt1 (list dx dy))
  48.        (setq pt2 (list dxx dy))
  49.        (command "line" pt1 pt2 "")   
  50.    )

  51.        (setq dyy (+ dy ly))
  52.        (setq pt2 (list dx dyy))
  53.        (command "line" pt1 pt2 "")
  54.    (setq i 0)
  55.    (repeat colu
  56.        (setq c (nth i co))
  57.        (setq dx (+ dx c))
  58.        (setq pt1 (list dx dy))
  59.        (setq pt2 (list dx dyy))
  60.        (command "line" pt1 pt2 "")
  61.        (setq i (1+ i))
  62.    )
  63.    (initget "Yes No")     
  64.    (setq str (getkword "\n表格边框是否加粗: 不加粗:No / <加粗:Yes> "))
  65.    (if (or (= str nil) (= (strcase str) "YES"))
  66.       (progn
  67.          (initget 6)
  68.          (setq with (getreal "\n表格边框线宽<0.6>: "))
  69.          (if (= with nil) (setq with 0.6))
  70.          (setq dy (cadr ptp1))
  71.          (setq dx (car ptp1))
  72.          (setq dxx (+ dx lx))
  73.          (setq ptp2 (list dxx dy))
  74.          (setq dyy (- dy ly))
  75.          (setq ptp3 (list dxx dyy))
  76.          (setq ptp4 (list dx dyy))
  77.          (command "PLINE" ptp1 "w" with with ptp2 ptp3 ptp4 "c")
  78.       )
  79.    )
  80.    (setvar "OSMODE" os)
  81.    (command "layer" "s" lay "")
  82.    (princ)(princ)
  83. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-7-15 12:53:40 | 显示全部楼层
没有效果图上传啊。。可以看看效果 就好了咯。。。这样看不出什么名堂来。。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-7-21 12:58:29 | 显示全部楼层
你的程序只能生成表格,跟画出来没什么区别,没有多大用处,应该考虑做一个实用点的工具,比如统计材料等。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-7-22 07:24:59 | 显示全部楼层
是单一了点,但对常画表的朋友是不错的,现在AUTOCAD2005 有一个命令是生成表格的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-7-23 15:42:59 | 显示全部楼层
我觉得画简表倒是可以的,应该加工一下,复杂的表格就不行了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-7-27 00:10:16 | 显示全部楼层
做的不错,比我那个功能强多了~`,经常做表就需要
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-7-30 13:46:13 | 显示全部楼层
是单一了点
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-8-3 09:53:07 | 显示全部楼层
怎么用??????
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-8-26 15:14:15 | 显示全部楼层
实际上2005里面的表格命令已经很好用了,可以指定行列属性和字高.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-8-31 09:14:33 | 显示全部楼层
源程序,支持你,虽然功能我用不着,2005中就有,至少也提供了一种方法
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-8-31 10:14:12 | 显示全部楼层
谢谢楼主,不错的程序!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-9-5 22:31:28 | 显示全部楼层
升级到2005有表格功能,功能要强大些。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-9-15 22:32:40 | 显示全部楼层
制作钢筋表可以用的,谢谢了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-6-4 16:33:00 | 显示全部楼层
谢谢楼主,我这段时间也打算编一个表格程序,只是我的想法是:在DCL中先做好表格内的内容,并且设置好表格的横列方向的大小,最后连表带字一齐生成.
谢谢你的源码,我又多一个参考.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-6-9 22:09:24 | 显示全部楼层
没有效果图上传啊。。可以看看效果
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-4-19 12:46 , Processed in 0.343346 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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