夏生生 发表于 2021-9-1 15:51:29

发码养号之创建表格(非ACAD_TABLE)

本帖最后由 夏生生 于 2021-9-1 15:53 编辑

收币有风险,下载需谨慎,勿喷

本附件含3个函数
make-line创建直线
make-text创建单行文字
make-table创建表格

以下为示例:
(defun c:tt (/ pt blst h ttz tdqlst tlst dis lst)
(setqpt   (getpoint "\n拾取表格插入点:")
blst   '(5 10 5 4 4)
h      2
ttz    '(1.5 0.75 "standard")
tdqlst '(2 2 2 2 2)
tlst   '(("序号" "名称" "重量" "数量" "备注")
   ("" "" "(kg)" "(个)" "")
    )
dis    1
)
(setq lst (make-table blst h ttz tdqlst tlst pt dis))
(entdel (cadar lst))
(setqpt   (polar pt (* 0.5 pi) (* -2 h))
tdqlst '(2 1 2 3 2)
tlst   '(("1" "花裤衩" "0.350" "100" "没洗")
   ("2" "花背心" "0.250" "200" "")
   ("3" "人字拖" "0.800" "10" "缺底")
   ("4" "假发" "100" "6" "没洗")
    )
)
(setq lst (make-table blst h ttz tdqlst tlst pt dis))
(entdel (caar lst))
(foreach n (apply 'append (last lst))
    (ifn
      (vla-put-color (vlax-ename->vla-object n) 1)
    )
)
)




夏生生 发表于 2021-9-18 09:30:29

蓝盾设计 发表于 2021-9-17 21:15
谢谢指点,已改好,我增加了表格的图层,现在想设立红色文字的图层,正在研究你的表,如果方便的话请指点! ...

对于范例来讲,从foreach开始就是改相关图元特性的。假设你要改图层,把vla-put-color改为vla-put-layer就行。函数的返回值是(横线图元表 竖线图元表 文字图元表),图元都有了,你想怎么处理怎么处理。

夏生生 发表于 2021-9-17 16:02:50

本帖最后由 夏生生 于 2021-9-17 16:04 编辑

蓝盾设计 发表于 2021-9-17 14:23
群主:我想增加列怎么添加,原有5列,我想增加到八列
blst和tdqlst按需求填入,如(setq blst'(5 5 5 5 5 5 5 5)tdqlst'(2 1 1 1 1 1 1 1))

alexmai 发表于 2021-9-19 19:44:37

LPACMQ 发表于 2021-9-19 18:00
直接用TABLE,岂不是更香

Table 修改没有动态块来的方便,文字组成属性块后,配合复制递增,效率高

nijiea123 发表于 2021-9-6 12:57:08

看起来不错 就是没B了 :'(

蓝盾设计 发表于 2021-9-17 14:23:31

群主:我想增加列怎么添加,原有5列,我想增加到八列

蓝盾设计 发表于 2021-9-17 21:15:32

谢谢指点,已改好,我增加了表格的图层,现在想设立红色文字的图层,正在研究你的表,如果方便的话请指点!谢谢!

alexmai 发表于 2021-9-17 22:31:10

用动态块做表格,属性块做文字,修改更方便

蓝盾设计 发表于 2021-9-18 13:35:28

谢谢:这几天没有时间弄,稍微晚几天再来研究!我也是刚学这个,很多不熟悉!

LPACMQ 发表于 2021-9-19 18:00:53

alexmai 发表于 2021-9-17 22:31
用动态块做表格,属性块做文字,修改更方便

直接用TABLE,岂不是更香
页: [1] 2
查看完整版本: 发码养号之创建表格(非ACAD_TABLE)