明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2053|回复: 2

如何编程实现选取一线段两端各伸长一定长度?

[复制链接]
发表于 2003-1-20 17:49:00 | 显示全部楼层 |阅读模式
首先想到使用stretch命令,但是要crossing-window选取才行,有什么别的方案?
发表于 2003-1-21 00:10:00 | 显示全部楼层

取中点为基点scale

发表于 2003-1-21 08:58:00 | 显示全部楼层

摘录的一程序:

(defun C:ys(/ ent l el ps pe ps_new pe_new)
  (setq ent (car (entsel "\n请选择实体:")));;未做保护,要确保选择的是直线段
  (if ent
    (progn
      (setq l (getdist "\n请输入延伸长度:"))
      (if l
        (progn
          (setq el (entget ent))
          (setq ps (cdr (assoc 10 el)))
          (setq pe (cdr (assoc 11 el)))
          (setq ps_new (polar ps (angle pe ps) l))
          (setq pe_new (polar pe (angle ps pe) l))
          (setq el (subst (cons 10 ps_new) (assoc 10 el) el))
          (setq el (subst (cons 11 pe_new) (assoc 11 el) el))
          (entmod el)
          ))
      ))
  (princ)
  )
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-26 04:36 , Processed in 0.144668 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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