669423907 发表于 2016-7-20 10:24:07

哪位大师方便帮忙修改一下外发分图程序

把选择名字放在前面,谢谢了
(defun c:fw()
(princ "\n请选择输出对象: ")
(setq ss(ssget":s" '((0 . "~xline")))
date (rtos (getvar "cdate") 2 6)
年(substr date 3 2);1 4
月(substr date 5 2)
日(substr date 7 2)
tim(substr date 10)
时(substr tim 1 2)
分(substr tim 3 2)
秒(substr tim 5 2)
datime (strcat "("年""月""日"_"时""分""秒")")
na (car (entsel "\n选取图形名称:")))
(if (/= na nil)
(setq en (entget na)
na (cdr (assoc 1 en)))
(setq na (getstring "\n输入图形名称:")))
(setq desk (strcat "E:/00/送线割图纸/"na datime))
(command "WBLOCK"desk""'(0 0 0)ss"")
把选择
(command "oops")
(princ "\n选择的对象已完成输出")
(vlax-invoke (vlax-create-object "wscript.shell")'run
"E:\\00\\送线割图纸"
)
(princ))

669423907 发表于 2016-7-20 16:51:48

Andyhon 发表于 2016-7-20 15:19 static/image/common/back.gif
应是不难,
但...
选择名字???


就是让程序运行时:
先提示选取图形名称,如果没选取则提示输入名称,,,,,,,,
最后再选择图形输出

gzbccy 发表于 2016-7-20 10:52:02

老会员了,自己动手

669423907 发表于 2016-7-20 10:55:35

老了,,,,,,不会

Andyhon 发表于 2016-7-20 15:19:19

应是不难,
但...
选择名字???
放在前面???(放在 ??? 前面)
猜不透

Andyhon 发表于 2016-7-20 17:36:37


(defun c:fw ()
(cond
    ((setq na (entsel "\n选取图形名称:"))
   (setq na (cdr (assoc 1 (entget (car na)))))
    )
    (T (setq na (getstring "\n输入图形名称:")))
)

(princ "\n请选择输出对象: ")
(setq        ss   (ssget ":s" '((0 . "~xline")))
        date   (rtos (getvar "cdate") 2 6)
        年   (substr date 3 2)        ;1 4
        月   (substr date 5 2)
        日   (substr date 7 2)
        tim    (substr date 10)
        时   (substr tim 1 2)
        分   (substr tim 3 2)
        秒   (substr tim 5 2)
        datime (strcat "(" 年 "" 月 "" 日 "_" 时 "" 分 "" 秒 ")")

        desk   (strcat "E:/00/送线割图纸/" na datime)
)
(command "WBLOCK" desk "" '(0 0 0) ss "")
;; 把选择
(command "oops")
(princ "\n选择的对象已完成输出")
(vlax-invoke
    (vlax-create-object "wscript.shell")
    'run
    "E:\\00\\送线割图纸"
)
(princ)
)

my258 发表于 2018-8-21 14:26:48

很好用谢谢
页: [1]
查看完整版本: 哪位大师方便帮忙修改一下外发分图程序