明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3677|回复: 12

写个批量生成fas的程序如下

  [复制链接]
发表于 2012-5-26 21:59:53 | 显示全部楼层 |阅读模式
本帖最后由 linshiyin2 于 2012-5-27 18:02 编辑

写一个函数,能让指定或选定目录里的lisp批量生成fas。
3楼自己写了一个,源码附上,谁能改进一下,使其能够遍历本目录下所有的文件夹下的lsp。
 楼主| 发表于 2012-5-26 22:03:01 | 显示全部楼层
列出给定目录中的所有文件

(vl-directory-files  [directory pattern directories])
参数

directory

字符串,指定要收集文件的目录。如果未指定该参数或参数为 nil,vl-directory-files 使用当前目录。

pattern

字符串,包含文件名的 DOS 方式。如果未指定该参数或参数为 nil,vl-directory-files 假定为 "*.*"

directories

整数型,指定返回的表中是否包含路径名。可以指定下列值之一:

–1 仅列出目录。

0 列出文件和目录(缺省值)。

1 仅列出文件。

 楼主| 发表于 2012-5-26 23:30:43 | 显示全部楼层
本帖最后由 linshiyin2 于 2012-5-27 16:46 编辑
  1. (defun c:lsptofas ( / f fname ml n str)
  2.   
  3.   (vl-load-com)
  4.   
  5.   (setq fname (getfiled "lisp数据文件" ".lsp" "lsp" 16))
  6.   (if (not fname)
  7.     (exit)
  8.   )
  9.   (if (not (setq f (vl-filename-directory fname)))
  10.     (exit)
  11.   )
  12.   (setq ml (vl-directory-files f "*.lsp" 1))
  13.   (setq n (length ml))
  14.   (princ "\n 转换中...请稍等! \n")
  15.   (repeat n
  16.     (setq str (car ml)
  17.     str (strcat f "\" str)
  18.     )
  19.     (vlisp-compile 'st str)
  20.     (vl-file-delete  str)
  21.     (setq ml (cdr ml))
  22.   )
  23.   (princ (strcat "转换数:" (itoa n)))
  24.   (princ)
  25. )


发表于 2012-5-27 08:20:07 | 显示全部楼层
三楼的程序未贴出来, 麻烦楼主贴出来
发表于 2012-5-27 08:32:40 | 显示全部楼层
就是,贴哪里去了?
 楼主| 发表于 2012-6-6 22:06:48 | 显示全部楼层
说明一下,使用这个程序必须打开vlisp窗口,函数决定的,没办法解决。
 楼主| 发表于 2012-6-6 22:10:03 | 显示全部楼层
还要提醒一下,转换成fas的同时也删除了lsp文件,如果不需要删除lsp修改程序中的一句话即可。
发表于 2012-6-7 09:42:43 | 显示全部楼层
这个不错,程序简单实用!
发表于 2012-6-7 10:19:51 | 显示全部楼层
程序的想法很好,可用VLISP中的工程来管理LSP文件,应该是一个更好的方法。
发表于 2012-6-8 13:06:17 | 显示全部楼层
反正都是打开vlisp窗口的情况,还不如直接编译来的快
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-26 01:20 , Processed in 0.193176 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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