明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4485|回复: 11

[提问] 如何能够实自动查找EXCEL表中的文字对应CAD图纸中的X,Y,Z坐标,并输出到excel中

[复制链接]
发表于 2016-1-19 10:42:43 | 显示全部楼层 |阅读模式
如何能够实自动查找EXCEL表中的文字对应CAD图纸中的X,Y,Z坐标,并输出到excel中,最好能在新图中相应的点坐标上绘制出一个直径为1的圆。

本帖子中包含更多资源

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

x
发表于 2016-1-19 11:42:12 | 显示全部楼层
把excel里面的行号和文字对应形成一个表,到cad里面框选文字,将所有文字与坐标形成第二个表。然后根据第一个表查找第二个表的数据即可。
发表于 2016-1-19 13:49:36 | 显示全部楼层
CAD的坐标输入到ECXEL里面,然后用VLOOKUP录制宏来实现。
发表于 2016-1-19 15:25:22 | 显示全部楼层
“文字对应CAD图纸中的X,Y,Z坐标”是啥意思?文字的插入点坐标?还是文字统一的左上点坐标?
 楼主| 发表于 2016-1-19 15:57:06 | 显示全部楼层
文字的插入点坐标
 楼主| 发表于 2016-1-19 16:02:08 | 显示全部楼层
小男人漏水 发表于 2016-1-19 13:49
CAD的坐标输入到ECXEL里面,然后用VLOOKUP录制宏来实现。

每次是要根据EXCEL中给的文字 然后提取途中对应的文字和旁边的圆,正常来说,应该是把文字的插入点与圆心相对应,圆直径都统一为1,读取每个圆对应的X,Y,Z坐标值到excel里面。这是个每天都要重复的工作,在想办法能否直接通过CAD读取excel的数据,再返回到excel里面
 楼主| 发表于 2016-1-19 16:03:19 | 显示全部楼层
kozmosovia 发表于 2016-1-19 15:25
“文字对应CAD图纸中的X,Y,Z坐标”是啥意思?文字的插入点坐标?还是文字统一的左上点坐标?

应该是文字的插入点坐标, 规范来说,文字的插入点应该与圆的圆心相同位置的
发表于 2016-1-19 16:06:56 | 显示全部楼层
本帖最后由 kozmosovia 于 2016-1-19 16:35 编辑
136724140 发表于 2016-1-19 16:03
应该是文字的插入点坐标, 规范来说,文字的插入点应该与圆的圆心相同位置的

文字对齐方式有多种,所以文字的插入点坐标是要统一的?
从截图看,圆已经存在了。而且有些没有和文字插入点叠合。

建议先删除或者隔离已有的半径为1的圆,然后运行程序。程序会自动在文字插入点生成半径为1的新圆。

  1. (Defun C:ABC (/ IDX II INS MS RNG RRR SS TXT VLO XL)
  2.   (if (setq idx        0
  3.             ms        (vla-get-Modelspace
  4.                   (vla-get-activeDocument (vlax-get-acad-object))
  5.                 )
  6.             xl        (vlax-get-object "excel.application")
  7.       )
  8.     (while (and        (setq rng (vlax-get-property
  9.                             xl
  10.                             "Range"
  11.                             (strcat "A" (itoa (setq idx (1+ idx))))
  12.                           )
  13.                       txt (vlax-variant-value (vlax-get-property rng "Text"))
  14.                 )
  15.                 (/= txt "")
  16.            )
  17.       (if (setq        ii -1
  18.                 ss (ssget "_x" (list (cons 0 "*text") (cons 1 txt)))
  19.           )
  20.         (repeat        (sslength ss)
  21.           (setq
  22.             vlo        (vlax-ename->vla-object (ssname ss (setq ii (1+ ii))))
  23.             ins        (vla-get-insertionpoint vlo)
  24.             rrr        (vlax-get-property
  25.                   xl
  26.                   "Range"
  27.                   (strcat "B" (itoa idx) ":D" (itoa idx))
  28.                 )
  29.           )
  30.           (vlax-put-property rrr "Value2" ins)
  31.           (vla-addcircle ms ins 1.0)
  32.         )
  33.       )
  34.     )
  35.   )
  36.   (if xl
  37.     (vlax-release-object xl)
  38.   )
  39.   (princ)
  40. )
 楼主| 发表于 2016-1-19 17:01:06 | 显示全部楼层
kozmosovia 发表于 2016-1-19 16:06
文字对齐方式有多种,所以文字的插入点坐标是要统一的?
从截图看,圆已经存在了。而且有些没有和文字插 ...

谢谢~~其实那个属于工作流程上面的,我想的是在标注文字的时候就直接对齐到圆心,这样剩下的应用程序一次性处理掉
 楼主| 发表于 2016-1-19 17:05:28 | 显示全部楼层
陨落 发表于 2016-1-19 11:42
把excel里面的行号和文字对应形成一个表,到cad里面框选文字,将所有文字与坐标形成第二个表。然后根据第一 ...

还有就是,图太大了,而且每天都会更新的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-20 21:16 , Processed in 0.194107 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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