找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 930|回复: 23

[求助] 根据宗地编号合权利人名称批量录入属性

[复制链接]
发表于 2019-1-4 01:44:16 来自手机 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 newer 于 2019-1-5 01:13 编辑

下面这个程序必须是权属线里有权利人合编号两个属性才能录入,如何让他忽略
  1. (defun c:zd (/ elist i name num pts qs s1 s2 ss ss0 str1 str2 x xdata)
  2.   (setvar "pickstyle" 0)
  3.   (if (and (setq ss0 (ssget '((0 . "LWPOLYLINE"))))
  4.            (setq i -1)
  5.       )
  6.     (while (setq qs (ssname ss0 (setq i (1+ i))))
  7.       (progn (setq elist (entget qs '("*"))
  8.                    elist (vl-remove (assoc -3 elist) elist)
  9.                    pts         (mapcar 'cdr
  10.                                  (vl-remove-if
  11.                                    '(lambda (x)
  12.                                       (/= (car x) 10)
  13.                                     )
  14.                                    (entget qs)
  15.                                  )
  16.                          )
  17.                    ss         (ssget "cp" pts '((0 . "text")))
  18.                    s1         (ssname ss 0)
  19.                    s2         (ssname ss 1)
  20.                    str1         (cdr (assoc 1 (entget s1)))
  21.                    str2         (cdr (assoc 1 (entget s2)))
  22.              )
  23.              (if (> (ascii (substr str1 1 1)) 159)
  24.                (progn (setq name (cons 1000 (cdr (assoc 1 (entget s1)))))
  25.                       (setq num (cons 1000 (cdr (assoc 1 (entget s2)))))
  26.                )
  27.                (progn (setq name (cons 1000 (cdr (assoc 1 (entget s2)))))
  28.                       (setq num (cons 1000 (cdr (assoc 1 (entget s1)))))
  29.                )
  30.              )
  31.              (regapp "SOUTH")
  32.             (setq xdata (list -3
  33.                                (list "SOUTH"
  34.                                      (cons 1000 "300000")
  35.                                      num
  36.                                      name
  37.                                      (cons 1000 "072")
  38.                                )
  39.                          )
  40.              )
  41.              (entmod (append elist (list xdata)))
  42.       )
  43.     )
  44.   )
  45.   (setvar "pickstyle" 1)
  46. )


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

已领礼包: 20个

财富等级: 恭喜发财

发表于 2019-1-5 01:34:49 | 显示全部楼层
本帖最后由 marting 于 2019-1-5 01:48 编辑

1、如果有两个文字,录入名字和数量
2、如果只有一个文字,
          如果文字是汉字,录入名,数量录入""
          如果非汉字, 名字录入"" , 数量录入数

  1. (defun c:zd (/ elist i name num pts qs s1 s2 ss ss0 str1 str2 x xdata)
  2.   (setvar "pickstyle" 0)
  3.   (if (and (setq ss0 (ssget '((0 . "LWPOLYLINE")))) (setq i -1))
  4.     (while (setq qs (ssname ss0 (setq i (1+ i))))
  5.       (progn
  6.         (setq elist (entget qs '("*"))
  7.               elist (vl-remove (assoc -3 elist) elist)
  8.               pts   (mapcar
  9.                       'cdr
  10.                       (vl-remove-if '(lambda (x) (/= (car x) 10)) (entget qs))
  11.                     )
  12.         )
  13.         (if (setq ss (ssget "cp" pts '((0 . "text"))))
  14.           (progn
  15.             (setq len (sslength ss))
  16.             (setq s1   (ssname ss 0)
  17.                   str1 (cdr (assoc 1 (entget s1)))
  18.             )
  19.             (cond ((>= len 2)
  20.                    (setq s2   (ssname ss 1)
  21.                          str2 (cdr (assoc 1 (entget s2)))
  22.                    )
  23.                    (if (> (ascii (substr str1 1 1)) 159)
  24.                      (progn (setq name (cons 1000 str1))
  25.                             (setq num (cons 1000 str2))
  26.                      )
  27.                      (progn (setq name (cons 1000 str2))
  28.                             (setq num (cons 1000 str1))
  29.                      )
  30.                    )
  31.                   )
  32.                   ((= len 1)
  33.                    (if (> (ascii (substr str1 1 1)) 159)
  34.                      (progn (setq name (cons 1000 str1))
  35.                             (setq num (cons 1000 ""))
  36.                      )
  37.                      (progn (setq name "") (setq num (cons 1000 str1)))
  38.                    )
  39.                   )
  40.             )
  41.             (regapp "SOUTH")
  42.             (setq xdata        (list -3
  43.                               (list "SOUTH"
  44.                                     (cons 1000 "300000")
  45.                                     num
  46.                                     name
  47.                                     (cons 1000 "072")
  48.                               )
  49.                         )
  50.             )
  51.             (entmod (append elist (list xdata)))
  52.           )
  53.         )
  54.       )
  55.     )
  56.   )
  57.   (setvar "pickstyle" 1)
  58.   (princ)
  59. )


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

使用道具 举报

 楼主| 发表于 2019-1-4 01:51:15 来自手机 | 显示全部楼层
   (setq xdata (list -3
                               (list "SOUTH"
                                     (cons 1000 "300000")
                                     num
                                     name
                                     (cons 1000 "072")
                               )
                         )
             )
             (entmod (append elist (list xdata)))
      )
    )
  )
  (setvar "pickstyle" 1)
)
;根据宗地内的宗地号和权利人写入宗地扩展属性,地类默认072
来自: 微社区
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-4 01:54:19 来自手机 | 显示全部楼层
这个代码必须是宗地内有权利人号宗地号才能成功录入,,几百个宗地里但凡有一个缺的录不进去的,会报错导致程序停止一个没录进去,如何让他忽略错误的先把没问题的录入
来自: 微社区
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-4 01:59:11 来自手机 | 显示全部楼层
哪位大神可以写一个注释也行,学习一下,这是我从论坛里抄来的
来自: 微社区
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-5 00:32:04 来自手机 | 显示全部楼层
ffian 发表于 2019-1-4 01:59
哪位大神可以写一个注释也行,学习一下,这是我从论坛里抄来的

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

使用道具 举报

 楼主| 发表于 2019-1-5 01:37:54 来自手机 | 显示全部楼层
marting 发表于 2019-1-5 01:34
1、如果有两个文字,录入名字和数量
2、如果只有一个文字,
          如果文字是汉字,录入名,数量录入 ...

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

使用道具 举报

 楼主| 发表于 2019-1-5 01:41:06 来自手机 | 显示全部楼层
marting 发表于 2019-1-5 01:34
1、如果有两个文字,录入名字和数量
2、如果只有一个文字,
          如果文字是汉字,录入名,数量录入 ...

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

使用道具 举报

已领礼包: 401个

财富等级: 日进斗金

发表于 2019-1-5 19:35:38 | 显示全部楼层
有演示的吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-6 01:32:29 | 显示全部楼层
经过测试我有350条权属线只录入327数据剩下的23条未成功录入信息的权属线如何才能查找到。?,对于权属线里文字为空的或者文字数量大于3的,或者未录入有问题的权属线怎么才能通过改变颜色来找到他?还是通过其他方式找到它。我把代码和件样例上传了麻烦大神给我一个思路

测试.zip

329.67 KB, 下载次数: 9, 下载积分: D豆 -1 , 活跃度 1

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

使用道具 举报

 楼主| 发表于 2019-1-6 01:38:01 | 显示全部楼层
请忽略图件中的带括号的数字我是把他充当做名字,我并没有理解为什么他会把这个当作文字。
代码中这一段(ascii (substr str1 1 1)) 159)大于159        ascii码中159 代表什么含义
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-6 01:40:41 | 显示全部楼层
我之前用这个插件一直认为他是通过权属线内的元素空间位置来录入信息的
,现在才明白他是通过识别文字和数字的,但是图例中的编码也可以正常录入,可以详细解释一下这段代码么
。想要学习
但是无从下手
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-6 02:04:17 来自手机 | 显示全部楼层
吧里有收藏关于cass属性方面的lisp的帖子么或者网站么,如何学习
来自: 微社区
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-6 02:10:35 来自手机 | 显示全部楼层
关于图件,他之前是多段线,然后我统一刷成权属线了,之前权属线的属性是全空的现在已经通过插件录入一部分属性录
来自: 微社区
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2019-1-6 02:11:00 | 显示全部楼层
ffian 发表于 2019-1-6 01:38
请忽略图件中的带括号的数字我是把他充当做名字,我并没有理解为什么他会把这个当作文字。
代码中这一段(a ...

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-28 23:14 , Processed in 0.238192 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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