布局方向
你好在我的公司,我们创建了一个autolisp程序,以某种方式打印多个布局。我们唯一没有做的事情是找出如何让程序识别布局是纵向还是横向。我想知道是否有人编写了一个程序来接收这些信息。 您可以使用最小值/最大值来计算它。(计算LL到UR,然后比较deltaX和deltaY,两者更大,使用正确的纸张旋转)我不太使用LISP,但是如果你发布你拥有的,我相信有人可以添加到你拥有的 我想接下来的问题是如何得到ll和ur的点?从这里开始,Lisp程序将非常简单 以下是我的一些基本代码模块。可能会有帮助。。确保在代码中添加(vl load com)。
;------------------------------------------------------------------------------
;pp_GetCurrPlotRotation:
;------------------------------------------------------------------------------
(defun pp_GetCurrPlotRotation()
(vla-get-plotrotation (pp_GetActiveLayout))
)
;------------------------------------------------------------------------------
;pp_GetActiveLayout: Returns active layout object
;------------------------------------------------------------------------------
(defun pp_GetActiveLayout ()
(vla-get-ActiveLayout (pp_GetActiveDocument))
)
;------------------------------------------------------------------------------
;pp_GetActiveDocument: Returns active AutoCAD drawing document object
;------------------------------------------------------------------------------
(setq *active-document* nil); Initialize global variable
(defun pp_GetActiveDocument ()
(cond (*active-document*) ; Return the cached object
(T
(setq *active-document* (vla-Get-ActiveDocument (pp_GetAcadObject)))
)
)
)
;------------------------------------------------------------------------------
;pp_GetAcadObject: Returns active AutoCAD object
;------------------------------------------------------------------------------
(setq *acad-object* nil) ; Initialize global variable
(defun pp_GetAcadObject ()
(cond (*acad-object*) ; Return the cached object
(T
(setq *acad-object* (vlax-Get-Acad-Object))
)
)
)
页:
[1]