创建布局单
大家好,由于搬家、新工作和基本上繁忙的生活,我已经离开编码领域一年半了。我的新雇主发现我知道如何编码,但现在我已经锈迹斑斑,几乎要从头开始了。
问题我正在尝试创建一个slips程序,该程序将采用模板布局,创建一个视口,将该视口窗口平移到单个批次,用excel工作表中的数据填充属性标题栏,然后创建另一个布局,并用另一个地址重新进行。
这可能会成为一个巨大的项目,所以我只是一点一点地做。有人知道如何让AutoLisp复制布局并根据从Excel工作表中提取的房子或地址对其进行重命名吗?
银色斗篷 我会后退几步,一步一步地思考,并为每个步骤分别创建一个程序作为defuns,这样你可以一次调试一件事。如果你的地块描述是一个图层上的文字,我会找到它并得到它的插入点,看看命令“布局”及其选项。忘记平移创建视口并使用缩放C点比例。你知道如何通过lisp与excel对话吗?如果不是GETEXEL。lsp会给你很多答案,同样地,只是从excel中读取某个单元格值开始,而不是直接将其放入代码中。从excel中填写属性,只需在此处搜索。
我知道我是根据1-2年前张贴在这里的excel批号列表给批号上色的。它使用excel来简化csv,同时让其他一切工作正常。
(defun HATLOT (lotnum col / HATOBJ FPTS PT1 TPT )
(SETQ OLDSNAP (GETVAR "OSMODE"))
(SETVAR "OSMODE" 0)
(setq lotfound (ssget "X" (LIST (CONS 0 "MTEXT")(CONS 1 lotnum)(CONS 8 "C-BLDG-NMBR"))))
(SETQ TPT (ASSOC 10 (ENTGET (ssname lotfound 0))))
(SETQ PT1 (LIST (NTH 1 TPT)(NTH 2 TPT)))
(SETQ FPTS (LIST (POLAR PT1 1.57 2 ) PT1)) ; 2 is a dummy value just past text hole
(SETQ HATOBJ (ENTGET (SSNAME (SSGET "f" FPTS '((0 . "HATCH"))) 0)))
(ENTMOD (subst col (assoc 8 HATOBJ) HATOBJ))
)
; this is where you would loop through the lots csv from excel number - color
;(while read csv
(setq lotnum (getstring "\nEnter lot number")) ; read from file
(SETQ COL (cons 8 "60% complete")) ; dummy line for testing make value read from file
(HATLOT lotnum perc)
; end while
(setvar "osmode" oldsnap)
(princ)
谢谢-这也是我要做的。我只是好奇是否有人知道任何可以在LISP中工作的布局命令。无论如何,我只是复习一下,通过复习教程并再次做练习,试着回到编码思维模式。
银色斗篷 (命令“布局”)?
我能想到的几乎都是。。。。我也还没有学会DCL。 你试过了吗
(command "Layout" "new" (setq lname (getstring))); or copy
(setvar "ctab" lname)
; insert title block
; mview
; ms
; z c pt
; hey all done
类似的问题是,我使用此脚本在新dwg中插入了模板标题栏:
文件直径
0
_布局
_模板
ftth_t锁定。载重吨
文件直径
1.
脚本在模板处停止,autocad表示模板处有未知命令。。。
请帮忙。。。。 SanMiguel如果你用不同的语言查看布局选项,如NEW TEMPLATE COPY no _将需要查看布局,然后使用正确的语言查看选项。 嗨,比加尔,我用我的剧本想出了一个解决办法,它有点像这样:
_布局\u模板
ftth_tblock1
布局1
谢谢
页:
[1]