找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 938|回复: 2

[求助] LISP 块自动编号的问题

[复制链接]
发表于 2015-6-1 15:39:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
想实现此功能    我的编号规则是“区域 - 自动编号”;
    想实现的是先提示输入区域,再输入开始编号,再选择块,直到结束;
    比如先输入区域A,再输入开始编号1,选择了100个块,那么建立的编号是A-1到A-100;

    现在的图纸是有很多块,有的块有自定义属性NO,用于编号,有的块没有此属性;

    现在就是想点击块时,查找是否有此属性(属性名忽略大小写),有此属性就将此属性值设计为当前的编号值,如果没有此属性就添加此属性NO,再将此属性设置成当前编号值,这样的好实现吗,有没有大神能实现这个功能 ???



论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 859个

财富等级: 财运亨通

发表于 2015-6-1 16:07:48 来自手机 | 显示全部楼层
对不含属性的insert追加属性使用a/vlisp是一件麻烦事,用arx或c#就简单了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 859个

财富等级: 财运亨通

发表于 2015-6-2 19:47:00 | 显示全部楼层
用 netload 加载这个函数 http://bbs.xdcad.net/thread-681872-1-1.html

  1. (defun c:tt (/ qy num ss sl e el obj lst bp up)
  2.   (if (and (setq qy (getstring "\n区域: "))
  3.            (/= qy "")
  4.            (setq num (getint "\n起始编号: "))
  5.            (setq ss (ssget '((0 . "Insert"))))
  6.       )
  7.     (progn
  8.       (setq sl (sslength ss))
  9.       (while (setq e (ssname ss (setq sl (1- sl))))
  10.         (setq obj (vlax-ename->vla-object e)
  11.               el  (entget e)
  12.         )
  13.         (if (and (vla-get-hasattributes obj)
  14.                  (setq lst (vl-member-if
  15.                              '(lambda (x) (= (strcase (vla-get-tagstring x)) "NO"))
  16.                              (vlax-invoke obj 'GetAttributes)
  17.                            )
  18.                  )
  19.             )
  20.           (vla-put-textstring (car lst) (strcat qy "-" (itoa num)))
  21.           (progn
  22.             (vla-getboundingbox obj 'bp 'up)
  23.             (insert_appendattrib
  24.               e
  25.               (safearray-value up)
  26.               "NO"
  27.               (strcat qy "-" (itoa num))
  28.             )
  29.           )
  30.         )
  31.         (setq num (1+ num))
  32.       )
  33.     )
  34.   )
  35.   (princ)
  36. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-15 12:11 , Processed in 0.252557 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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