[lisp][求助]关于lisp调用“extend”的方向的问题
<P>我的程序如下,问题是当延伸的时候方向只能是向下或者向左,我想知道怎样才能向右或者向上延伸。我试过改ucs的方向但是没有用,是由某个系统变量控制的么,我也没有找到。请高手帮忙看一下</P><P>(我做了个示意图,但是不会贴,就放在文件里了。运行我的程序得到的结果是第二幅图的样子,我需要的是第三副的样子)</P>
<P>(defun c:et (/ en ss n k old_edgemode)<BR> (setvar "cmdecho" 0)<BR> (command "undo" "begin")<BR> (princ "\n<选择要延伸到的边界>")<BR> (setq en (ssget))<BR> (princ "\n<选择要延伸的对象>")<BR> (setq ss (ssget)) <BR> (setq old_edgemode (getvar "edgemode"))<BR> (setvar "edgemode" 0)<BR> (setq k 0)<BR> (repeat (sslength en)<BR> (setq en1 (ssname en k))<BR> (setq n 0)<BR> (repeat (sslength ss)<BR> (setq ss1 (ssname ss n))<BR> (command "extend" en1 "" ss1 "")<BR> (setq n (1+ n))<BR> )<BR> (setq k (1+ k))<BR> )<BR> (setvar "edgemode" old_edgemode)<BR> (command "undo" "end")<BR> (prin1)<BR>)</P> 可以将要延伸的实体改成实体离延伸边界最近的点<BR>如pt1和pt2分别是线上的两个端点,且pt1最接近边界<BR>那么可以用(command "extend" en1 "" pt1 "") <P>可以这样啊,没想到</P>
<P>我回去试试</P>
<P>谢谢先</P> <P>太麻烦</P>
<P>有没有简单的方法</P>
<P>高手请指点一下</P>
页:
[1]