fgsyql 发表于 2019-6-18 17:23:25

有没有什么方法可以一次性更新模型和布局里的日期字段

本帖最后由 fgsyql 于 2019-6-19 16:44 编辑

用updatefield只能更新当前页所有的日期,如果布局有好几页就要每一页去更新
有没有什么方法可以一次性更新模型和布局里的所有日期字段,或者可以写个lisp的快捷键可以一次性更新

e2002 发表于 2019-6-18 17:23:26

本帖最后由 e2002 于 2019-6-24 14:26 编辑

这就是一个我刚才回复另一个帖子中谈到的Layout的不便之处的例子。

这种需求只能遍历操作。
很多年前就写了。很简短,直接发给大家吧:

(defun C:lkpt_Layouts_AllTabs_ZoomExtendAndUpdateField ( / sCTab oldvar llayoutsitem)
(vl-arx-import 'layoutlist)
(setq sCTab (getvar "CTAB")
      oldvar (getvar "CMDECHO")
      llayouts (layoutlist)
)
(setvar "CMDECHO" 0)
(foreach item llayouts
    (setvar "CTAB" item)
    (vl-cmdf "_.updatefield" "_all" "")
    (vl-cmdf "_.zoom" "_e")
)
(setvar "CMDECHO" oldvar)
(setvar "CTAB" sCTab)
(princ)
);_defun


start4444 发表于 2019-6-18 21:21:21

保存一次不是全部更新的吗

guohq 发表于 2019-6-19 00:23:17

日期保存在哪里呢?有样图吗?

fgsyql 发表于 2019-6-19 09:58:29

start4444 发表于 2019-6-18 21:21
保存一次不是全部更新的吗

我插入的字段不是不用保存日期,是用日期
如果用保存日期才是保存一次更新一次

q3_2006 发表于 2019-6-23 08:26:18

本帖最后由 q3_2006 于 2019-6-23 08:31 编辑

(if (setq ss1 (ssget "X" '((0 . "MTEXT"))))
    (progn
      (setq ss (ssadd))
      (mapcar
        '(lambda (ename / ent)
           (if (and (setq ent (cdr (assoc 360 (entget ename))))
                  (dictsearch ent "ACAD_FIELD"))
             (ssadd ename ss)))
        (vl-remove-if
          (function listp)
          (mapcar (function cadr) (ssnamex ss1))))
      (if (and ss (/= (sslength ss) 0))
        (command "_.updatefield" ss ""))))

fgsyql 发表于 2019-6-27 17:19:44

e2002 发表于 2019-6-24 14:17
这就是一个我刚才回复另一个帖子中谈到的Layout的不便之处的例子。

这种需求只能遍历操作。

谢谢楼原版主
怎么给明经币呀

fgsyql 发表于 2019-7-8 17:00:04

afafdafdsfafafda

jkop 发表于 2023-8-8 18:04:47

路过,有类似的困扰需要处理,感谢分享。

tranque 发表于 2024-4-16 14:05:58

感谢楼主,非常好用,就是命令有点忒长了:lol
页: [1] 2
查看完整版本: 有没有什么方法可以一次性更新模型和布局里的日期字段