明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 12174|回复: 19

[经验] 自动生成程序

  [复制链接]
发表于 2012-5-30 11:23:57 | 显示全部楼层 |阅读模式
本帖最后由 s678z 于 2015-11-29 10:52 编辑

程序待修改

  ;03/12/31改
  (alert "这个程序用于路桥,图形是1:1,图框放大;\n03/12/31")
  (setvar "cmdecho" 0)
  (setq no 1)
  (if (SETQ TEMFILE (OPEN "D:/INFIEL" "r"))
    (progn (SETQ INF (READ-LINE TEMFILE))
    (CLOSE TEMFILE)
    )
    (setq inf "d:/")
  )
  (setq infile (getfiled "input file name" INF "*" 0))
  (command "sh" "del d:/infile")
  (SETQ TEMFILE (OPEN "D:/INFIEL" "w"))
  (princ infile temfile)
  (CLOSE TEMFILE)   ;(setq f1 (open infile "r"))
  (setq path1 (vl-filename-directory infile))
  (setq path2 (strcat path1 "\\"))
  (setq namelist (vl-directory-files path1 "*.dwg" 1))
  (setq xls_name (vl-directory-files path1 "*.xls" 1))
  (setq doc_name (vl-directory-files path1 "*.doc" 1))
     ;(print f1)
  (if (SETQ TEMdate (OPEN "D:/date" "r"))
    (progn (SETQ INF (READ-LINE TEMdate))
    (CLOSE TEMdate)
    )
    (setq inf "d:/")
  )
  (setq oufile (getfiled "input file name" inf "*" 1))
  (command "sh" "del d:/date")
  (SETQ TEMdate (OPEN "D:/date" "w"))
  (princ oufile TEMdate)
  (CLOSE TEMdate)

  ;;
  (setq ou_list (strcat oufile "li"))
  (setq f_list (open ou_list "w"))

  (setq li_no 0)
  (while (nth li_no namelist)
    (princ (+ li_no 1) f_list)
    (prin1 (nth li_no namelist) f_list)
    (princ "\n" f_list)
    (setq li_no (1+ li_no))
  )
  (close f_list)
  ;;

  ;;     ;(princ "序号 图形文件名 图号 零部件名 材料 图纸尺寸 " f)
     ;(princ "11gfdfg      jkfds" f)
  (setq pathlen1 (strlen infile))
  (setq pathlen pathlen1)
;;;;;;;;;;;;;;

  (while (/= "\\"
      (substr infile pathlen 1)
  )
    (setq pathlen (- pathlen 1))
  )
  ;;
     ;(setq len (- pathlen1 pathlen))
  (setq path (substr infile 1 pathlen))
  (setq file_len (length namelist))
  (setq file_num 0)
;;;begin per dwg file;
  (while (setq name1 (nth file_num namelist))
    (setq name (strcat path2 name1))
    (setq file_num (1+ file_num))
    (print name)
    (setq f (open oufile "a"))
    (if (findfile name)
      (progn
(princ "1111111111111111111111111111111111")
(command "erase" "all" "")
(command "purge" "all" "*" "n")
(command "purge" "all" "*" "n")
(command "zoom" "e")
(command "insert"
   (strcat (itoa (+ 500 no)) "=" name)
   '(0 0)
   1
   1
   0
)
(command "explode" "all")
(command "purge" "all" "*" "n")
(command "layer" "on" "*" "t" "*" "u" "*" "")
;(princ no f)
(princ "2222222222222222222222222222222222")
;(princ " " f)
(princ "no")
;(princ no)
;(princ name1 f)
;(a1 name1 f)


(princ "  ")
(princ name1)
(fram name1 f)
(princ "nnnnnnnnn")
(princ name1)
(setq xls_len (strlen name1))
(setq xls_dg (substr name1 1 (- xls_len 4)))
(setq xlsname (strcat xls_dg ".xls"))
(setq docname (strcat xls_dg ".doc"))
        (cond ((member xlsname xls_name) (princ " 有明细表" f)(princ "\n" f))
       ((member docname doc_name) (princ " 有明细表" f)(princ "\n" f))
       (t (princ "\n" f))
        )
      )
    )
    (close f)
  )
     ;(close f1)
  (alert "finish")
)
;;;;;
(defun nn ()
(setq no (1+ no))
(princ "in to")
(setq size_x (- (nth 0 (getvar "extmax"))
   (nth 0 (getvar "extmin"))
       )
)
(setq size_y (- (nth 1 (getvar "extmax"))
   (nth 1 (getvar "extmin"))
       )
)
(princ size_x)
(princ "\n")
(princ size_y)
(princ "\n")
;;;;;
(COND ((ssget "x" '((0 . "INSERT") (2 . "GB-A1")))
        (
  )
)

本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2017-8-11 18:54:23 | 显示全部楼层
路桥公司图框.rar  无法下载了!!!!
发表于 2023-1-5 11:34:39 | 显示全部楼层
感谢分享。 收藏学习。
发表于 2018-12-25 11:57:23 | 显示全部楼层
感谢分享。 收藏学习。
发表于 2012-5-30 11:56:01 | 显示全部楼层
顶一下,随便坐沙发
发表于 2012-5-30 12:03:48 | 显示全部楼层
感谢分享。 收藏学习。
发表于 2012-5-30 12:30:09 | 显示全部楼层
不是很明,请楼主做个动画地看下。
发表于 2012-5-30 12:39:50 | 显示全部楼层
这个程序的思路,用dbx速度要快些。
发表于 2012-5-30 12:55:28 | 显示全部楼层
LLXXZZ 发表于 2012-5-30 12:39
这个程序的思路,用dbx速度要快些。

大哥,你的那个批量改页码很好用,但我的图框都是横排的,图框有大有小,改页码时都是先改小的图框再改大的图框,我想它改页码时都是从左到右,按顺序改写,而不是先改小的再改大的图框页码,也不用一个个去点选,我想这样会快好多。请大师帮我改下。。。。http://bbs.mjtd.com/thread-89140-1-1.html

点评

这是用了图框的插入点做一排序依据,您可以有意识的把插入点弄成水平对齐的情况。  发表于 2012-5-31 12:31
发表于 2012-5-30 13:02:07 | 显示全部楼层
LLXXZZ 发表于 2012-5-30 12:39
这个程序的思路,用dbx速度要快些。

什么是DBX?

点评

还是搜搜吧,是一个对象,可以把dwg文件创建成dbx,这样就可以不打开图直接访问这个dwg文件的内容了。  发表于 2012-5-31 12:29
发表于 2012-6-21 20:58:15 | 显示全部楼层
看样子,大家都喜欢回水贴,都不解决问题,只有顶到老大出手才行

我的建议,cad本身就有属性萃取器,本身就是通用的,不用改这个了!!
发表于 2012-8-22 15:46:50 | 显示全部楼层
发表于 2012-8-23 16:23:39 | 显示全部楼层
感谢分享。 收藏学习。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-23 18:15 , Processed in 0.223324 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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