Autolisp平移和缩放
对不起,我的工作没有太多代码。我们正在经历一个缓慢的时期,所以我正在努力复习我的autoLISP,并编写一个程序来照顾我们所做的服务。我们的想法是让我们的非技术员工尽可能地轻松,这样他们就可以生成这些滑动。所以我想出了一个主意,创建一个独特的块,其中包含一个属性,该属性为每个批次保存批次。简而言之,AutoCAD将创建一个参照地块的布局。对于布局选项卡的名称,将视口平移到该特定地块,将比例设置为-1:500,然后为下一个地块创建另一个新的布局选项卡并重复。
现在,我正在尝试解决autolisp将如何缩放到那个位置。我想不出如何让那个特定的部分工作。。。以下是我到目前为止所做的。有人能告诉我如何将块位置传递给缩放命令吗?
谢谢,很抱歉,我对这一点非常不了解,因为我没有太多机会在这里编写代码。
(defun c:LOTNUM (/ LOTNO)
(setq CE-SAV (getvar "cmdecho"))
(setvar "cmdecho" 0)
(graphscr)
(progn
(setq SS (ssget "x" '((2 . "lotnum"))))
(setq POSITION 0)
(while (setq ENAME (ssname SS POSITION))
(setq ELOC (GETDXF 10 ENAME))
;;; THIS IS THE PART THAT HAS ME HUNG UP
(command "zoom" "c" (car ELOC),(cadr ELOC),(caddr ELOC)" ")
;;;
(command "zoom" "2xp")
(setq POSITION (1+ POSITION))
)
)
)
假设GETDXF函数看起来像:
然后更改:
(command "zoom" "c" (car ELOC),(cadr ELOC),(caddr ELOC)" ")
(command "zoom" "2xp")至:
3 这正是我需要的!我对下划线一无所知。这在我的LISP课程中没有涉及。
不客气!
请参阅此处以获取解释。 我很确定以前也有人问过这个问题,为了同样的目的,每个分配做一个布局搜索可能是几年前尝试的LOT+layout。 快速搜索一下,你就快到了https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/need-a-lisp-to-create-layouts-in-multiple-drawings/td-p/4361902
查看Hmsilva的post change read file以使用您的选择集。
页:
[1]