Lisp用于带wi的上一个绘图
任何人都可以创建lisp绘图与窗口选择之前,我需要这个紧急。6678,
我有这些框架,我想创建PDF,每个框架分开, Gkumar0231开始一个新帖子并删除这个帖子,像其他人一样,我想我有答案,但你必须以正确的方式提问,而不仅仅是添加到帖子中。管理员很快就会解决这个问题。 我为你的问题创建了一条新线索。Lisp用于在AutoLISP、Visual Lisp和DCL论坛中使用窗口选择绘制上一页。 假设您的上一个情节成功,并且您在纸质空间中:
;(command PlotCommand DetailedPlot LayoutName PrinterName PaperSize PlotUnits Orientation
; PlotUpsideDown PlotArea 1stCorner 2ndCorner PlotScale PlotOffset
; PlotWithStyles PlotStyleName PlotWithLineWeights ScaleLineWeight PlotPaperSpaceFirst
; HidePaperspaceObjects WritePlotToFile SaveChangesToTab ProceedWithPlot)
(defun c:plot_pw ( / 1stCorner 2ndCorner)
(while (and (setq 1stCorner (getpoint "\nEnter 1st corner : "))
(setq 2ndCorner (getcorner 1stCorner "\nEnter 2nd corner : ")))
(command "-plot" "y" "" "" "" "" ""
"" "window" 1stCorner 2ndCorner "" ""
"" "" "" "" ""
"" "" "" "")))
gr.Rlx 这是一个模型空间版本,同样适用于布局,它将找到所有标题栏并绘制它们。我个人每个版面1个标题栏。
一旦设置了正确的块名和图纸尺寸等,快速而肮脏的使用CHSPACE和下面的代码就会起作用。
(PROMPT ".....PRINTING DRAWING TO plotter....")
(setq oldsnap (getvar "osmode"))
(setvar "osmode" 0)
(setq ss2 (ssget "x" '((0 . "INSERT")(2 . "Da1drsht")(410 . "Model")))) ; da1drsht is the name of the title block 410 is the space
; for this post remove the (410 . "Model")
; and have a (if (/= "model" (getvar "ctab"))
(setq n (sslength ss2))
(setq index 0)
(repeat n
(setq en (ssname ss2 index))
(setq el (entget en))
(setq inspt (assoc 10 el)) ; insertion pt
(setq xmin (- (cadr inspt) 6.0))
(setq ymin (- (caddr inspt) 6.0))
(setq xymin (strcat (rtos xmin 2 1) "," (rtos ymin 2 1)))
(setq xmax (+ xmin 813.0)) ; hard coded for 813 wide 6mm offset
(setq ymax (+ ymin 566.0)) ;hard coded for 566 high
(setq xymax (strcat (rtos xmax 2 1) "," (rtos ymax 2 1)))
(COMMAND "-PLOT""Y" "" "//PRODPRN01/Design-5100"
"A3" "M" "LANDSCAPE" "N"
"W" xymin xymax "1=2""C"
"y" "Designlaser.ctb" "Y" "" "n" "n"
"y"
)
(setq index (+ index 1))
)
(setvar "osmode" oldsnap)
(princ)
页:
[1]