本帖最后由 作者 于 2009-3-15 11:47:54 编辑
请问如何用lisp来获得一个DWG文件的版本号?
谢谢!!!
多谢Andyhon、luowy,同事也感谢phoenixdjq的回复!
下面是我写的代码: - ;;; By 小李子 2009.3.14
- (defun Get-Dwg-Ver (filename / filehand filever)
- (if (setq filehand (open filename "r"))
- (progn
- (setq filever "")
- (repeat 6
- (setq filever (strcat filever (chr (read-char filehand))))
- )
- (close filehand)
- (cond
- ((= filever "AC1024")
- (princ "\nDrawing File Version: R2010")
- )
- ((= filever "AC1021")
- (princ "\nDrawing File Version: R2007/2008/2009")
- ) ((= filever "AC1018")
- (princ "\nDrawing File Version: R2004/2005/2006")
- )
- ((= filever "AC1015")
- (princ "\nDrawing File Version: R2000/2000i/2002")
- )
- ((= filever "AC1014") (princ "\nDrawing File Version: R14"))
- ((= filever "AC1013")
- (princ "\nDrawing Template File Version: R14")
- )
- ((= filever "AC1012") (princ "\nDrawing File Version: R13"))
- ((= filever "AC1009")
- (princ "\nDrawing File Version: R12/R11")
- )
- ((= filever "AC1006") (princ "\nDrawing File Version: R10"))
- ((= filever "AC1004") (princ "\nDrawing File Version: R9"))
- (T
- (princ (strcat "\nDrawing File Version Unknown: " filever))
- )
- )
- )
- )
- (princ)
- )
- (princ
- "\nGet-Dwg-Ver loaded, type (Get-Dwg-Ver) to run."
- )
- (princ)
|