乐筑天下

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

[编程交流] te的属性值组合

[复制链接]

3

主题

15

帖子

15

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-5 19:44:28 | 显示全部楼层 |阅读模式
你好
 
你好
 
这是我在这个很棒的论坛上的第一篇帖子。我是拉贾
请帮助我使用lisp程序。那个
要求用户选择图形中的各种块
将属性文字放置在文字和唯一编号的值组合上。
使用att文本和序列号生成属性值。
att块的值应包含这些块
注:标签名称应具有标签ID,该值为(例如:L00-350-01-EPC-6QE-01(在每个块的值更改结束时)
 
为了便于参考,我附上了属性的样本文件
 
请帮帮我。每天我都要在这项工作上花很多时间。带数字的文本。图纸
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 19:51:24 | 显示全部楼层
一般来说,您试图做的是可行的,但我们需要更多关于程序过程和结果的详细信息,以便能够编写有用的内容。
上传的两张图纸内容是一样的,不是吗?
我看不出有什么不同,除非你有重要的事情忘了提,否则你可能会错误地上传了两份!
回复

使用道具 举报

3

主题

15

帖子

15

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-5 19:55:23 | 显示全部楼层
thks回复,抱歉文件上传两次。。。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 20:01:45 | 显示全部楼层
然后。。。
回复

使用道具 举报

3

主题

15

帖子

15

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-5 20:06:02 | 显示全部楼层
我需要在属性标记的块语法中填充属性值,在该唯一值中为“ID”,以更新每个属性块,就像每个块都应该是序列号一样。例如:L00-350-01-EPC-6QE-01在此(值的末尾更改每个块),这意味着下一个块一旦要拾取,我需要获得序列号L00-350-01-EPC-6QE-02
回复

使用道具 举报

3

主题

15

帖子

15

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-5 20:08:21 | 显示全部楼层
具有自动编号属性的字符串
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 20:12:29 | 显示全部楼层
因此,您希望程序要求用户指定第一个增量编号,然后在选择一组属性块后,程序应该将ID标记名称中的当前文本字符串与新的增量编号相结合?
 
这就是你想要的吗?
回复

使用道具 举报

3

主题

15

帖子

15

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-5 20:18:07 | 显示全部楼层
是的,你的权利
回复

使用道具 举报

3

主题

15

帖子

15

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-5 20:23:34 | 显示全部楼层
我有递增的数字,但在这方面我还需要字符串。fYRLisp程序
 
(定义c:UPNUMBER(/标记名addno ss en an ad ch)
 
(setq标记名“ID”)
 
(或def\U addno(setq def\U addno 1))
(initget 6)
(setq addno(getint(strcat“\n起始编号
 
(itoa def_addno)
">:   "
)
)
)
(或addno(setq addno def\u addno))
 
(和(setq ss(ssget’((0。“插入”)(66.1)))
(while(setq en(ssname ss 0))
(setq an(entnext en)
ad(entget an)
ch无
)
(while(和(=“ATTRIB”(cdr(assoc 0 ad)))
(非ch)
)
(和(=(strcase标记名)
(strcase(cdr(assoc 2 ad)))
)
(setq通道T)
(entmod(subst(cons 1(itoa addno))
(公元1年)
广告
)
)
(setq addno(1+addno))
)
(setq an(entnext an)
ad(entget an)
)
)
(如果为ch
(entupd en)
(程序
(重新绘制en 3)
(警报“此块中未找到ID标签”)
(重新绘制en 1)
)
)
(ssdel en ss)
)
)
(setq def\U addno addno)
(prin1)
)
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 20:27:30 | 显示全部楼层

 
  1. (defun c:Test (/ v lst n s ss)
  2. ;;------------------------------------;;
  3. ;;        Tharwat 03.06.2015                ;;
  4. ;; Increment with a number entered        ;;
  5. ;; by a user if the tag string is ID        ;;
  6. ;;------------------------------------;;
  7. (if
  8.    (and (setq v (getstring
  9.                   "\nSpecify String with integer number at the end :"
  10.                 )
  11.         )
  12.         (if (setq lst (_parseInt v))
  13.           (setq n (read (car lst))
  14.                 s (cadr lst)
  15.           )
  16.           (progn
  17.             (alert
  18.               "\nEntered value must have integer number at the end !"
  19.             )
  20.             nil
  21.           )
  22.         )
  23.         (princ "\nSelect Attributed Block that have ID tag name :")
  24.         (setq ss (ssget "_:L" '((0 . "INSERT") (66 . 1))))
  25.    )
  26.     ((lambda (i / sn)
  27.        (while (setq sn (ssname ss (setq i (1+ i))))
  28.          (mapcar
  29.            '(lambda (a)
  30.               (if (eq (strcase (vla-get-tagstring a)) "ID")
  31.                 (progn
  32.                   (vla-put-textstring
  33.                     a
  34.                     (strcat s
  35.                             (if (< n 10)
  36.                               (strcat "0" (itoa n))
  37.                               (itoa n)
  38.                             )
  39.                     )
  40.                   )
  41.                   (setq n (1+ n))
  42.                 )
  43.               )
  44.             )
  45.            (vlax-invoke (vlax-ename->vla-object sn) 'getattributes)
  46.          )
  47.        )
  48.      )
  49.       -1
  50.     )
  51. )
  52. (princ)
  53. )(vl-load-com)
  54. (defun _parseInt (v / l)
  55. (setq v (vl-list->string (reverse (vl-string->list v))))
  56. (while (and v (numberp (read (setq n (substr v 1 1)))))
  57.    (setq l (cons n l)
  58.          v (substr v 2)
  59.    )
  60. )
  61. (if l
  62.    (list (apply 'strcat l)
  63.          (vl-list->string (reverse (vl-string->list v)))
  64.    )
  65. )
  66. )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 01:00 , Processed in 0.603984 second(s), 72 queries .

© 2020-2025 乐筑天下

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