明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4081|回复: 12

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

[复制链接]
发表于 2013-6-14 08:22:07 | 显示全部楼层 |阅读模式
10明经币
本帖最后由 Gu_xl 于 2013-6-14 16:32 编辑

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

附件: 您需要 登录 才可以下载或查看,没有账号?注册

点评

请修改帖子标题!标题要反映实际帖子内容!  发表于 2013-6-14 12:07
发表于 2013-6-14 10:57:46 | 显示全部楼层
不用天正 没有动图看不懂你要什么
回复

使用道具 举报

 楼主| 发表于 2013-6-14 11:45:29 | 显示全部楼层
cre8or 发表于 2013-6-14 10:57
不用天正 没有动图看不懂你要什么

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

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

使用道具 举报

发表于 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
求程序嘛就直说,何必发一些挑战高手之类的标题来哗众取宠!
方法:插入块后炸开,然后(setq ss (ssget "_ ...

不好意思,确有哗众取宠之实,我将标题改为“求一个【插入图块(炸开),并移动块中文字】的程序”,然后保存,提示编辑成功,但是标题还是没改过来~~
回复

使用道具 举报

发表于 2013-6-14 23:07:36 | 显示全部楼层
  1. (defun c:tt ()
  2. (setvar "CMDECHO" 0)
  3. (setq nm (if (= (type nm) 'STR) nm ""))
  4. (if (setq nm (getfiled "选择要插入的图块" nm "dwg" 2)) (progn
  5.   (command "_.INSERT" nm PAUSE 1 1 0)
  6.   (command "_.EXPLODE" "L")
  7.   (setq ss (ssget "P" '((0 . "*TEXT"))))
  8. (command "_.MOVE" ss "" PAUSE PAUSE)
  9. ))
  10. (setvar "CMDECHO" 1)
  11. (princ)
  12. )

点评

http://bbs.mjtd.com/forum.php?mod=viewthread&tid=85519,Z版,这个帖子里的内容是否可参考?我试着改了下,能做成以文字中心为基点移动图元(省了左键选取基点的步骤,能否再进一步省掉右键确定基点的步骤?)   发表于 2013-6-16 09:16
回复

使用道具 举报

 楼主| 发表于 2013-6-15 00:07:09 | 显示全部楼层
ZZXXQQ 发表于 2013-6-14 23:07

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

点评

1、不知道你的路径和预设图块是什么,这方面只能由你自己完善。 2、移动文字的基点是由用户选择的点决定,程序只是在等待用户输入。  发表于 2013-6-15 09:43
回复

使用道具 举报

 楼主| 发表于 2013-6-15 21:43:54 | 显示全部楼层
ZZXXQQ 发表于 2013-6-14 23:07

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

使用道具 举报

 楼主| 发表于 2013-6-15 22:46:37 | 显示全部楼层
ZZXXQQ 发表于 2013-6-14 23:07

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

使用道具 举报

发表于 2013-6-16 10:24:30 | 显示全部楼层
那就直接用文字中点做起始点吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-2-27 13:10 , Processed in 0.180041 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表