乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 36|回复: 1

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

[复制链接]

13

主题

34

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

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

使用道具 举报

2

主题

46

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
54
发表于 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)
  )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-5-31 14:11 , Processed in 0.327437 second(s), 56 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表