136724140 发表于 2016-1-19 10:42:43

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

如何能够实自动查找EXCEL表中的文字对应CAD图纸中的X,Y,Z坐标,并输出到excel中,最好能在新图中相应的点坐标上绘制出一个直径为1的圆。

陨落 发表于 2016-1-19 11:42:12

把excel里面的行号和文字对应形成一个表,到cad里面框选文字,将所有文字与坐标形成第二个表。然后根据第一个表查找第二个表的数据即可。

小男人漏水 发表于 2016-1-19 13:49:36

CAD的坐标输入到ECXEL里面,然后用VLOOKUP录制宏来实现。

kozmosovia 发表于 2016-1-19 15:25:22

“文字对应CAD图纸中的X,Y,Z坐标”是啥意思?文字的插入点坐标?还是文字统一的左上点坐标?

136724140 发表于 2016-1-19 15:57:06

文字的插入点坐标

136724140 发表于 2016-1-19 16:02:08

小男人漏水 发表于 2016-1-19 13:49 static/image/common/back.gif
CAD的坐标输入到ECXEL里面,然后用VLOOKUP录制宏来实现。

每次是要根据EXCEL中给的文字 然后提取途中对应的文字和旁边的圆,正常来说,应该是把文字的插入点与圆心相对应,圆直径都统一为1,读取每个圆对应的X,Y,Z坐标值到excel里面。这是个每天都要重复的工作,在想办法能否直接通过CAD读取excel的数据,再返回到excel里面

136724140 发表于 2016-1-19 16:03:19

kozmosovia 发表于 2016-1-19 15:25 static/image/common/back.gif
“文字对应CAD图纸中的X,Y,Z坐标”是啥意思?文字的插入点坐标?还是文字统一的左上点坐标?

应该是文字的插入点坐标, 规范来说,文字的插入点应该与圆的圆心相同位置的

kozmosovia 发表于 2016-1-19 16:06:56

本帖最后由 kozmosovia 于 2016-1-19 16:35 编辑

136724140 发表于 2016-1-19 16:03 static/image/common/back.gif
应该是文字的插入点坐标, 规范来说,文字的插入点应该与圆的圆心相同位置的
文字对齐方式有多种,所以文字的插入点坐标是要统一的?
从截图看,圆已经存在了。而且有些没有和文字插入点叠合。

建议先删除或者隔离已有的半径为1的圆,然后运行程序。程序会自动在文字插入点生成半径为1的新圆。
(Defun C:ABC (/ IDX II INS MS RNG RRR SS TXT VLO XL)
(if (setq idx        0
          ms        (vla-get-Modelspace
                  (vla-get-activeDocument (vlax-get-acad-object))
                )
          xl        (vlax-get-object "excel.application")
      )
    (while (and        (setq rng (vlax-get-property
                          xl
                          "Range"
                          (strcat "A" (itoa (setq idx (1+ idx))))
                          )
                      txt (vlax-variant-value (vlax-get-property rng "Text"))
                )
                (/= txt "")
           )
      (if (setq        ii -1
                ss (ssget "_x" (list (cons 0 "*text") (cons 1 txt)))
          )
        (repeat        (sslength ss)
          (setq
          vlo        (vlax-ename->vla-object (ssname ss (setq ii (1+ ii))))
          ins        (vla-get-insertionpoint vlo)
          rrr        (vlax-get-property
                  xl
                  "Range"
                  (strcat "B" (itoa idx) ":D" (itoa idx))
                )
          )
          (vlax-put-property rrr "Value2" ins)
          (vla-addcircle ms ins 1.0)
        )
      )
    )
)
(if xl
    (vlax-release-object xl)
)
(princ)
)

136724140 发表于 2016-1-19 17:01:06

kozmosovia 发表于 2016-1-19 16:06 static/image/common/back.gif
文字对齐方式有多种,所以文字的插入点坐标是要统一的?
从截图看,圆已经存在了。而且有些没有和文字插 ...

谢谢~~其实那个属于工作流程上面的,我想的是在标注文字的时候就直接对齐到圆心,这样剩下的应用程序一次性处理掉

136724140 发表于 2016-1-19 17:05:28

陨落 发表于 2016-1-19 11:42 static/image/common/back.gif
把excel里面的行号和文字对应形成一个表,到cad里面框选文字,将所有文字与坐标形成第二个表。然后根据第一 ...

还有就是,图太大了,而且每天都会更新的
页: [1] 2
查看完整版本: 如何能够实自动查找EXCEL表中的文字对应CAD图纸中的X,Y,Z坐标,并输出到excel中