明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1922|回复: 3

[lisp][求助]关于lisp调用“extend”的方向的问题

[复制链接]
发表于 2005-12-14 17:38 | 显示全部楼层 |阅读模式

我的程序如下,问题是当延伸的时候方向只能是向下或者向左,我想知道怎样才能向右或者向上延伸。我试过改ucs的方向但是没有用,是由某个系统变量控制的么,我也没有找到。请高手帮忙看一下

(我做了个示意图,但是不会贴,就放在文件里了。运行我的程序得到的结果是第二幅图的样子,我需要的是第三副的样子)

(defun c:et (/ en ss n k old_edgemode)
    (setvar "cmdecho" 0)
    (command "undo" "begin")
    (princ "\n<选择要延伸到的边界>")
    (setq en (ssget))
    (princ "\n<选择要延伸的对象>")
    (setq ss (ssget))   
    (setq old_edgemode (getvar "edgemode"))
    (setvar "edgemode" 0)
    (setq k 0)
    (repeat (sslength en)
        (setq en1 (ssname en k))
 (setq n 0)
 (repeat (sslength ss)
     (setq ss1 (ssname ss n))
     (command "extend" en1 "" ss1 "")
     (setq n (1+ n))
 )
 (setq k (1+ k))
    )
    (setvar "edgemode" old_edgemode)
    (command "undo" "end")
    (prin1)
)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2005-12-15 10:18 | 显示全部楼层
可以将要延伸的实体改成实体离延伸边界最近的点
如pt1和pt2分别是线上的两个端点,且pt1最接近边界
那么可以用(command "extend" en1 "" pt1 "")
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2005-12-15 15:59 | 显示全部楼层

可以这样啊,没想到

我回去试试

谢谢先

 楼主| 发表于 2005-12-16 16:07 | 显示全部楼层

太麻烦

有没有简单的方法

高手请指点一下

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-17 19:30 , Processed in 0.204396 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表