[分享]将图层信息写到网页上
(defun C:DUMPLAYERS<BR> ( / acad doc dwg layers name col ltp lwt pst onoff frz dat<BR> path olist outfile output)<BR> (vl-load-com)<BR> (setq acad (vlax-get-acad-object)<BR> doc (vla-get-activedocument acad)<BR> dwg (vla-get-name doc)<BR> path (vla-get-path doc)<BR> layers (vla-get-layers doc)<BR> )<BR> (vlax-for each layers<BR> (setq name (vla-get-name each)<BR> col (itoa (vla-get-color each))<BR> ltp (vla-get-linetype each)<BR> lwt (itoa (vla-get-lineweight each))<BR> pst (vla-get-plotstylename each)<BR> onoff (if (= :vlax-true (vla-get-layeron each))<BR> "ON" "OFF"<BR> )<BR> frz (if (= :vlax-true (vla-get-freeze each))<BR> "FROZEN" "THAWED"<BR> )<BR> dat (list name col ltp lwt pst onoff frz)<BR> olist (cons dat olist)<BR> )<BR> ); vlax-for(vlax-release-object layers)<BR> (vlax-release-object doc)<BR> (vlax-release-object acad)<BR> (cond<BR> ( olist<BR> (setq outfile (strcat (vl-filename-base dwg) ".htm"))<BR> (setq outfile (strcat path outfile))<BR> (cond<BR> ( (setq output (open outfile "w"))<BR> (write-line "<html>" output)<BR> (write-line "<head><title>" output)<BR> (write-line (strcat "Layer Dump: " dwg) output)<BR> (write-line "</title></head><body>" output)<BR> (write-line (strcat "<b>Drawing: " dwg "</b><br>") output)<BR> (write-line "<table border=1>" output)<BR> (foreach layset olist<BR> (write-line "<tr>" output)<BR> (foreach prop layset<BR> (write-line (strcat "<td>" prop "</td>") output)<BR> )<BR> (write-line "</tr>" output)<BR> ); foreach layer set<BR> (write-line "</table></body></html>" output)<BR> (close output)<BR> (setq output nil)<BR> (princ "\nReport finished! Opening in browser...")<BR> (vl-cmdf "_.browser" outfile)<BR> )<BR> ( T (princ "\nUnable to open output file.") )<BR> )<BR> )<BR> ( T (princ "\nUnable to get layer table information.") )<BR> )<BR>)<BR> David Stein 写过一个差不多的程序, 后来AfraLisp引用过.
页:
[1]