明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 23403|回复: 73

[源码] cad表格 --> wps / office Excel 表格

    [复制链接]
发表于 2019-1-3 20:37:40 | 显示全部楼层 |阅读模式
本帖最后由 1291500406 于 2019-5-1 18:36 编辑

cad --> csv 表格,数据提取,立即打开,wps,office Excel表格

本帖子中包含更多资源

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

x

点评

好东西,顶一下  发表于 2020-12-17 00:19

评分

参与人数 2明经币 +2 收起 理由
被风吹走的灰尘 + 1
hubeiwdlue + 1 很给力!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下

本帖被以下淘专辑推荐:

 楼主| 发表于 2019-1-3 21:47:03 | 显示全部楼层
回复 支持 1 反对 0

使用道具 举报

发表于 2019-6-26 22:57:33 | 显示全部楼层
;;在原本的基础上优化了了,打开文件故障的问题
(defun c:c2e (/ hangdau @dclfiledame)
  (defun sosanh        (e1 e2 / p1 p2)
    (setq p1 (car e1)
                        p2 (car e2)
    )
    (if        (equal (cadr p1) (cadr p2) fuzz)
      (< (car p1) (car p2))
      (< (cadr p2) (cadr p1))
    )
  )
  (setq        ss        (ssget '((0 . "TEXT")))
                lst        (ss2ent ss)
                lst        (mapcar        '(lambda (e)
                                                                         (cons (cdr (assoc 10 (entget e)))
                                                                                 (cdr (assoc 1 (entget e)))
                                                                         )
                                                                 )
                                        lst
                                )
                lst        (mapcar        '(lambda (e)
                                                                         (if (= (cdr e) "*")
                                                                                 (cons (car e) "")
                                                                                 e
                                                                         )
                                                                 )
                                        lst
                                )
                caotext        (cdr (assoc 40 (entget (ssname ss 0))))
                fuzz        (* caotext 1.0)
                lst        (vl-sort lst 'sosanh)
                index        1
                oldy        nil       
        @dclfiledame (vl-filename-mktemp nil nil ".csv")       
                fid        (open @dclfiledame "w")
  )               
  (vlax-invoke
                (vlax-get-or-create-object "Wscript.Shell")
                'RUN
                @dclfiledame ;;(任意已经建立关联程序的文件)
        )
  (foreach e lst
    (if        (equal oldy (cadr (car e)) fuzz)
      (progn (princ "," fid) (setq index (1+ index)))
      (progn (if hangdau
                                                         (progn (setq index 1) (princ "\n" fid))
                                                         (setq hangdau t)
                                                 )
      )
    )
    (princ (cdr e) fid)
    (setq oldy (cadr (car e)))
  )
  (close fid)
)
(defun ss2ent (ss / sodt index lstent)
  (setq        sodt  (if ss
                                                                (sslength ss)
                                                                0
                                                        )
                index 0
  )
  (repeat sodt
    (setq ent         (ssname ss index)
                        index         (1+ index)
                        lstent (cons ent lstent)
    )
  )
  (reverse lstent)
)
 楼主| 发表于 2019-5-1 18:37:43 | 显示全部楼层
消失的天空 发表于 2019-5-1 18:32
楼主下载文件哪儿有,没看到呢。

(defun c:bb ( /  hangdau)(defun sosanh (e1 e2 / p1 p2)(setq p1 (car e1)p2 (car e2))
(if (equal (cadr p1) (cadr p2) fuzz)(< (car p1) (car p2))(< (cadr p2) (cadr p1))))
(setq ss (ssget '((0 . "TEXT"))) lst (ss2ent ss) lst (mapcar '(lambda (e) (cons (cdr (assoc 10 (entget e))) (cdr (assoc 1 (entget e))))) lst)
lst (mapcar '(lambda (e) (if (= (cdr e) "*") (cons (car e) "") e)) lst) caotext (cdr (assoc 40 (entget (ssname ss 0))))
fuzz (* caotext 1.0) lst (vl-sort lst 'sosanh) index 1 oldy nil
fid (open "d:\\xls数据文件.csv"  "w"))
(command "start" "d:\\xls数据文件.csv")
(foreach e lst(if (equal oldy (cadr (car e)) fuzz)(progn(princ "," fid)(setq index (1+ index)))
(progn(if hangdau(progn(setq index 1)(princ "\n" fid))(setq hangdau t))))
(princ (cdr e) fid)(setq oldy (cadr (car e))))(close fid))
(defun ss2ent (ss / sodt index lstent)(setq sodt (if ss(sslength ss)0)index 0)
(repeat sodt(setq ent (ssname ss index)index (1+ index)lstent (cons ent lstent)))(reverse lstent))

发表于 2019-1-3 20:51:24 | 显示全部楼层
沙发  坐一下...
发表于 2019-1-3 21:28:11 | 显示全部楼层
还不会操作表格  来学习下
发表于 2019-1-3 21:43:18 | 显示全部楼层
希望有excel表格导入CAD的程序
发表于 2019-1-4 01:36:39 | 显示全部楼层
如果是写成CSV的话,无非是按线计算点,空格加,
发表于 2019-1-4 08:14:10 | 显示全部楼层
里面有一个空格试试
发表于 2019-1-4 08:42:11 | 显示全部楼层
这个比较简单
发表于 2019-1-4 08:54:12 | 显示全部楼层
选择对象:  未知命令“START”。按 F1 查看帮助。
未知命令“CSV”。按 F1 查看帮助。


cad2016+office2010
发表于 2019-1-4 11:08:13 | 显示全部楼层
似乎简单了一点
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 03:24 , Processed in 0.167961 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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