664571221
发表于 2018-7-9 14:34:56
664571221 发表于 2018-7-9 14:32
可以了大侠,两个有啥不同呀,非常感谢
大侠可以加你QQ吗
bluefcc1
发表于 2018-7-9 15:48:57
剪贴版函式来自
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=100515&highlight=%D7%A2%B2%E1
bluefcc1
发表于 2018-7-9 15:50:06
664571221 发表于 2018-7-9 14:34
大侠可以加你QQ吗
不好意思!我沒有QQ
664571221
发表于 2018-7-9 15:58:11
bluefcc1 发表于 2018-7-9 15:50
不好意思!我沒有QQ
大侠看下这段程序最后生成的文字如何复制到粘贴板
(defun c:ss( / ss osmode i name ent size size_new size_all bak_cecolor)
(setvar "cmdecho" 0)
;(setq osmode (getvar "osmode"))
(setq i 0)
(princ "\n选择尺寸")
(if(setq ss(ssget '((0 . "DIMENSION"))))
(progn
(setq bak_dimzin(getvar 'dimzin))
(setvar 'dimzin 8)
(while (setq name (ssname ss 0))
(setq i (1+ i))
(setq ent (entget name))
(setq size (cdr (assoc 42 ent)))
(if (= i 1)
(setq num_all size)
(setq num_all (+ num_all size))
)
(setq size_new (rtos(* size 0.001) 2 3))
(if (= i 1)
(setq size_all size_new)
(setq size_all (strcat size_all "+" size_new ))
)
(setq ss(ssdel name ss))
)
(setq bak_cecolor(getvar 'cecolor))
(setvar 'cecolor "1")
(setq size_all(strcat "(" size_all ")"))
(vl-cmdf "_.text" "j" "mc" (getpoint "\n文本放置点") "250" "0" size_all)
(and bak_cecolor (setvar 'cecolor bak_cecolor))
(and bak_dimzin (setvar 'dimzin bak_dimzin))
)
)
;(setvar "osmode" osmode)
(setvar "cmdecho" 1)
(princ)
)
bluefcc1
发表于 2018-7-9 16:09:42
(defun c:ss( / ss osmode i name ent size size_new size_all bak_cecolor)
(setvar "cmdecho" 0)
;(setq osmode (getvar "osmode"))
(setq i 0)
(princ "\n選擇尺寸")
(if(setq ss(ssget '((0 . "DIMENSION"))))
(progn
(setq bak_dimzin(getvar 'dimzin))
(setvar 'dimzin 8)
(while (setq name (ssname ss 0))
(setq i (1+ i))
(setq ent (entget name))
(setq size (cdr (assoc 42 ent)))
(if (= i 1)
(setq num_all size)
(setq num_all (+ num_all size))
)
(setq size_new (rtos(* size 0.001) 2 3))
(if (= i 1)
(setq size_all size_new)
(setq size_all (strcat size_all "+" size_new ))
)
(setq ss(ssdel name ss))
)
(setq bak_cecolor(getvar 'cecolor))
(set-clip-string size_all);複製到剪貼簿 (不含括號)
(setvar 'cecolor "1")
(setq size_all(strcat "(" size_all ")"))
(vl-cmdf "_.text" "j" "mc" (getpoint "\n文本放置點") "250" "0" size_all)
(and bak_cecolor (setvar 'cecolor bak_cecolor))
(and bak_dimzin (setvar 'dimzin bak_dimzin))
)
)
;(setvar "osmode" osmode)
(setvar "cmdecho" 1)
(princ)
)
;;剪貼簿函數
(defun set-clip-string (str / html result)
(and
(= (type str) 'str)
(setq html (vlax-create-object "htmlfile"))
(setq result (vlax-invoke (vlax-get (vlax-get html 'parentwindow)
'clipboarddata
) 'setdata "Text" str
)
)
(vlax-release-object html)
)
)
664571221
发表于 2018-7-10 09:15:23
bluefcc1 发表于 2018-7-9 16:09
(defun c:ss( / ss osmode i name ent size size_new size_all bak_cecolor)
(setvar "cmdecho" 0)
...
谢谢大侠,非常感谢.
cabinsummer
发表于 2018-7-11 15:05:09
无需编程,CAD命令行的FIND就实现了
evayleung
发表于 2018-7-11 20:43:32
直接用CAD的FIND命令不好么?一样的好用啊。
ghgh0130
发表于 2018-7-15 20:05:12
(vl-string-translate " X" ",*" "我好 你好X他好")
664571221
发表于 2018-7-15 20:27:19
ghgh0130 发表于 2018-7-15 20:05
(vl-string-translate " X" ",*" "我好 你好X他好")
我只是举例,不是指针对这个