Kye
发表于 2017-12-4 14:37:33
没办法,手机发贴就这个效果
liunian0524
发表于 2017-12-5 09:21:05
1:高飞鸟大师有一个批量写块;;==============批量写块=================
(defun c:ww (/ *error* cmdecho filename name path i)
(defun *error* (s)
(princ s)
(setvar 'cmdecho cmdecho)
)
(setq cmdecho (getvar 'cmdecho))
(setvar 'cmdecho 0)
(cond
((not (setq filename (getfiled "保存文件名" "" "dwg" 1))))
(t
(setq name (VL-FILENAME-BASE filename)
path (strcat (VL-STRING-RIGHT-TRIM
"\\"
(VL-FILENAME-DIRECTORY filename)
)
"\\"
)
i 0
)
(princ "\n选择写块物体:")
(while (setq ss (ssget))
(command "wblock"
(strcat path name (itoa (setq i (1+ i))) ".dwg")
""
"0,0,0"
ss
""
)
(command "oops")
(princ "\n继续选择写块物体<右键结束>:")
)
)
)
(setvar 'cmdecho cmdecho)
(princ)
)
2:秋枫大侠的批量打印-分图工具
司徒妙嘉
发表于 2017-12-7 09:09:14
liunian0524 发表于 2017-12-5 09:21
1:高飞鸟大师有一个批量写块;;==============批量写块=================
(defun c:ww (/ *error* cmdecho...
第一个其实也是一个一个框选吧? 并不是把所有要框的框一下就刷刷刷的全出来吧?
xtjd
发表于 2017-12-12 10:56:59
(defun c:wq2(/ f1 f2 f3 f4 o1 o2 ss)
(setvar "cmdecho" 0)
(princ "\n请选择需要导出的图元:")
(if(setq ss(ssget))
(progn
(setq f1(strcat(getvar "dwgprefix"))f2(fnsplitl(getvar "dwgname"))f3(cadr f2)f4(caddr f2))
(setq o1(mapcar 'vlax-ename->vla-object(vl-remove-if 'listp(mapcar 'cadr(ssnamex ss)))))
(setq o2(vl-remove-if-not '(lambda(x)(wcmatch(vla-get-objectname x)"AcDbText*"))o1))
(if o2
(setq f2(strcat f1 f3 "_" (vla-get-textstring(car o2))f4))
(setq f2(strcat f1 f3 "_"(substr(rtos(/ (getvar "cputicks")123456789))4)f4))
)
(if(findfile f2)
(command ".wblock" f2 "y" "" (list 0 0) ss "")
(command ".wblock" f2"" (list 0 0) ss "")
)
(command ".oops")
(princ(strcat "\n[" f2 "]零件成功导出"))
)
)
(prin1)
)
pezyl
发表于 2017-12-12 16:58:17
本帖最后由 pezyl 于 2017-12-12 17:01 编辑
xtjd 发表于 2017-12-12 10:56
(defun c:wq2(/ f1 f2 f3 f4 o1 o2 ss)
(setvar "cmdecho" 0)
(princ "\n请选择需要导出的图元:")
好简洁的程序,不过4个图得操作4次,能不能根据图形之间的间距来批量操作呢,当然,画图得有规则,比如文字在封闭框内等等
zhangcan0515
发表于 2017-12-12 22:31:15
xtjd 发表于 2017-12-12 10:56
(defun c:wq2(/ f1 f2 f3 f4 o1 o2 ss)
(setvar "cmdecho" 0)
(princ "\n请选择需要导出的图元:")
能不能导出后的dwg名称是属性图框里的属性值
zhangcan0515
发表于 2017-12-12 22:41:03
llsheng_73 发表于 2017-11-27 15:59
wblock命令输出的是DWG文件,其中图元也是一个一个的
确实比较实用,靠 以前都没发现。白玩了这么多年
xtjd
发表于 2017-12-14 08:00:41
pezyl 发表于 2017-12-12 16:58
好简洁的程序,不过4个图得操作4次,能不能根据图形之间的间距来批量操作呢,当然,画图得有规则,比如文 ...
如果只是单一的零件外形,没有三视图,可以实现;如果零件外形带有侧视图,则排列最好遵循以零件形心
xtjd
发表于 2017-12-14 08:04:54
zhangcan0515 发表于 2017-12-12 22:31
能不能导出后的dwg名称是属性图框里的属性值
有图框其实应该是可以框选全部,以图框为单位,导入单一零件DWG(文件名可以是属性值或程序可以获取的其它文本)
Andyhon
发表于 2017-12-14 10:29:27
公司的绘图制程,若配合程序走向效率化,那么磨合后自然会有配套规范
考量如何方便程序的后续处理,不规范则效率化会很费劲耗时...