[求助]列出CAD打开的所有文件
<p>各位帅哥美女,小弟有4个问题想请教大家,期待达人帮忙:</p><p> 第1个:列出CAD打开的所有图形文件名。程序目的:下班之前储存所有文件名后,第二天上班可以直接加载所有文件。</p>
<p> 第2个:如何删除文件目录。vl族命令只给出了删除文件和创建文件目录的命令,但我找不到删除文件目录的方法。</p>
<p> 第3个:如何用程序求两条曲线的交点(实体类型为spline或lwpolyline).</p>
<p> 第4个:有没有曲线的插值程序,即已知曲线上某一点的X值或者Y值,直接用程序得到Y值或X值。</p>
<p> </p>
<p>这些问题已困扰我很久,期待达人帮忙解决问题或者给个方向。</p> <p>第一个问题:使用<font face="Verdana">(vla-get-documents <font face="Verdana">(vlax-get-acad-object)</font>) <font face="Verdana">得到当前打开的所有文档集合</font></font></p>
<p>其余问题也有解决,可论坛上搜索一下。</p> <p>谢谢楼上的。</p> <p>第一个问题已解决,谢谢2楼的提示,附上代码,期望对有类似疑问的朋友有所帮助。</p>
<p><font face="Verdana">(defun C:test()<br/> (setq dwg_opens(vla-get-documents (vlax-get-acad-object)))<br/> (setq n_opens(vla-get-count dwg_opens))<br/> (setq i 0)<br/> (while (< i n_opens)<br/> (setq dwg_i (vla-item dwg_opens i))<br/> (princ (strcat "\n@@@ " (vla-get-FullName dwg_i)))<br/> (setq i (1+ i))<br/> )<br/> (princ)<br/>)</font></p> 感謝樓主的善心將源碼貼上 不錯的構想!!
關於第一個問題!! 好!有用,收藏备用。谢谢! 问题4:利用辅助线法求交点
;; Y→X
(defun c:tt ()
(CMDLA0)
(if (setq s1 (car (entsel "\n选择: ")))
(progn
(redraw s1 3)
(while (setq p1 (getpoint "\n基点<退出>: "))
(setq s2(xyp-Add-Xline p1 (xyp-get-Pt2DX p1 10))
ptn (xyp-get-Inters s1 s2 0)
)
(entdel s2)
(foreach pt ptn
(xyp-ZB pt 1000 4 nil nil)
)
)
(redraw s1 4)
)
)
(CMDLA1)
)
;; X→Y
(defun c:tt ()
(CMDLA0)
(if (setq s1 (car (entsel "\n选择: ")))
(progn
(redraw s1 3)
(while (setq p1 (getpoint "\n基点<退出>: "))
(setq s2(xyp-Add-Xline p1 (xyp-get-Pt2DY p1 10))
ptn (xyp-get-Inters s1 s2 0)
)
(entdel s2)
(foreach pt ptn
(xyp-ZB pt 1000 4 nil nil)
)
)
(redraw s1 4)
)
)
(CMDLA1)
)
页:
[1]