大家好!
我需要将Autocad绘图中的各种文本与文本报告进行比较。
我需要帮助为这个写一个LISP。
逻辑是遵循以下步骤:
1) 在中选择文字(特定图层和颜色)。dwg文件
2) 将所有这些文本导出到一个文本文件(我已经有了一个lisp用于此-txtexprt)
而且效果很好!见下文
3) 将输出文本文件中的值与另一个文本文件进行比较,并报告缺失的值。
下面是提取文本的代码(步骤2)
如果有人能帮助我实现上述步骤1和3,我将不胜感激!!
- (defun c:txtexprt ()
- (setq sset (ssget '((0 . "TEXT"))))
- (if sset
- (progn
- (setq itm 0)
- (setq num (sslength sset))
- (setq fn (getfiled "Text Export File" "" "txt" 1))
- (if (/= fn nil)
- (progn
- (setq fh (open fn "w"))
- (while (< itm num)
- (setq hnd (ssname sset itm))
- (setq ent (entget hnd))
- (setq stv (cdr (assoc 1 ent)))
- (princ (strcat stv "\n") fh)
- (setq itm (1+ itm))
- )
- (close fh)
- )
- )
- )
- )
- (setq sset nil)
- (princ)
- )
|