找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 676|回复: 0

对需要拉伸的实体进行指定长度的拉伸

[复制链接]
发表于 2002-1-17 15:42:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
(defun c:ss (/ s odis oang p1 p2 p3 p4 tdis)
  ;;定距伸展    正航
  (setvar "cmdecho" 0)
  (command)
  (setq bl (getvar "dimlfac"))
  (princ "\n    *******  定距伸展程序 *******")
  (princ "\n 当前绘图比例: 1:")
  (princ bl)
  (princ " .")
  (princ "\n请选择伸展的实体:")
  (setq s 1)
  (while s
    (setq p1 (getpoint "请选择交叉窗口第一角:"))
    (if        (/= p1 nil)
      (setq s nil)
      
    )
  )
  (setq s 1)
  (while s
    (setq p2 (getcorner p1 "\n对角点:"))
    (if        (/= p2 nil)
      (setq s nil)
      (alert "\n您输入了无效的交叉窗点!")
    )
  )
  (setq s 1)
  (while s
    (setq p3 (getpoint "\n请选择基准点:"))
    (if        (/= p3 nil)
      (setq s nil)
      (alert "\n您输入了无效的基准点!")
    )
  )
  (if (= ang nil)
    (setq ang 0)
    (setq oang ang)
  )
  (setq        ang
         (getangle p3
                   (strcat "\n请您输入实体伸展的方向或角度<"
                           (rtos (* (/ ang pi) 180))
                           "°>:"
                   )
         )
  )
  (if (or (= ang nil) (= ang ""))
    (setq ang oang)
  )
  (command "snapang" (* (/ ang pi) 180))
  (command "orthomode" 1)
  (if (= dis nil)
    (setq dis 0)
    (setq odis dis)
  )
  (setq dis (getdist p3 (strcat "\n实体复制距离<" (rtos dis) "mm>:")))
  (if (or (= dis nil) (= dis ""))
    (setq dis odis)
  )
  (setq tdis (/ dis bl))
  (setq p4 (polar p3 ang tdis))
  (command ".stretch" (ssget "C" p1 p2) "" p3 p4)
  (command "snapang" 0)
  (princ)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-18 00:25 , Processed in 0.362761 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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