找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 819|回复: 3

[求助] 遍历图层下的标注

[复制链接]
发表于 2021-2-6 10:24:02 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 wangjianwen153 于 2021-2-6 11:18 编辑

想实现一个遍历图层下的标注插件,先选择目标后获取该标注的列表,然后通过点击下一个挨个缩放到该目标,但是目前command命令和控件有冲突(在对话框显示时,禁止通过屏幕进行交互操作、命令行操作)请各位大神帮忙看一下怎么解决,(目前思路是 1.command zoom用一个能够根据坐标平移到该坐标的函数替代command 2.点击下一个后隐藏对话框,平移到该点后兑换狂自动弹出)

LSP:
(PRINC "\n加载后选择所需要的遍历的对象,只能是文本形式的注记")

(PRINC "\n执行命令:BLTC")
(vl-ACAD-DEFUN
  (DEFUN C:BLTC        ( / TCNAME2 N1 )
    (SETVAR "cmdecho" 0)
    (SETVAR "blipmode" 0)
    (setq SX0 (ssget '((0 . "TEXT"))));;获取单点属性SX0,从而获得图层名
        ;;(setq TCNAME0 (SSNAME SX0 0))
            ;;(setq TCNAME1 (ENTGET TCNAME0))
        (setq TCNAME2  (ASSOC 8 (ENTGET (SSNAME SX0 0))) );;获取选中的图层名
        ;;(princ(type TCNAME2))

                    
         
    (setq SX1 (ssget "x" (list  TCNAME2) )) ;;将所有的对应图层的注记名称获取

    (VL-LOAD-COM

        (setq M1 (SSLENGTH SX1))
              
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

        (setq Id (load_dialog "a.dcl"))
        
          (princ "nihao")
          (princ Id)
        (if (< Id 0)(exit))
          (if (not (new_dialog "a" Id))(exit))



        
          (setq num 0)

            (action_tile "LaBtn" "(setq gg 1)")
        (action_tile "NtBtn" "(setq gg 2)")
        
        

          ;(princ (TYPE gg))
          ;(princ gg)
          (cond ((= gg 1) (setq num (- num 1)))
              ((= gg 2) (setq num (+ num 1)))               
               
          )

        (if (< num 0)
                (setq num 1)
          )
        (if (> num M1)
                (setq num M1)
          )
        
        
        (if (<= num M1)
         
        (progn((type num)
               (setq N1 num)
        
        ;;(REPEAT M1
         
          (setq S1 (SSNAME SX1 N1)) ;提取主图元
          (setq B1 (ENTGET S1)) ;提取子图元属性,获得关联表
                (setq COOD1 (CDR ( ASSOC 10 B1))) ;获取标注中心点坐标
                  (setq COOD2 (CDR ( ASSOC 11 B1)))

               

               
        (unload_dialog dlgId)




                       (command "zoom") ;; 根据坐标平移到该位置
                  (command "C")
                  (command COOD1)
                  ;;(command COOD2)
                  (command "150")
        (start_dialog)
          )
               
         
          )
        (progn (princ "已完成遍历")(exit))
        

        
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        
dcl: a:dialog{
        label="text";       
       
               
                :text{
                        key="text1";
                        width=8;
                        fixed_width=true;
                        value="遍历";
                }
                               
        :column{               

                //:edit_box{
                //key="num";
                //lable="第几个注记";
                //width=12;
                //}
                :row{               
                        :button{
                                key="LaBtn";
                                label="上一个";
                               
                        }
                        :button{
                                key="NtBtn";
                                label="下一个";
                        }
                       
                     }
                 :button{

                        key="cancel";
                        label="关闭";
                        is_cancel = true;
                        fixed_width = true;
                        alignment=centered;
                       
                 }

             }
       
}        
              
      )



微信图片_20210129182705.png
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
 楼主| 发表于 2021-2-6 14:12:32 | 显示全部楼层
还在审核吗?是不是放假了,哈哈
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 177个

财富等级: 日进斗金

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-25 15:22 , Processed in 0.338644 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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