独角斗士
发表于 2004-7-28 10:00:00
石埠十三少发表于2004-7-22 2:04:00static/image/common/back.gif不行吖
当然不行,因为R14不能使用*.fas
为什么不用3楼的第二个方法?
<BR>
xyp1964
发表于 2004-7-28 14:04:00
快看:
☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<BR>;;;zzgl.lsp Z轴(坐标)归零<BR>;;;-- <A href="mailto:XYP@bsedi.com" target="_blank" >XYP@bsedi.com</A><BR>;;;2004.07.28<BR>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<BR>(prompt "\n\r 加载Z轴坐标归零程序。")
(DEFUN C:ZZGL (/ SSS1 n s1 old1 new1 s2 old2 new2 )<BR> (cmdla0)<BR> (princ"\n\t将线Z轴坐标归零。")<BR> (princ"\n\t选择实体: ")<BR> (while(not(SETQ SSS1 (ssget))))<BR> (setq n 0)<BR> (while (setq s1 (ssname SSS1 n)) <BR> (SETQ OLD1 (ASSOC 10 (entget S1)))<BR> (SETQ NEW1 (list 10 (cadr old1)(caddr old1) 0))<BR> (SETQ S1 (SUBST NEW1 OLD1 (entget S1)))<BR> (setq s2 (ENTMOD S1))<BR> (setq s1 (dxf -1 s2))<BR> (SETQ OLD2 (ASSOC 11 (entget S1)))<BR> (SETQ NEW2 (list 11 (cadr old2)(caddr old2) 0))<BR> (SETQ S1 (SUBST NEW2 OLD2 (entget S1)))<BR> (ENTMOD S1)<BR> (setq n (+ 1 n))<BR> )<BR> (cmdla1)<BR> (pxyp"ZZGL (Z轴坐标归零)")<BR> );defun
(defun CMDLA0 ()<BR> (setq cmdech (GETVAR "CMDECHO"))<BR> (setq oom (getvar "orthomode"))<BR> (setq osm (getvar "osmode"))<BR> (SETQ LA (getvar "clayer"))<BR> (setvar "regenmode" 1)<BR> (SETVAR "CMDECHO" 0)<BR> );defun<BR>(defun CMDLA1 ();(/ cmdech oom osm la)<BR> (SETVAR "CMDECHO" cmdech)<BR> (setvar "orthomode" oom)<BR> (setvar "osmode" osm)<BR> (setvar "clayer" LA)<BR> (setvar "regenmode" 1)<BR> );defun
(defun dxf (code elist) (cdr (assoc code elist)))
;;;* 显示命令简写<BR>(DEFUN PXYP (TXT1)<BR> (SETQ TXT1 (STRCAT "\n\r 程序命令: " TXT1 " -- <A href="mailto:XYP@bsedi.com" target="_blank" >XYP@bsedi.com</A>"))<BR> (PRINC TXT1)<BR> (Princ)<BR>);defun
(pxyp"ZZGL (Z轴坐标归零)")
☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
搞定?!
独角斗士
发表于 2004-7-28 17:03:00
<b>把所有对象MOVE到很远的地方然后再MOVE回来。</b>
(defun c:Z0(/sset) <BR> (setq sset(ssget)) <BR> (command "move" sset "" "0,0,0" "0,0,1e99") <BR> (command "move" sset "" "0,0,1e99" "0,0,0") <BR>)
简单不?
xyp1964
发表于 2004-7-29 02:51:00
绝对简单!高手!佩服!
shenhung
发表于 2004-7-29 09:26:00
关於图元物件不在Z=0面上..我都以下方式解决.当然也程序也可以
使用CHANGE指令
select object: 选择所有物件
Specify change point or : 选P
Enter property to change :
选Elev
输入0..........就可以了~
独角斗士
发表于 2004-7-29 10:59:00
是个方法,只是只对特殊情况有效。
lingppp
发表于 2008-1-11 09:20:00
错误: AutoCAD 变量设置被拒绝: "CMDECHO" nil
lingppp
发表于 2008-1-11 09:21:00
错误: AutoCAD 变量设置被拒绝: "CMDECHO" nil
king0711
发表于 2008-9-22 21:55:00
<p>我已经加载了zzgl.fas,然后按照提示操作了,可怎么还是不行啊?下面是我操作后的提示,请问下,为什么还是不能面域啊…………</p><p></p><p></p><p><font color="#d52b91">命令: zzgl<br/> 将线Z轴坐标归零。<br/> 选择实体:<br/>选择对象: 指定对角点: 找到 141 个<br/>选择对象: ; 错误: AutoCAD 变量设置被拒绝: "CMDECHO" nil。</font></p>
dunkel
发表于 2008-9-22 22:07:00
用 12 或 13 楼朋友提供的 lsp 格式的代码吧. 将它们复制下来, 保存为 .lsp 类的文件, 然后将该 lsp 文件拖到 ACAD 的图形窗口松开, 会加载这个 lsp 程序的, 根据提示输入命令运行就是了.
上面提供的 .fas 程序, 由于没有源码, 除了作者恐怕难以解决些出现的错误.