明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 633|回复: 12

[提问] 求助,能不能先选择属性块,然后按图号自动排序,然后在定位缩放

[复制链接]
发表于 2024-1-11 13:07 | 显示全部楼层 |阅读模式
求助,能不能先选择属性块,然后按图号自动排序,然后在定位缩放

本帖子中包含更多资源

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

x
发表于 2024-1-12 09:44 | 显示全部楼层
a189233 发表于 2024-1-12 09:33
只能框选,,要是点选的话,可做到其它相同属性块都自动排最好

那点选还分 entsel点选和 ssget 的点选  ssget 的点选 又分有空格确认和无空格 需求一次说清  最开始就说个 "先选择属性块"  花钱了吗 一次次加需求
回复 支持 1 反对 0

使用道具 举报

发表于 2024-1-11 16:44 | 显示全部楼层
a189233 发表于 2024-1-11 14:47
谢谢了。谢谢了,可以按顺序了。能不能先选择属性块。

想手动选   ssget 后面的"X"删掉就行了
回复 支持 1 反对 0

使用道具 举报

发表于 2024-1-11 14:43 | 显示全部楼层
本帖最后由 飞雪神光 于 2024-1-11 20:41 编辑

  1. (defun c:KK (/ cz dcl_id dcllst dd elsts fn fname jpg_insertxx show_list ss ss-enlst tmnames)
  2.   (defun cz (/ e)
  3.     (setq e (cadr (nth nn tmnames3)))
  4.     (command "zoom" "o" e "")
  5.   )
  6.   (defun show_list (key newlist)
  7.     (start_list key)
  8.     (mapcar 'add_list newlist)
  9.     (end_list)
  10.   )
  11.   (defun ss-enlst (ss / enlst)
  12.     (cond
  13.       ((= (type ss) 'PICKSET)
  14.         (vl-remove-if-not
  15.           '(lambda (x) (= (type x) 'ENAME))
  16.           (mapcar 'cadr (ssnamex SS))
  17.         )
  18.       )
  19.       ((= (type ss) 'LIST)
  20.         (setq enlst (ssadd))
  21.         (last (mapcar '(lambda (x) (ssadd x enlst)) ss))
  22.       )
  23.     )
  24.   )
  25.   (defun jpg_insertxx (e0 item / obj att jgb aobj)
  26.     (vlax-get (setq obj (vlax-ename->vla-object e0))
  27.       "HasAttributes"
  28.     )
  29.     (progn (setq att (vlax-invoke obj "GetAttributes"))
  30.       (setq jgb (mapcar '(lambda (aobj)
  31.                            (list (vlax-get aobj "TagString")
  32.                              (vlax-get aobj "TextString")
  33.                            )
  34.                          )
  35.                   att
  36.                 )
  37.       )
  38.     )
  39.     (cadr (assoc item jgb))
  40.   )
  41.   (defun lm-Str2num (String / positioni YPOutString)
  42.     (setq positioni -1 aiilst'() jci 0)
  43.     (repeat (strlen string)
  44.       (setq ascm(vl-string-elt string (setq positioni (+ positioni 1))))
  45.       (if(< 47 ascm 58)
  46.         (setq aiilst(append aiilst (list ascm)))
  47.         (setq jci (1+ jci))
  48.       )
  49.     )
  50.     (atoi(car(mapcar'VL-LIST->STRING(reverse (list aiilst)))))
  51.   )
  52.   (setq
  53.     ss  (ssget (list '(0 . "insert") '(66 . 1) (cons 2 "14315445")))
  54.     elsts  (ss-enlst ss)
  55.     tmnames1 (mapcar '(lambda (x) (list (lm-Str2num (jpg_insertxx x "图号")) (strcat (jpg_insertxx x "图号") (jpg_insertxx x "图名")) x)) elsts)
  56.     tmnames2 (vl-sort tmnames1 '(lambda (x y) (< (car x) (car y))))
  57.     tmnames3 (mapcar 'cdr tmnames2)
  58.     tmnames (mapcar 'car tmnames3)
  59.   )
  60.   (setq fname (vl-filename-mktemp nil nil ".dcl"))
  61.   (setq  fn   (open fname "w")
  62.     dcllst '("xx:dialog {"
  63.               "    label = \"图框定位by--个人使用)\" ;"
  64.               " :list_box {"
  65.               "                height = 30 ;"
  66.               "                             key = \"dcl-tks\" ;"
  67.               "                                   }"
  68.               "            :button {"
  69.               "                height = 2 ;"
  70.               "                is_cancel = true ;"
  71.               "                key = \"dcl-cancel\" ;"
  72.               "                label = \"取消\" ;"
  73.               "                width = 38 ;"
  74.               "            }}"
  75.             )
  76.   )
  77.   
  78.   (foreach x dcllst (write-line x fn))
  79.   (close fn)
  80.   (setq dcl_id (load_dialog fname))
  81.   (new_dialog "xx" dcl_id)
  82.   (vl-file-delete fname)
  83.   (show_list "dcl-tks" tmnames)
  84.   (action_tile "dcl-tks" "(setq nn(atoi(get_tile  \"dcl-tks\")))(done_dialog 1)")
  85.   (setq dd (start_dialog))
  86.   (if (= dd 1)
  87.     (cz)
  88.   )
  89.   (unload_dialog dcl_id)
  90. )

评分

参与人数 1明经币 +1 收起 理由
zhoupeng220 + 1 很给力!

查看全部评分

 楼主| 发表于 2024-1-11 14:47 | 显示全部楼层

谢谢了。谢谢了,可以按顺序了。能不能先选择属性块。
发表于 2024-1-11 21:00 | 显示全部楼层

;先排序

本帖子中包含更多资源

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

x
发表于 2024-1-11 21:47 | 显示全部楼层
院长,能不能加个“下一张”“上一张”的翻页?

点评

没必要  发表于 2024-1-11 21:50
 楼主| 发表于 2024-1-12 09:26 | 显示全部楼层
飞雪神光 发表于 2024-1-11 16:44
想手动选   ssget 后面的"X"删掉就行了

谢谢版主了。谢谢了,太厉害了。
 楼主| 发表于 2024-1-12 09:31 | 显示全部楼层

只能框选,,要是点选的话,可做到其它相同属性块都自动排最好,不过也谢谢院长了,谢谢院长了
 楼主| 发表于 2024-1-12 09:33 | 显示全部楼层
飞雪神光 发表于 2024-1-11 16:44
想手动选   ssget 后面的"X"删掉就行了

只能框选,,要是点选的话,可做到其它相同属性块都自动排最好
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-29 01:00 , Processed in 0.212915 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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