土木在线论坛 \ 建筑设计 \ CAD下载及教程 \ 功能:绘制表格

功能:绘制表格

发布于:2010-11-05 10:04:05 来自:建筑设计/CAD下载及教程 [复制转发]
[code](setvar "CMDECHO" 0)
;;;=================================================================*
;;;功能:绘制表格 *
;;;日期:zml84 于 2009-07-20 *
(defun c:bg ()
(princ "\n绘制表格")
(if (and (setq TMP
(ZL-INPUTBOX
"绘制表格"
'(("editbox" "    行数:" "5" "20")
("editbox" "    列数:" "3" "20")
("editbox" "  每行高度:" "6.0" "20")
("editbox" "  每列宽度:" "15.0" "20")
("editbox" "表中文字字高:" "2.5" "20")
)
)
)
)
(progn
(setq i (read (nth 0 TMP))
j (read (nth 1 TMP))
h (read (nth 2 TMP))
w (read (nth 3 TMP))
size (read (nth 4 TMP))
)

(setq ss1 (bg-draw '(0 0) i j h w))
(setq ss2 (bg-text '(0 0) i j h w size))
(command "_.move" ss1 ss2 "" "non" '(0 0))
)
)
(princ)
)

;;;=================================================================*
;;;参数:pt-----左下角基点 *
;;; i -----行数 *
;;; j -----列数 *
;;; h -----行高 *
;;; w -----列宽 *
;;;测试:(bg-draw '(0 0) 3 2 10 25)
(defun bg-draw (pt i j h w / hh ww ss)
(setq ss (ssadd))

(setq hh (* i h) ;_总高度
ww (* j w) ;_总宽度
)
;;绘制横线
(command "_.pline" "non" pt "non" (polar pt 0 ww) "")
(setq ss (ssadd (entlast) ss))
(repeat i
(command "_.copy"
(entlast)
""
"non"
'(0 0)
"non"
(list 0 h)
)
(setq ss (ssadd (entlast) ss))
)
;;绘制竖线
(command "_.pline"
"non"
pt
"non"
(polar pt (* 0.5 pi) hh)
""
)
(setq ss (ssadd (entlast) ss))
(repeat j
(command "_.copy"
(entlast)
""
"non"
'(0 0)
"non"
(list w 0)
)
(setq ss (ssadd (entlast) ss))
)

;;返回
ss
)

;;;写表格内文字
;;;测试:(bg-text '(0 0) 3 2 10 25)
(defun bg-text (pt i j h w size / pt0 pti ss)
(setq ss (ssadd))
(setq pt0 (polar pt 0 (* 0.5 w))
pt0 (polar pt0 (* 0.5 pi) (* 0.5 h))
)
(repeat i
(setq pti pt0)
(repeat j
(command "_.text" "j" "mc" "non" pti size 0 "****")
(setq ss (ssadd (entlast) ss))
(setq pti (polar pti 0 w))
)
(setq pt0 (polar pt0 (* 0.5 pi) h)
)
)

;;返回
ss
)[/code]

全部回复(10 )

只看楼主 我来说两句
  • panba
    panba 沙发
    学习了。谢谢了。
    2010-12-03 09:04:03

    回复 举报
    赞同0
  • liuyun_110
    liuyun_110 板凳
    这一串表示的是什么意思呢?
    2010-12-02 19:19:02

    回复 举报
    赞同0
加载更多
这个家伙什么也没有留下。。。

CAD下载及教程

返回版块

52.08 万条内容 · 657 人订阅

猜你喜欢

阅读下一篇

AutoCAD字体设置与选择详解

很多人提到制图用的字体就会想到仿宋体,或者hztxt.shx字体,但是有多少人知道如何判断字体是否正确或者使用合适的字体呢,看到很多人的图纸里面很乱的字体样式列表,打开图纸时候弹出的找不到形文件、选择字体的对话框的时候,大家是不是很头疼呢?想必99%的朋友都遇到过这样的问题,下面我把我多年的这方面总结和大家分享一下。 1.解决打开图纸提示找不到形文件: 很多人认为这个是没有字体文件,其实不完全对,弹出这个对话框主要原因是文件里面使用了形文件,而你的cad目录里面没有这个形文件导致,一般地形图或规划图使用了其他的工具箱或者插件的,加载了形文件,所以导致其他部门的人打开这样的文件就会提示找不到形文件。形文件和字体文件的扩展名都是shx,但是形文件用于线形。如果没有这个形文件会导致个别的线形显示不正确。(线形的定制,感兴趣的朋友可以加我,我定制的线形文件和模板文件主要特点是标注的全局比例=图框的缩放比例=线形比例LTS)所以一定记住缺少的形文件的名称,如何想办法找到(和制图的人要或者到网上找),我现在可以列出目前我遇到过的常用的形文件列表,供大家参考。 2.找不到字体文件对话框 打开文件看一看,大家会不会很吃惊? 这么多的字体样式,大家什么感想呢?有些是设计管理上面没有明确字体,或者即使单位里面规定了字体也没有监督的办法,还有很多人不知道如何管理字体,甚至是懒得管理字体,只满足于图纸的表面,其实在图纸后面还有很多软件的设置是需要我们做设计做制图的人深入学习的,很多大学国企的高学历人才也未必重视和熟悉这些很科学很规范的方法。这里先不多说了。字体文件找不到,一般出现这个问题是很多人的字体设置不相同,不同的字体样式使用了不同的字体。解决的办法有两个: a.找到缺少的字体。但是字体太多会给你的图纸的字体管理很麻烦,也没有必要使用太多的字体,会导致你的图纸的字体很乱(除非你只是想打开别人的图纸看看而已,自己画的图纸本人始终建议尽量少2种足够,并且单位要统一下来)。 b.使用其他的字体替换这个字体的显示效果方法有两种:一种是临时替换,就是编辑acad.fmp文件,目的是解决字体显示问题;另外一种是打开文件把字体的设置改成电脑里面有的正确的字体。CAD的字体和系统的TTF字体不一样,windows或Word使用的字体一般即使在没有字体的情况下也不会出现大的问题,SHX格式的字体则不一样,不同的SHX字体,可能支持的字体数量不同,导致无法正确显示文字内容。所以使用哪个字体可以代替你所没有的字体呢,很多人都会想到hztxt.shx,但是很多人却不知道自己电脑里面的字体是不是真正的hztxt.shx,为什么我要强调这个问题呢,主要是有很多人总是为了在字体样式列表里面方便找到自己所喜欢的字体,把字体文件名字改掉了,这样很不好,主要是别人如果打开这个图相当于增加一种新的字体,比如hztxt.shx,在列表里面不是第一个,不便于找到,很多人就把hztxt.shx改名为!hztxt.shx或者111.shx等,这样无疑是创建了别人所不知道、世界上也从来没有的一个新的字体名称。后果可想而知。建议还是从字体的数量精简一下吧,我一般fonts目录下只保留4-6个字体足够。大家也许会问你只有这么几个字体能行吗?这个问题很好,我就是要告诉大家其实找到一个比较好的字体不难的,我这里主要推荐英文使用Tssdeng.shx中文使用hztxt.shx,至于为什么不使用默认的字体,下面就是答案: Tssdeng.shx字体简介:大小18.6 KB,类型:单线英文字体,支持362个文字,是土建行业设计软件探索者所带; hztxt.shx字体简介:大小1.1MB,类型:单线中文字体,支持7027个文字。主要特点: a.中文字体使用hztxt.shx时候,中英文的字体高度一致,不会出现英文和中文字体大小不一样的难看效果;下面是我做的对比 从这里可以看出几个问题: 1.Tssdeng.shx+hztxt.shx字体的大小比较合适,矩形边框的高度3.5的情况下,正好位于边框内部;相反romans+hztxta虽然中英文字高比较匹配,但是文字比较大,已经超出边框了。 2.无论是中文的hztxta还是英文的Romans的高度都已经超出边框了,类似这样的字体很多,如:txt、romanc、simplex等很多,而且都没有下面我说的角标功能。 3.很多单位使用了romans+hztxta,导致文字很大,在1:100的图纸里面标注400毫米的尺寸真是费劲啊。 b.支持上标、下标功能,这个是目前比较重要的问题,到目前为止CAD的文字编辑功能还没有角标的功能,而恰恰这个功能在制图里面很常用,很多人就把角标分开写,难道这样算是科学的方法?下面让大家看看角标功能显示效果: 也许会有人会说不太好看,但是和分开写角标的方法比,这个功能到底是好是坏自己琢磨吧! c.支持钢筋符号,很多人不知道什么是钢筋符号,这个功能主要是土建做混凝土设计时候用到的,钢筋是有等级的,而且每一个等级在图纸上面的表示方法是不一样的,有兴趣的朋友可以看看下面我做总结的字体输入。 还有很多人会问:为什么是两个字体呢,一般不就是hztxt.shx吗? CAD的字体设置是不一样的,中英文是不同的字体,要想在一行文字里面中英文都能正常显示必须在字体样式设置里面指定正确的字体,否则,只选择英文字体,而不选择中文字体,则不会显示中文文字,反之亦然。今天我主要讲的是字体的外形大小和字体支持的字体数量问题,希望大家都能正确、科学、合理地利用CAD软件,不仅成为一个合格的工程师,而且要成为软件高手。电脑问题解决专家。

回帖成功

经验值 +10