Silvercloak 发表于 2022-7-5 18:30:41

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))
   )
   )
)
   

   

Lee Mac 发表于 2022-7-5 18:52:15

假设GETDXF函数看起来像:
然后更改:
(command "zoom" "c" (car ELOC),(cadr ELOC),(caddr ELOC)" ")
(command "zoom" "2xp")至:
3

Silvercloak 发表于 2022-7-5 19:03:59

这正是我需要的!我对下划线一无所知。这在我的LISP课程中没有涉及。

Lee Mac 发表于 2022-7-5 19:14:17

 
不客气!
 
 
请参阅此处以获取解释。

BIGAL 发表于 2022-7-5 19:21:51

我很确定以前也有人问过这个问题,为了同样的目的,每个分配做一个布局搜索可能是几年前尝试的LOT+layout。

BIGAL 发表于 2022-7-5 19:40:00

快速搜索一下,你就快到了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]
查看完整版本: Autolisp平移和缩放