masterlong 发表于 2019-3-7 11:56:15

vba和excelvba不懂啊
就会点lisp

mikewolf2k 发表于 2019-3-7 13:22:15

masterlong 发表于 2019-3-7 11:17
你说对了
就是针对已打开图纸进行批量处理
非DBX方法


的确两种方法各有特点,所以建议都支持,根据需要选择合适的。
至于为了批量就要关闭已经打开的,大可不必,代码完全可以先遍历下已经打开的文档,如果已经打开了,就直接处理,没打开就打开了再处理。没有什么浪费的。

masterlong 发表于 2019-3-7 14:29:42

明白你的意思了
很好的想法
虽然我本身并不需要
但是两个功能结合起来也没啥冲突
代码实现也没难度
等空闲的时候可以加上这个

两种处理方式
对我而言其实有着不同的应用场景
SCR的批处理方式
主要用作批打印、图纸清理等
而打开文件的跨档操作
我更多的不是批量
而是指定文档进行切换
切换后执行指定操作

举个例子
我的一个程序获取当前文档所有图框信息
按工程名称、子项名称、图号分类
并形成列表显示于对话框中
点击列表的某一条目时
自动缩放窗口到对应的图框
这个功能以前只能应用于当前文档
利用dbx最多做到切换文档
但不能在切换后缩放
而现在就可以支持多文档任意切了


alexmai 发表于 2019-3-9 10:26:09

mikewolf2k 发表于 2019-3-7 09:35
就是多文档批量替换嘛。
建议从excel读取替换列表,实现多关键字多文档批量替换。
我在源码共享版块放出 ...

找不到,有相关链接吗?

mikewolf2k 发表于 2019-3-11 09:01:20

alexmai 发表于 2019-3-9 10:26
找不到,有相关链接吗?

http://bbs.mjtd.com/forum.php?mod=viewthread&tid=32200&highlight=%B6%E0%D6%D8%CE%C4%B1%BE

alexmai 发表于 2019-3-11 10:40:27

mikewolf2k 发表于 2019-3-11 09:01
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=32200&highlight=%B6%E0%D6%D8%CE%C4%B1%BE

谢谢!

我这里有段代码,只能用一次,请帮忙看看,究竟是什么问题,不能每次都重刷 ob_id吗 谢谢!



(defun ob_id (ent /)
   (setqs_na (cdr (assoc -1 tar))
          v-na (vlax-ename->vla-object s_na)
          n_na(vla-get-objectid v-na)
          nna   (itoa n_na)
      )
)

;;;刷视窗MV比例值
(Defun c:tt1 (/ src tar)
      (setq tar (car (entsel "\n选择对象(视口)")))
      (setq src (nentselp "\n 选择属性块 :"))
      (setq src (vlax-ename->vla-object (car src)))
      (vlax-property-available-p src "TextString")
      (null (redraw (vlax-vla-object->ename src) 3))
      (vla-put-textstring src
            (strcat "%<\\AcObjProp Object(%<\\_ObjId "
                           nna
                      ">%).CustomScale \\f \"1:%lu2%ct1%qf2816\">%"
            )
      )
      (command "_.Regen")
      (princ)
)

mikewolf2k 发表于 2019-3-11 11:41:33

alexmai 发表于 2019-3-11 10:40
谢谢!

我这里有段代码,只能用一次,请帮忙看看,究竟是什么问题,不能每次都重刷 ob_id吗 谢谢!


不会。
有问题请新开帖子求助,不要跟在无关帖后面。

masterlong 发表于 2019-3-11 22:41:18

我是无所谓啦明经难得的歪楼贴

凨仴黯夜 发表于 2019-3-12 09:14:02

masterlong 发表于 2019-3-7 11:53
lisp的跨档操作我研究过很久
尝试过文档反应器
可能是水平不够


lisp也能跨文档操作,不需要用反应器,vl开头的函数能操作,但有个小问题,接收命令的只能是加载了程序的文档

masterlong 发表于 2019-3-12 14:49:36

非DBX方式?
能给个范例不?
页: 1 [2] 3
查看完整版本: 发个gif