乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 26|回复: 3

[编程交流] 数量LISP

[复制链接]

2

主题

6

帖子

4

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 16:08:44 | 显示全部楼层 |阅读模式
大家好,
 
我很喜欢这里的内容,我想我的问题可能是针对那些更高级的LISP人员的(我还是个新手,一直在努力让它工作)。
 
我一直在尝试把一个LISP放在一起,通过一个图形创建一个数量表,我附上了一个示例图形,我一直在使用它来工作,以及一个将作为输出的表格的示例。
 
基本上,目标是插入LISP,选择需要的线/层/块,并用总长度生成表格。
 
我希望有人在那里帮助我,或者至少为我指明正确的方向,
 
谢谢!
罗泰克
 
示例_数量LISP。图纸
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-5 16:41:16 | 显示全部楼层
欢迎
 
可能不是你所期望的,而是一些可以被大量使用的东西。
 
需要调整和一些额外的错误捕捉。
 
这应该适用于所有版本的AutoCAd,可能也适用于Briscad
 
  1. [color=#8b4513];;;1.1[/color]
  2. [b][color=BLACK]([/color][/b]defun c:cnt-q [b][color=FUCHSIA]([/color][/b]/ ss i en ed et bn la ll bl bf lf un bc bn tn bs
  3.                  mxb mxl rx lx sp s z xp yp ls lt[b][color=FUCHSIA])[/color][/b]
  4. [b][color=FUCHSIA]([/color][/b]setvar [color=#2f4f4f]"DIMZIN"[/color] 0[b][color=FUCHSIA])[/color][/b]
  5. [b][color=FUCHSIA]([/color][/b]while [b][color=NAVY]([/color][/b]not ss[b][color=NAVY])[/color][/b]
  6.         [b][color=NAVY]([/color][/b]princ [color=#2f4f4f]"\nSelect Entities To Count:   "[/color][b][color=NAVY])[/color][/b]
  7.         [b][color=NAVY]([/color][/b]setq ss [b][color=MAROON]([/color][/b]ssget [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]cons 0 [color=#2f4f4f]"*LINE,INSERT,ARC,"[/color][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  8. [b][color=FUCHSIA]([/color][/b]setq i 0[b][color=FUCHSIA])[/color][/b]
  9. [b][color=FUCHSIA]([/color][/b]while [b][color=NAVY]([/color][/b]setq en [b][color=MAROON]([/color][/b]ssname ss i[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  10.         [b][color=NAVY]([/color][/b]setq ed [b][color=MAROON]([/color][/b]entget en[b][color=MAROON])[/color][/b]
  11.               et [b][color=MAROON]([/color][/b]cdr [b][color=GREEN]([/color][/b]assoc 0 ed[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  12.               bn [b][color=MAROON]([/color][/b]cdr [b][color=GREEN]([/color][/b]assoc 2 ed[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  13.               la [b][color=MAROON]([/color][/b]cdr [b][color=GREEN]([/color][/b]assoc 8 ed[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  14.         [b][color=NAVY]([/color][/b]and [b][color=MAROON]([/color][/b]not [b][color=GREEN]([/color][/b]member la ll[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  15.              [b][color=MAROON]([/color][/b]setq ll [b][color=GREEN]([/color][/b]cons la ll[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  16.         [b][color=NAVY]([/color][/b]and bn
  17.              [b][color=MAROON]([/color][/b]not [b][color=GREEN]([/color][/b]member bn bl[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  18.              [b][color=MAROON]([/color][/b]setq bl [b][color=GREEN]([/color][/b]cons bn bl[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  19.         [b][color=NAVY]([/color][/b]setq i [b][color=MAROON]([/color][/b]1+ i[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  20. [b][color=FUCHSIA]([/color][/b]and bl [b][color=NAVY]([/color][/b]setq bl [b][color=MAROON]([/color][/b]acad_strlsort bl[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  21. [b][color=FUCHSIA]([/color][/b]foreach b bl
  22.   [b][color=NAVY]([/color][/b]setq bs [b][color=MAROON]([/color][/b]ssget [color=#2f4f4f]"X"[/color] [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]cons 0 [color=#2f4f4f]"INSERT"[/color][b][color=BLUE])[/color][/b][b][color=BLUE]([/color][/b]cons 2 b[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  23.   [b][color=NAVY]([/color][/b]setq i 0[b][color=NAVY])[/color][/b]
  24.   [b][color=NAVY]([/color][/b]while [b][color=MAROON]([/color][/b]setq en [b][color=GREEN]([/color][/b]ssname bs i[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  25.          [b][color=MAROON]([/color][/b]setq ed [b][color=GREEN]([/color][/b]entget en[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  26.          [b][color=MAROON]([/color][/b]cond [b][color=GREEN]([/color][/b][b][color=BLUE]([/color][/b]not [b][color=RED]([/color][/b]ssmemb en ss[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b]
  27.                [b][color=GREEN]([/color][/b][b][color=BLUE]([/color][/b]assoc b bf[b][color=BLUE])[/color][/b]
  28.                 [b][color=BLUE]([/color][/b]setq bf [b][color=RED]([/color][/b]subst [b][color=PURPLE]([/color][/b]cons b [b][color=TEAL]([/color][/b]1+ [b][color=OLIVE]([/color][/b]cdr [b][color=GRAY]([/color][/b]assoc b bf[b][color=GRAY])[/color][/b][b][color=OLIVE])[/color][/b][b][color=TEAL])[/color][/b][b][color=PURPLE])[/color][/b]
  29.                                 [b][color=PURPLE]([/color][/b]assoc b bf[b][color=PURPLE])[/color][/b] bf[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b]
  30.                [b][color=GREEN]([/color][/b]T
  31.                 [b][color=BLUE]([/color][/b]setq bf [b][color=RED]([/color][/b]cons [b][color=PURPLE]([/color][/b]cons b 1[b][color=PURPLE])[/color][/b] bf[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  32.          [b][color=MAROON]([/color][/b]setq i [b][color=GREEN]([/color][/b]1+ i[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  33. [b][color=FUCHSIA]([/color][/b]and ll [b][color=NAVY]([/color][/b]setq ll [b][color=MAROON]([/color][/b]acad_strlsort ll[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  34. [b][color=FUCHSIA]([/color][/b]foreach l ll
  35.   [b][color=NAVY]([/color][/b]setq lt 0[b][color=NAVY])[/color][/b]
  36.   [b][color=NAVY]([/color][/b]and [b][color=MAROON]([/color][/b]setq ls [b][color=GREEN]([/color][/b]ssget [color=#2f4f4f]"X"[/color] [b][color=BLUE]([/color][/b]list [b][color=RED]([/color][/b]cons 0 [color=#2f4f4f]"*LINE,ARC"[/color][b][color=RED])[/color][/b]
  37.                                  [b][color=RED]([/color][/b]cons 8 l[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  38.        [b][color=MAROON]([/color][/b]setq i 0[b][color=MAROON])[/color][/b]
  39.        [b][color=MAROON]([/color][/b]while [b][color=GREEN]([/color][/b]setq en [b][color=BLUE]([/color][/b]ssname ls i[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b]
  40.               [b][color=GREEN]([/color][/b]if [b][color=BLUE]([/color][/b]ssmemb en ss[b][color=BLUE])[/color][/b]
  41.                   [b][color=BLUE]([/color][/b]progn
  42.                     [b][color=RED]([/color][/b]command [color=#2f4f4f]"_.AREA"[/color] [color=#2f4f4f]"_E"[/color] en[b][color=RED])[/color][/b]
  43.                     [b][color=RED]([/color][/b]setq lt [b][color=PURPLE]([/color][/b]+ lt [b][color=TEAL]([/color][/b]getvar [color=#2f4f4f]"PERIMETER"[/color][b][color=TEAL])[/color][/b][b][color=PURPLE])[/color][/b][b][color=RED])[/color][/b][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b]
  44.               [b][color=GREEN]([/color][/b]setq i [b][color=BLUE]([/color][/b]1+ i[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  45.   [b][color=NAVY]([/color][/b]setq lf [b][color=MAROON]([/color][/b]cons [b][color=GREEN]([/color][/b]cons l [b][color=BLUE]([/color][/b]rtos lt 2 0[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] lf[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  46. [b][color=FUCHSIA]([/color][/b]setq un [b][color=NAVY]([/color][/b]rtos [b][color=MAROON]([/color][/b]* [b][color=GREEN]([/color][/b]getvar [color=#2f4f4f]"TDCREATE"[/color][b][color=GREEN])[/color][/b] 1e+6[b][color=MAROON])[/color][/b] 2 0[b][color=NAVY])[/color][/b]
  47.       bc 1
  48.       bn [b][color=NAVY]([/color][/b]strcat un [color=#2f4f4f]"-T"[/color] [b][color=MAROON]([/color][/b]itoa bc[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  49. [b][color=FUCHSIA]([/color][/b]while [b][color=NAVY]([/color][/b]tblsearch [color=#2f4f4f]"BLOCK"[/color] bn[b][color=NAVY])[/color][/b]
  50.        [b][color=NAVY]([/color][/b]setq bc [b][color=MAROON]([/color][/b]1+ bc[b][color=MAROON])[/color][/b]
  51.              bn [b][color=MAROON]([/color][/b]strcat un [color=#2f4f4f]"-T"[/color] [b][color=GREEN]([/color][/b]itoa bc[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  52. [b][color=FUCHSIA]([/color][/b]if bn
  53.    [b][color=NAVY]([/color][/b]setq mxb [b][color=MAROON]([/color][/b]apply 'max [b][color=GREEN]([/color][/b]mapcar 'strlen bl[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  54.    [b][color=NAVY]([/color][/b]setq mxb 0[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  55. [b][color=FUCHSIA]([/color][/b]if ll
  56.     [b][color=NAVY]([/color][/b]setq mxl [b][color=MAROON]([/color][/b]apply 'max [b][color=GREEN]([/color][/b]mapcar 'strlen ll[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  57.     [b][color=NAVY]([/color][/b]setq mxl 0[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  58. [b][color=FUCHSIA]([/color][/b]setq lx [b][color=NAVY]([/color][/b]- [b][color=MAROON]([/color][/b]+ [b][color=GREEN]([/color][/b]max mxl mxb[b][color=GREEN])[/color][/b] 6[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  59. [b][color=FUCHSIA]([/color][/b]setq rx [b][color=NAVY]([/color][/b]+ 16[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  60. [b][color=FUCHSIA]([/color][/b]if [b][color=NAVY]([/color][/b]and [b][color=MAROON]([/color][/b]not [b][color=GREEN]([/color][/b]tblsearch [color=#2f4f4f]"STYLE"[/color] [color=#2f4f4f]"MROMANS"[/color][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  61.          [b][color=MAROON]([/color][/b]findfile [color=#2f4f4f]"MROMANS.SHX"[/color][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  62.     [b][color=NAVY]([/color][/b]progn
  63.       [b][color=MAROON]([/color][/b]command [color=#2f4f4f]"_.STYLE"[/color] [color=#2f4f4f]"MROMANS"[/color] [color=#2f4f4f]"MROMANS"[/color][b][color=MAROON])[/color][/b]
  64.       [b][color=MAROON]([/color][/b]while [b][color=GREEN]([/color][/b]> [b][color=BLUE]([/color][/b]getvar [color=#2f4f4f]"CMDACTIVE"[/color][b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b]
  65.              [b][color=GREEN]([/color][/b]command [color=#2f4f4f]""[/color][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  66. [b][color=FUCHSIA]([/color][/b]entmake [b][color=NAVY]([/color][/b]list [b][color=MAROON]([/color][/b]cons 0 [color=#2f4f4f]"BLOCK"[/color][b][color=MAROON])[/color][/b][b][color=MAROON]([/color][/b]cons 2 bn[b][color=MAROON])[/color][/b][b][color=MAROON]([/color][/b]cons 8 [color=#2f4f4f]"0"[/color][b][color=MAROON])[/color][/b][b][color=MAROON]([/color][/b]list 10 0 0 0[b][color=MAROON])[/color][/b][b][color=MAROON]([/color][/b]cons 70 2[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  67. [b][color=FUCHSIA]([/color][/b]entmake [b][color=NAVY]([/color][/b]list [b][color=MAROON]([/color][/b]cons 0 [color=#2f4f4f]"LINE"[/color][b][color=MAROON])[/color][/b]
  68.                [b][color=MAROON]([/color][/b]cons 8 [color=#2f4f4f]"0"[/color][b][color=MAROON])[/color][/b]
  69.                [b][color=MAROON]([/color][/b]cons 62 7[b][color=MAROON])[/color][/b]
  70.                [b][color=MAROON]([/color][/b]list 10 0 0 0[b][color=MAROON])[/color][/b]
  71.                [b][color=MAROON]([/color][/b]list 11 0 2 0[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  72. [b][color=FUCHSIA]([/color][/b]entmake [b][color=NAVY]([/color][/b]list [b][color=MAROON]([/color][/b]cons 0 [color=#2f4f4f]"LINE"[/color][b][color=MAROON])[/color][/b]
  73.                [b][color=MAROON]([/color][/b]cons 8 [color=#2f4f4f]"0"[/color][b][color=MAROON])[/color][/b]
  74.                [b][color=MAROON]([/color][/b]cons 62 7[b][color=MAROON])[/color][/b]
  75.                [b][color=MAROON]([/color][/b]list 10 lx 0 0[b][color=MAROON])[/color][/b]
  76.                [b][color=MAROON]([/color][/b]list 11 rx 0 0[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  77. [b][color=FUCHSIA]([/color][/b]entmake [b][color=NAVY]([/color][/b]list [b][color=MAROON]([/color][/b]cons 0 [color=#2f4f4f]"LINE"[/color][b][color=MAROON])[/color][/b]
  78.                [b][color=MAROON]([/color][/b]cons 8 [color=#2f4f4f]"0"[/color][b][color=MAROON])[/color][/b]
  79.                [b][color=MAROON]([/color][/b]cons 62 7[b][color=MAROON])[/color][/b]
  80.                [b][color=MAROON]([/color][/b]list 10 lx 2 0[b][color=MAROON])[/color][/b]
  81.                [b][color=MAROON]([/color][/b]list 11 rx 2 0[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  82. [b][color=FUCHSIA]([/color][/b]entmake [b][color=NAVY]([/color][/b]list [b][color=MAROON]([/color][/b]cons 0 [color=#2f4f4f]"LINE"[/color][b][color=MAROON])[/color][/b]
  83.                [b][color=MAROON]([/color][/b]cons 8 [color=#2f4f4f]"0"[/color][b][color=MAROON])[/color][/b]
  84.                [b][color=MAROON]([/color][/b]cons 62 7[b][color=MAROON])[/color][/b]
  85.                [b][color=MAROON]([/color][/b]list 10 lx 0 0[b][color=MAROON])[/color][/b]
  86.                [b][color=MAROON]([/color][/b]list 11 lx 2 0[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  87. [b][color=FUCHSIA]([/color][/b]entmake [b][color=NAVY]([/color][/b]list [b][color=MAROON]([/color][/b]cons 0 [color=#2f4f4f]"LINE"[/color][b][color=MAROON])[/color][/b]
  88.                [b][color=MAROON]([/color][/b]cons 8 [color=#2f4f4f]"0"[/color][b][color=MAROON])[/color][/b]
  89.                [b][color=MAROON]([/color][/b]cons 62 7[b][color=MAROON])[/color][/b]
  90.                [b][color=MAROON]([/color][/b]list 10 rx 0 0[b][color=MAROON])[/color][/b]
  91.                [b][color=MAROON]([/color][/b]list 11 rx 2 0[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  92. [b][color=FUCHSIA]([/color][/b]entmake [b][color=NAVY]([/color][/b]list [b][color=MAROON]([/color][/b]cons 0 [color=#2f4f4f]"ATTDEF"[/color][b][color=MAROON])[/color][/b]
  93.                [b][color=MAROON]([/color][/b]cons 1 [color=#2f4f4f]""[/color][b][color=MAROON])[/color][/b]
  94.                [b][color=MAROON]([/color][/b]cons 2 [color=#2f4f4f]"DVAL"[/color][b][color=MAROON])[/color][/b]
  95.                [b][color=MAROON]([/color][/b]cons 3 [color=#2f4f4f]"VALUE DESCRIPTION"[/color][b][color=MAROON])[/color][/b]
  96.                [b][color=MAROON]([/color][/b]cons 7 [color=#2f4f4f]"MROMANS"[/color][b][color=MAROON])[/color][/b]
  97.                [b][color=MAROON]([/color][/b]cons 8 [color=#2f4f4f]"0"[/color][b][color=MAROON])[/color][/b]
  98.                [b][color=MAROON]([/color][/b]list 10 -3 1 1[b][color=MAROON])[/color][/b]
  99.                [b][color=MAROON]([/color][/b]list 11 -3 1 1[b][color=MAROON])[/color][/b]
  100.                [b][color=MAROON]([/color][/b]cons 40 1.0[b][color=MAROON])[/color][/b]
  101.                [b][color=MAROON]([/color][/b]cons 62 2[b][color=MAROON])[/color][/b]
  102.                [b][color=MAROON]([/color][/b]cons 70 0[b][color=MAROON])[/color][/b]
  103.                [b][color=MAROON]([/color][/b]cons 72 2[b][color=MAROON])[/color][/b]
  104.                [b][color=MAROON]([/color][/b]cons 74 2[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  105. [b][color=FUCHSIA]([/color][/b]entmake [b][color=NAVY]([/color][/b]list [b][color=MAROON]([/color][/b]cons 0 [color=#2f4f4f]"ATTDEF"[/color][b][color=MAROON])[/color][/b]
  106.                [b][color=MAROON]([/color][/b]cons 1 [color=#2f4f4f]""[/color][b][color=MAROON])[/color][/b]
  107.                [b][color=MAROON]([/color][/b]cons 2 [color=#2f4f4f]"TVAL"[/color][b][color=MAROON])[/color][/b]
  108.                [b][color=MAROON]([/color][/b]cons 3 [color=#2f4f4f]"TOTAL VALUE"[/color][b][color=MAROON])[/color][/b]
  109.                [b][color=MAROON]([/color][/b]cons 7 [color=#2f4f4f]"MROMANS"[/color][b][color=MAROON])[/color][/b]
  110.                [b][color=MAROON]([/color][/b]cons 8 [color=#2f4f4f]"0"[/color][b][color=MAROON])[/color][/b]
  111.                [b][color=MAROON]([/color][/b]list 10 3 1 1[b][color=MAROON])[/color][/b]
  112.                [b][color=MAROON]([/color][/b]list 11 3 1 1[b][color=MAROON])[/color][/b]
  113.                [b][color=MAROON]([/color][/b]cons 40 1.0[b][color=MAROON])[/color][/b]
  114.                [b][color=MAROON]([/color][/b]cons 62 2[b][color=MAROON])[/color][/b]
  115.                [b][color=MAROON]([/color][/b]cons 70 0[b][color=MAROON])[/color][/b]
  116.                [b][color=MAROON]([/color][/b]cons 72 0[b][color=MAROON])[/color][/b]
  117.                [b][color=MAROON]([/color][/b]cons 74 2[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  118. [b][color=FUCHSIA]([/color][/b]setq tn [b][color=NAVY]([/color][/b]entmake [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]cons 0 [color=#2f4f4f]"ENDBLK"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 8 [color=#2f4f4f]"0"[/color][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  119. [b][color=FUCHSIA]([/color][/b]initget 1[b][color=FUCHSIA])[/color][/b]
  120. [b][color=FUCHSIA]([/color][/b]setq sp [b][color=NAVY]([/color][/b]getpoint [color=#2f4f4f]"\nTable Starting Point:   "[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  121. [b][color=FUCHSIA]([/color][/b]initget 6[b][color=FUCHSIA])[/color][/b]
  122. [b][color=FUCHSIA]([/color][/b]setq s [b][color=NAVY]([/color][/b]getdist [b][color=MAROON]([/color][/b]strcat [color=#2f4f4f]"\nText size <"[/color] [b][color=GREEN]([/color][/b]rtos [b][color=BLUE]([/color][/b]getvar [color=#2f4f4f]"TEXTSIZE"[/color][b][color=BLUE])[/color][/b] 2 2[b][color=GREEN])[/color][/b] [color=#2f4f4f]">:   "[/color][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  123. [b][color=FUCHSIA]([/color][/b]or s [b][color=NAVY]([/color][/b]setq s [b][color=MAROON]([/color][/b]getvar [color=#2f4f4f]"TEXTSIZE"[/color][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  124. [b][color=FUCHSIA]([/color][/b]setq s [b][color=NAVY]([/color][/b]* s 0.5[b][color=NAVY])[/color][/b]
  125.       z [b][color=NAVY]([/color][/b]* s 2[b][color=NAVY])[/color][/b]
  126.       xp [b][color=NAVY]([/color][/b]car sp[b][color=NAVY])[/color][/b]
  127.       yp [b][color=NAVY]([/color][/b]cadr sp[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  128. [b][color=FUCHSIA]([/color][/b]setvar [color=#2f4f4f]"ATTREQ"[/color] 1[b][color=FUCHSIA])[/color][/b]
  129. [color=#8b4513];;;BLOCKS[/color]
  130. [b][color=FUCHSIA]([/color][/b]command [color=#2f4f4f]"_.INSERT"[/color] tn [b][color=NAVY]([/color][/b]list xp yp 0[b][color=NAVY])[/color][/b] z z 0 [color=#2f4f4f]"BLOCKS"[/color] [color=#2f4f4f]"QTY"[/color][b][color=FUCHSIA])[/color][/b]
  131. [b][color=FUCHSIA]([/color][/b]setq yp [b][color=NAVY]([/color][/b]- yp z z[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  132. [b][color=FUCHSIA]([/color][/b]foreach v [b][color=NAVY]([/color][/b]reverse bf[b][color=NAVY])[/color][/b]
  133.   [b][color=NAVY]([/color][/b]command [color=#2f4f4f]"_.INSERT"[/color] tn [b][color=MAROON]([/color][/b]list xp yp 0[b][color=MAROON])[/color][/b] z z 0 [b][color=MAROON]([/color][/b]car v[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]cdr v[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  134.   [b][color=NAVY]([/color][/b]setq yp [b][color=MAROON]([/color][/b]- yp z z[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  135. [b][color=FUCHSIA]([/color][/b]command [color=#2f4f4f]"_.INSERT"[/color] tn [b][color=NAVY]([/color][/b]list xp yp 0[b][color=NAVY])[/color][/b] z z 0 [color=#2f4f4f]""[/color] [color=#2f4f4f]""[/color][b][color=FUCHSIA])[/color][/b]
  136. [b][color=FUCHSIA]([/color][/b]setq yp [b][color=NAVY]([/color][/b]- yp z z[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  137. [color=#8b4513];;;LAYERS[/color]
  138. [b][color=FUCHSIA]([/color][/b]command [color=#2f4f4f]"_.INSERT"[/color] tn [b][color=NAVY]([/color][/b]list xp yp 0[b][color=NAVY])[/color][/b] z z 0 [color=#2f4f4f]"LAYERS"[/color] [color=#2f4f4f]"LENGTH"[/color][b][color=FUCHSIA])[/color][/b]
  139. [b][color=FUCHSIA]([/color][/b]setq yp [b][color=NAVY]([/color][/b]- yp z z[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  140. [b][color=FUCHSIA]([/color][/b]foreach v [b][color=NAVY]([/color][/b]reverse lf[b][color=NAVY])[/color][/b]
  141.   [b][color=NAVY]([/color][/b]command [color=#2f4f4f]"_.INSERT"[/color] tn [b][color=MAROON]([/color][/b]list xp yp 0[b][color=MAROON])[/color][/b] z z 0 [b][color=MAROON]([/color][/b]car v[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]cdr v[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  142.   [b][color=NAVY]([/color][/b]setq yp [b][color=MAROON]([/color][/b]- yp z z[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  143. [b][color=FUCHSIA]([/color][/b]command [color=#2f4f4f]"_.INSERT"[/color] tn [b][color=NAVY]([/color][/b]list xp yp 0[b][color=NAVY])[/color][/b] z z 0 [color=#2f4f4f]""[/color] [color=#2f4f4f]""[/color][b][color=FUCHSIA])[/color][/b]
  144. [b][color=FUCHSIA]([/color][/b]setq yp [b][color=NAVY]([/color][/b]- yp z z[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  145. [b][color=FUCHSIA]([/color][/b]prin1[b][color=FUCHSIA])[/color][/b][b][color=BLACK])[/color][/b]

 
 
-大卫
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 17:06:32 | 显示全部楼层
这对于表格创建示例可能也很有用,而不是直线等。如果你回顾几篇文章,我会将行添加到现有表格中,这样你就可以执行拾取层添加行并继续拾取层,以弧、块、线等作为列。
 
一天有25个小时,不是吗?
 
  1. ; start in model space
  2. ; example of creating a table
  3. ; By Alan H
  4. (defun c:sct (/ colwidth numcolumns numrows objtable rowheight sp mspace )
  5. (vl-load-com)
  6. (setq sp (vlax-3d-point '(0 0 0)))
  7. (setq doc  (vla-get-activedocument (vlax-get-acad-object) ))
  8. (setq mspace (vla-get-modelspace doc))
  9. (setq numrows 5)
  10. (setq numcolumns 5)
  11. (setq rowheight 0.5)
  12. (setq colwidth 30)
  13. (setq objtable (vla-addtable mspace sp numrows numcolumns rowheight colwidth))
  14. ; RetVal = object.AddTable(InsertionPoint, NumRows, NumColumns, RowHeight, ColWidth)
  15. (vla-settext objtable 0 0 "TABLE title")
  16. (vla-settext objtable 1 0 "ITEM")
  17. (vla-settext objtable 1 1 "Straights")
  18. (vla-settext objtable 1 2 "Arcs")
  19. (vla-settext objtable 1 3 "Laterals")
  20. (vla-settext objtable 1 4 "Connections")
  21. (vla-settext objtable 2 0 "1")
  22. (vla-settext objtable 3 0 "2")
  23. (vla-settext objtable 4 0 "3")
  24. (vla-setcolumnwidth objtable 0 15) ; 0 is first column
  25. (vla-setcolumnwidth objtable 1 30)
  26. (vla-setcolumnwidth objtable 2 60)
  27. (command "_zoom" "e")
  28. (princ)
  29. )
  30. (C:sct)
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 17:22:33 | 显示全部楼层
首先请注意,水阀块位于第0层,因此没有帮助
 
  1. ; make a table here if required else pick existing
  2. ; defun add row totable here
  3. (defun c:qty ( / lay totline bcount)
  4. (while
  5. (Setq lay (cdr (assoc 8 (entget (car (entsel "Pick object for layer <Cr> to exit "))))))
  6. (setq totline 0.0
  7. bcount 0
  8. ss nil)
  9. (princ "\nPick objects")
  10. (setq ss (ssget (list (cons 0 "*LINE,INSERT,ARC,")(cons 8 lay))))
  11. (repeat (setq x (sslength ss))
  12. (setq obj  (vlax-ename->vla-object (ssname ss (setq x (- x 1)))))
  13. (setq objname (vla-get-ObjectName obj))
  14. (cond
  15. ((or (= objname "AcDbPolyline" )(= objname "AcDbLine" )) (setq totline (+ (vla-get-length obj) totline)))
  16. ((= objname "AcDbBlockReference") (setq bcount (+ 1 bcount))) ; need a split blocks here
  17. )
  18. )
  19. (alert (strcat "length" (rtos totline 2 0) " or \nCount = " (rtos bcount 2 0)))
  20. ;do the add rows to table here note can seperate the valves from lengths and put in seperate column
  21. (if (> totline 0)(setq coll 1)) ; this is column number for lines
  22. (if (> bcount 0)(setq colb 2)) ; this column number for blocks
  23. )
  24. )
  25. (C:qty)
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-13 20:02 , Processed in 0.491278 second(s), 71 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表