明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1325|回复: 10

[提问] 哪位大神能不能帮忙开发个复杂的分图程序!!!急,在线等

[复制链接]
发表于 2018-9-12 14:39:47 | 显示全部楼层 |阅读模式
本帖最后由 humans23 于 2018-9-13 10:55 编辑

介绍下,一张大图里有很多有编号的零件,我要做的是手动把这些有编号的零件全部另存出来,并用编号字母前的数字命名保存。 比如我要编号1234B-42654这个零件,
我的手动操作是:1.先用查找find,搜索1234B,并定位

2.定位后,窗选零件,用TXTEXP命令把字体炸开(注意此命令不能大批量使用,且不能缩放太小使用,否则炸开的文字线条是一条直线或者字体变形)
3.然后再窗选,用WB命令,1234命名保存,完毕这些零件编号取自Excel中,图形乱序排列,只得一个一个搜索,我的理想程序是通过Excel中的编号能不能分图,或则是给出图形中心坐标,把图中字体分解并以字母前的数字命名保存。如有大神觉得能实现,具体细节请QQ332369043联系我









本帖子中包含更多资源

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

x
发表于 2018-9-12 19:29:13 | 显示全部楼层
Try this

(defun dxg (code ele)
   (cdr (assoc code (entget ele)))
)

(Defun C:Try ()
   (setq ss (ssget "X" '((1 . "J*B-*")))
        Dir (GetVar "DWGPREFIX")
        HH1 '(500 450)
        HH2 '(1705 450)
        IDX  -1
   )
   (While (setq ee (ssname ss (setq idx (1+ idx))))
     (setq pt (dxg 10 ee)
           p1 (mapcar '- pt HH1)
           p2 (mapcar '+ pt HH2)
          Tmp (ssget "C" p1 p2)
          txt (dxg 1 ee)
          txt (substr txt 2 4)
      )
      (command "Wblock" (strcat Dir txt) "" "non" pt Tmp "")
    )
)

点评

长老好厉害!  发表于 2018-9-12 21:19
回复 支持 1 反对 0

使用道具 举报

发表于 2018-9-12 15:00:18 | 显示全部楼层
急得话上例图,用钱砸。
 楼主| 发表于 2018-9-12 15:31:36 | 显示全部楼层
mikewolf2k 发表于 2018-9-12 15:00
急得话上例图,用钱砸。

嗯啊,就不知道什么价位呀。你看看这个样图,可以实现吗。

本帖子中包含更多资源

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

x
发表于 2018-9-12 16:32:10 | 显示全部楼层
怎么联系楼主
 楼主| 发表于 2018-9-12 16:40:25 | 显示全部楼层
QQ332369043
发表于 2018-9-12 16:48:34 来自手机 | 显示全部楼层
能不能发一份  想要的结果图
 楼主| 发表于 2018-9-12 17:06:38 | 显示全部楼层
纵横八方 发表于 2018-9-12 16:48
能不能发一份  想要的结果图

结果图是取B字母前的数字命名

本帖子中包含更多资源

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

x
 楼主| 发表于 2018-9-13 10:53:36 | 显示全部楼层
Andyhon 发表于 2018-9-12 19:29
Try this

(defun dxg (code ele)

……6666666,长老,此程序能不能再改一下,能不能把分出来的图字体炸成线条
发表于 2018-9-13 18:46:18 | 显示全部楼层
;;; 替換如下
(Defun C:Try ()
   (SetVar 'CmdEcho 0)
   (setq ss (ssget "X" '((1 . "J*B-*")))
        Dir (GetVar "DWGPREFIX")
        HH1 '(600 500)
        HH2 '(1700 500)
        IDX  -1
   )
   
   (While (setq ee (ssname ss (setq idx (1+ idx))))
     (setq pt (dxg 10 ee)
           p1 (mapcar '- pt HH1)
           p2 (mapcar '+ pt HH2)
          txt (dxg 1 ee)
          txt (substr txt 2 4)
           ff (strcat Dir txt)
     )
     (command "Zoom" "w" p1 p2)
     (setq Tmp (ssget "W" p1 p2 '((0 . "*TEXT"))))
     (command "WMFOUT" ff Tmp "")
     (acet-wmfin ff)
     (vl-file-delete (strcat ff ".wmf"))
     (command "Erase" Tmp "")
     (setq Tmp (ssget "C" p1 p2))
     (command "Wblock" ff "" "non" pt Tmp "")
   )
)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-19 07:18 , Processed in 0.167778 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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