明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 684|回复: 1

[讨论] lisp关于表格的问题

[复制链接]
发表于 2015-11-4 23:52 | 显示全部楼层 |阅读模式
新手学着lisp画表格,如果画不规则的表格怎么弄?
如图
如果往表格里面自动写内容,是不是要计算每个单独格的中心坐标点,有不有更简单的方法,,求教··

  1. (defun c:hbg ()
  2.   (setvar "cmdecho" 0);_关闭命令提示
  3.   (princ "\n框选表格位置")
  4.   (command "rectang" pause pause)
  5.   (setq name1 (entlast))
  6.   (setq pt1 (cdr(nth 14 (entget name1))));表格起点
  7.   (setq pt2 (cdr(nth 18 (entget name1))))
  8.   (setq pt3 (cdr(nth 22 (entget name1))))
  9.   (setq pt4 (cdr(nth 26 (entget name1))))
  10.   (SETQ L (distance pt1 pt2))
  11.   (SETQ b (distance pt1 pt4))
  12.   (setq pt1a (cdr(nth 14 (entget name1))))
  13.   (setq pt2a (cdr(nth 18 (entget name1))))
  14.   (setq m (getint "\n输入列数量"))
  15.   (setq n (getint "\n输入行数量"))
  16.   (setq osmode_bak (getvar "osmode"));_记录捕捉
  17.   (setvar "osmode" 0);_关闭捕捉
  18.   
  19. ;======================画列===============================
  20.   (setq i1 2)
  21.    (while (<= i1 m)
  22.     (setq pt2 (polar pt2 pi (/ L m)))
  23.     (setq pt3 (polar pt3 pi (/ L m)))
  24.     (command "line" pt2 pt3 "")
  25.     (setq i1 (1+ i1))
  26.   )
  27. ;=========================画行=============================
  28.   (setq i2 2)
  29.   (while (<= i2 n)
  30.     (setq pt1a (polar pt1a (/ pi -2.0) (/ b n)))
  31.     (setq pt2a (polar pt2a (/ pi -2.0) (/ b n)))
  32.     (command "line" pt1a pt2a "")
  33.     (setq i2 (1+ i2))
  34.   )
  35. ;=========================================================
  36.   (setvar "cmdecho" 1);_打开命令提示
  37.   (setvar "osmode" osmode_bak);_还原捕捉
  38.   (princ)
  39. )



该贴已经同步到 取个长点勒名字的微博

本帖子中包含更多资源

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

x
发表于 2015-11-5 17:03 | 显示全部楼层
AutoCAD有表格实体,直接用最好
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-2 20:52 , Processed in 0.427165 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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