明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 7397|回复: 40

如何将多个DWG文件图纸自动导入一个DWG文件中?

  [复制链接]
发表于 2004-11-22 23:42:00 | 显示全部楼层 |阅读模式
请坛中老师帮忙: 我们平时绘制的图纸,都是一页图纸一个DWG文件,都是采用相同的图框,文件编号依次为01.dwg、02.dwg……
本人想将这些图纸自动导入到一个DWG图纸中,按5 个一行有规律的进行排列,这能否实现? 反之,能否将在一个DWG文件中,按5个一行排列的图纸,再自导出为一个个单个的DWG文件? 如能用lisp编程更好。
发表于 2004-11-23 08:25:00 | 显示全部楼层
可以,,,给一个你的图框(DWG文件)
 楼主| 发表于 2004-11-23 10:05:00 | 显示全部楼层
图框


       

本帖子中包含更多资源

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

x
发表于 2004-11-23 12:31:00 | 显示全部楼层
这个应该挺实用的,飞版什么时候发出来啊?
发表于 2004-11-24 08:53:00 | 显示全部楼层
我不信你的图框是这样的
发表于 2004-11-24 09:26:00 | 显示全部楼层
这是按你的图框的一个导入程序,如果有什么问题,请详细说明,不要我来问。。。
  1. (defun c:im( / i dir pt_last files os)
  2.    (setq i 0)
  3.    (setq dir (GetFolder "选择文件夹..."))
  4.    (setq pt_last (getpoint "选择起点:"))
  5.    (setq pt_last (polar pt_last 0 4200))
  6.    (setq files (vl-directory-files dir "*.dwg" 1))
  7.    (if (/= (substr dir (1- (strlen dir)) 1) "\")
  8.        (setq dir (strcat dir "\"))
  9.    )
  10.    (setvar "cmdecho" 0)
  11.    (command "_.undo" "be")
  12.    (setq os (getvar "osmode"))
  13.    (setvar "osmode" 0)
  14.    (repeat (length files)
  15.        (setq pt_last (Insert (strcat "*" dir (nth i files)) pt_last i))
  16.        (setq i (1+ i))
  17.    )
  18.    (setvar "osmode" os)
  19.    (command "_.undo" "e")
  20.    (princ)
  21. )
  22. (defun insert(filename pt_last index)
  23.    (setq filename (strcat """ filename """))   
  24.    (if (= (rem index 5) 0)
  25.        (setq pt_last (list (- (car pt_last) 4200) (- (cadr pt_last) 850)));polar pt_last pi 4200))
  26.        (setq pt_last (polar pt_last 0 1050))
  27.    )
  28.    (command "_.insert" filename pt_last "" "" )
  29.    pt_last
  30. )
  31. (defun GetFolder (msg / WinShell shFolder path catchit)
  32.    (setq winshell (vlax-create-object "Shell.Application"))
  33.    (setq
  34.        shFolder (vlax-invoke-method WinShell 'BrowseForFolder 0 msg 1)
  35.    )
  36.    (setq
  37.        catchit (vl-catch-all-apply
  38.              '(lambda ()
  39.      (setq shFolder (vlax-get-property shFolder 'self))
  40.      (setq path (vlax-get-property shFolder 'path))
  41.                )
  42.          )
  43.    )
  44.    (if (vl-catch-all-error-p catchit)
  45.        nil
  46.        path
  47.    )
  48. )
发表于 2004-11-24 11:16:00 | 显示全部楼层

文件另存并激活、修改后保存

放错位置了
发表于 2004-11-24 11:37:00 | 显示全部楼层
chen4发表于2004-11-24 11:16:00回复:(chen4)文件另存并激活、修改后保存放错位置了

??????
 楼主| 发表于 2004-11-24 16:28:00 | 显示全部楼层
谢谢meflying老师: 我晚上来认真学习,争取弄懂它。
 楼主| 发表于 2004-11-24 23:07:00 | 显示全部楼层
meflying老师: 没有找到GetFolder这个命令,我是AutoCAD2000.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-30 04:28 , Processed in 0.168762 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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