Lt Dan's l 发表于 2022-7-5 16:28:24

快速组合。要理解,请转至开发者帮助并搜索文本框
 

(defun c:test (/ ent ang lst)
(if (setq ent (car (entsel)))
   (progn
   (setq ang (cdr (assoc 50 (setq ent (entget ent))))
         lst
       (mapcar
      '(lambda (x)
         (list
             (+ (car (cdr (assoc 10 ent)))
               (- (* (car x) (cos ang))(* (cadr x) (sin ang)))
             )
             (+ (cadr (cdr (assoc 10 ent)))
               (+ (* (car x) (sin ang))(* (cadr x) (cos ang)))
             )
         )
         )
         (textbox (list (assoc 1 ent)))
       )
   )
   (command "_.zoom" (nth 0 lst)(nth 1 lst))
   )
)
(princ)
)

Lee Mac 发表于 2022-7-5 16:32:04

尝试:
 
请注意,如果找到多个文本对象,则所有对象都将包含在缩放中。如果希望依次缩放每个对象,则必须迭代选择集。

dchilders 发表于 2022-7-5 16:34:37

我也试过这个,它对查找文本很有效,但当我添加缩放摄像机时,它会缩放到一个随机点?
 
(定义c:FindText nil
(sssetfirst零
(ssget“_X”
(列表
(cons 0“文本,多行文字”)
(cons 1(strcat“*”(getstring t“\n指定要搜索的文本:“)”*“”)
)
)
)
(普林斯)
(命令“zoom”“o”“p”“”
“缩放”“1/100xp”)
)

Lee Mac 发表于 2022-7-5 16:39:23

D希尔德斯,
 
关于代码标签,请阅读以下内容:
 
http://www.cadtutor.net/forum/showthread.php?9184-代码发布指南
 

Lee Mac 发表于 2022-7-5 16:41:56

一些乐趣:
 
5

Lee Mac 发表于 2022-7-5 16:43:17

 
 
^^可能是为什么

lfe011969 发表于 2022-7-5 16:47:39

没关系,李赢了我,哈哈

dchilders 发表于 2022-7-5 16:50:19

嘿,很抱歉没有遵循代码发布准则,我以后一定会这么做。李,我运行了最后一个例程,它在模型空间中工作,但当我转到布局并打开视口时,它似乎确实工作。有没有可能在视口中做这样的事情,或者这只是一个白日梦。我基本上尝试将我的网格编号调到1/100的比例。非常感谢你的帮助

Lee Mac 发表于 2022-7-5 16:53:43

 
别担心
 
 
抱歉,我现在已更新代码以删除布局过滤器,请重试

dchilders 发表于 2022-7-5 16:56:11

太好了,效果很好!最后一件事,在你的Zoomtext例程中,有没有任何地方我可以进去改变比例,因为我必须周期性地这样做,并且比例会改变?我通过它查看了一下,但在这一点上,大多数lisp代码在我看来都像hyroglifics。我对Autolisp很陌生。
页: 1 [2]
查看完整版本: 缩放到特定的文字lisp