56216349 发表于 2007-3-22 14:07:00

cad2004可否用cad2006里的修剪命令啊?

<p>用惯了cad2004,换了cad2006感觉反应很慢。</p><p>所以想在cad2004里可不可以实现cad2006里修剪实体时可框选的命令啊</p><p>请高手指点一下!</p><p>我自己做了个lisp,但是不是很理想。请高手给看看。感谢!</p><p>(defun C:ttr () <br/>(setvar "cmdecho" 0)<br/>(princ "选择裁剪边界") <br/>(setq jianbian (ssget))<br/>(princ "选择要裁剪的实体")<br/>(setq jianti (ssget))<br/>(command "trim" jianbian "" jianti "")<br/>(setq hhan nil)<br/>(setq jian nil)<br/>(setvar "cmdecho" 1) <br/>(prin1))</p>

caoyin 发表于 2007-3-22 14:43:00

本帖最后由 作者 于 2007-3-22 14:47:08 编辑 <br /><br /> <p>;;临时写一个,我没装acad2004,你自己测试一下</p><p>;;想在获取 ss2 时实现实时修剪,要重新写相关的函数。仅供你参考</p><p>;;获取 ss2 时没考虑单选</p><p>(defun c:tr (/ v1 v2 ss1 ss2)<br/>&nbsp; (setq v1 (getvar "cmdecho"))<br/>&nbsp; (setq v2 (getvar "osmode"))<br/>&nbsp; (setvar "cmdecho" 0)<br/>&nbsp; (setvar "osmode" 0)<br/>&nbsp; (princ "\n选择对象或 &lt;全部选择&gt;... ")<br/>&nbsp; (setq ss1 (ssget))<br/>&nbsp; (princ "\n选择要修剪的对象... ")<br/>&nbsp; (setq ss2 (ssget))<br/>&nbsp; (if ss2<br/>&nbsp;&nbsp;&nbsp; (progn<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq lst (mapcar 'cadr (cdr (assoc -1 (ssnamex ss2))))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lst (append lst (list (car lst)))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (if ss1<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (command "_.trim" ss1 "_f")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (command "_.trim" "" "_f")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (apply 'command lst)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (command "" "")<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp; )<br/>&nbsp; (setvar "cmdecho" v1)<br/>&nbsp; (setvar "osmode" v2)<br/>&nbsp; (princ)<br/>)</p>

56216349 发表于 2007-3-22 16:26:00

<p>非常感谢,</p><p>但是还是不行,在“选择要修剪的对象...”后,依然选择的是修剪边,而不是要修剪的实体。</p><p></p>

caoyin 发表于 2007-3-23 12:30:00

<p>改了一下</p><p></p><p></p>

caoyin 发表于 2007-3-23 12:31:00

本帖最后由 作者 于 2007-3-23 12:59:35 编辑 <br /><br /> <p>注:如果你安装ET工具,把上面的 lt:error-init 改成acet-error-init,lt::error-restore 改成acet-error-restore,否则你要</p><p>加上 (setvar "osmode" 0) ,否则执行会有问题</p><p></p>

56216349 发表于 2007-3-23 12:55:00

<p>非常感谢caoyin兄的帮助。我试了一下,效果还不错。谢谢了</p><p>至于“超级剪切”我加载时出现了&nbsp;&nbsp;:&nbsp; </p><p>xtr ; 错误: no function definition: LONGFIN:COMSTA</p><p>不知怎么回事啊?<br/></p><p></p>

56216349 发表于 2007-3-23 13:02:00

<p>再问个问题啊</p><p>延伸命令是不是也可以啊?</p>

caoyin 发表于 2007-3-23 13:05:00

本帖最后由 作者 于 2007-3-23 13:17:08 编辑 <br /><br /> <p>狂刀的,我重新发</p><p>&nbsp;</p>

caoyin 发表于 2007-3-23 13:06:00

剪切,道理是一样的,你自己改改看

56216349 发表于 2007-3-23 13:13:00

<p>谢谢你</p><p>看来我要多学学了。</p>
页: [1] 2 3
查看完整版本: cad2004可否用cad2006里的修剪命令啊?