半听可乐 发表于 2013-6-14 08:22:07

求一个【插入图块(炸开),并移动块中文字】的程序

本帖最后由 Gu_xl 于 2013-6-14 16:32 编辑

小弟使用天正给排水,其中有些功能虽好,但使用上总觉得不够人性化,具体的功能可能大侠们也不想去了解,我也不废话了,直截了当,如附图中所描述,望高手支招!附件中的dwg文件作试验用

cre8or 发表于 2013-6-14 10:57:46

不用天正 没有动图看不懂你要什么

半听可乐 发表于 2013-6-14 11:45:29

cre8or 发表于 2013-6-14 10:57 static/image/common/back.gif
不用天正 没有动图看不懂你要什么

我想要的这个功能跟天正没有任何关系,简单的说就是想要通过下面的程序插入指定图块,插块完了之后紧接着对块中的文字做move操作
;;;--------------------------------------------------
;;;★插入常用图块(不好意思,忘记是哪位热心朋友写的了,记忆中的ID:Print**)
;;;图块名前加*表示插入后分解
;;;--------------------------------------------------
(defun c:NTG() (crtk "*图纸修改备注文字.dwg"));

(defun crtk (tkm);插入图块子程序
(while (setq p1 (getpoint "\n插入点:"))
   (command "-insert" tkm p1 "1" "0" )
)
(princ)
)

Gu_xl 发表于 2013-6-14 12:06:15

求程序嘛就直说,何必发一些挑战高手之类的标题来哗众取宠!
方法:插入块后炸开,然后(setq ss (ssget "_p" '((0 . "*text"))))就得到了文字对象!

半听可乐 发表于 2013-6-14 14:12:29

Gu_xl 发表于 2013-6-14 12:06 static/image/common/back.gif
求程序嘛就直说,何必发一些挑战高手之类的标题来哗众取宠!
方法:插入块后炸开,然后(setq ss (ssget "_ ...
不好意思,确有哗众取宠之实,我将标题改为“求一个【插入图块(炸开),并移动块中文字】的程序”,然后保存,提示编辑成功,但是标题还是没改过来~~

ZZXXQQ 发表于 2013-6-14 23:07:36

(defun c:tt ()
(setvar "CMDECHO" 0)
(setq nm (if (= (type nm) 'STR) nm ""))
(if (setq nm (getfiled "选择要插入的图块" nm "dwg" 2)) (progn
(command "_.INSERT" nm PAUSE 1 1 0)
(command "_.EXPLODE" "L")
(setq ss (ssget "P" '((0 . "*TEXT"))))
(command "_.MOVE" ss "" PAUSE PAUSE)
))
(setvar "CMDECHO" 1)
(princ)
)

半听可乐 发表于 2013-6-15 00:07:09

ZZXXQQ 发表于 2013-6-14 23:07 static/image/common/back.gif


感谢Z版的热心回复,程序效果有惊喜,也有完善空间:
惊喜:通过到指定文件夹选择图块,能省掉记较多的快捷键(我的初衷是插入支持路径中指定文件名的单个图块)
待完善:
1.运行程序时进入的选择图块文件夹并非目标图块所在文件夹,需要繁琐的路径选择;或者换一种思路,运行程序后直接出现一个列表,列表里排列着预设的图块名字,点哪个就插入哪个
2.对插入后的文字进行移动时,能否将移动对象的基点设为对象中心点或者某角点?目前移动文字时基点貌似在坐标原点
希望Z版能耐心看完,然后继续提供帮助谢谢!

半听可乐 发表于 2013-6-15 21:43:54

ZZXXQQ 发表于 2013-6-14 23:07 static/image/common/back.gif


自定义路径在哪一行呢?
预设图块名你随便列几个,我做填空题可以吗?

半听可乐 发表于 2013-6-15 22:46:37

ZZXXQQ 发表于 2013-6-14 23:07 static/image/common/back.gif


z版,拜托了,真的好想要这个功能,希望可以自定义路径,然后插入后也不提示选择基点(直接就以文字中心为基点),直接移动鼠标就行了

ZZXXQQ 发表于 2013-6-16 10:24:30

那就直接用文字中点做起始点吧
页: [1] 2
查看完整版本: 求一个【插入图块(炸开),并移动块中文字】的程序