hn10183051 发表于 2019-7-24 13:16:33

属性图框批量修改页码、图号的程序

想在luoxinyi大神发的程序上修改,原程序连接:
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=112469&highlight=%CD%BC%BA%C5


想修改一下,页码”第 * 页共 * 页“ 这种格式
添加一下第几批。。




自己添加了一部分但批次的值也是+1,怎么成固定值,。




下面是我改过的,请大神帮忙改改~

start4444 发表于 2019-7-24 16:47:30

把bs1赋值改为这样       (setq bs1 (strcat biao_Text2 (itoa (fix biao_Text3)) biao_Text4 " " "共" (itoa (sslength ss))biao_Text4 ))

hvac_wh 发表于 2020-3-22 23:03:03

两种方式可以修改
1 在Lisp 程序中可以设定对角点坐标,左小角与右上角,在对该范围内的实体查找,给你提供查找程序,再对实体修改。
2 利用块属性文字,在对其修改。
查找某范围内的实体程序
;nInt-在坐标内Lpt RPT内查找文字1、多文字2、视窗8、多义线16,天正标准块4,可叠加,如输入3,即选择该范围内文字与mtext
;Nflag-图纸空间还是模型空间 ,0-模型空间 1-图纸空间 2-模型空间、图纸空间内所有的
(defun GetRectEntity (LPt RPt nInt Nflag / filter a)
        ;------------坐标查询---------------
        (setq filter (quote ((-4 . "and>"))))
        (setq filter        (append (list   '(-4 . "<and") '(-4 . ">=,>=,*") (cons 10 LPt) '(-4 . "and>")
                                                                        '(-4 . "<and") '(-4 . "<=,<=,*") (cons 10 RPt) '(-4 . "and>")
                                                        )         filter)
        )
        ;-----------------图纸空间模型空间查询------------------------------
        (cond
                ((= 0 Nflag)(setq filter (append (list '(-4 . "<and") (cons 67 0)'(-4 . "and>")) filter)));模型空间
                ((= 1 Nflag)(setq filter (append (list '(-4 . "<and") (cons 67 1)'(-4 . "and>")) filter)));图纸空间
                (t nil)
        )
        ;---------------------实体查询--------------------------
        (setq filter (append (quote ((-4 . "or>"))) filter))
        ;文本
        (if        (= 1 (logand nInt 1))(setq filter (append (list '(-4 . "<and")(cons 0 "TEXT")'(-4 . "and>")) filter)))
        ;多文本
        (if        (= 2 (logand nInt 2))(setq filter (append (list '(-4 . "<and") (cons 0 "MTEXT") '(-4 . "and>")) filter)))
        ;天正标注
        (if        (= 4 (logand nInt 4))(setq filter (append (list '(-4 . "<and") (cons 0 "TCH_DRAWINGNAME") '(-4 . "and>")) filter)))
        ;视窗
        (if        (= 8 (logand nInt 8))
                (progn
                        (setq filter (append (quote ((-4 . "and>"))) filter))
                        (setq filter (append (list '(-4 . "<and") (cons 0 "VIEWPORT") '(-4 . "and>")) filter)
                                filter (append (list   '(-4 . "<and") '(-4 . ">") (cons 69 1) '(-4 . "and>")) filter);将图纸空间删除
                        )
                        (setq filter (append (quote ((-4 . "<and"))) filter))
                )
        )
        ;多义线       
        (if        (= 16 (logand nInt 16))(setq filter (append (list '(-4 . "<and") (cons 0 "LWPOLYLINE") '(-4 . "and>")) filter)))
        (setq filter (append (quote ((-4 . "<or"))) filter))
        ;------------------------------------------------------
        (setq filter (append (quote ((-4 . "<and"))) filter))
        (setq a (ssget "X" filter))
        (if (= a nil)(setq a (ssadd))(setq a a))
)

hn10183051 发表于 2019-7-26 11:21:03

start4444大神   怎么把属性值标记(角码、颜色)值更改成别的。在DCL面板中,
面板已经做好了,


:toggle{label="启用"; key="ss0";}:boxed_column{label="自动更换:";
:edit_box{label="角码 →";key="ss1";}
:edit_box{label="颜色 →";key="ss2";}

}
spacer_1;
    :button
    {
      key = "Command1" ;
      label = "开始" ;
      width = 56.55 ;
      height = 2.475 ;
    }

spacer_1;

ok_cancel ;

:text{label="属性值的标记名需同名,值必须为数值。";}
}


start4444 发表于 2019-7-24 14:29:20

把红框的第二行删了就行

hn10183051 发表于 2019-7-24 14:41:01

start4444 发表于 2019-7-24 14:29
把红框的第二行删了就行

批次可以了,还有页码改成”第 * 页共 * 页“格式怎么弄

renyonghua2014 发表于 2019-7-24 20:30:27

学习了,谢谢!

hn10183051 发表于 2019-7-25 08:32:13

谢谢了、start4444大神

春鸽带你飞 发表于 2019-7-25 09:18:22

有空来学习一下!!!!

hn10183051 发表于 2019-7-27 16:50:46

已经改好了~

bai2000 发表于 2019-7-27 20:32:12

页: [1] 2 3
查看完整版本: 属性图框批量修改页码、图号的程序