明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 缘份呐

沿上次继续改进,线段和圆弧批量伸长或缩短

  [复制链接]
发表于 2012-6-19 08:22:56 | 显示全部楼层
路过,学习了,不过一般情况不会有这种批量操作吧

 楼主| 发表于 2012-6-19 09:13:08 | 显示全部楼层
ps122hb 发表于 2012-6-19 08:22
路过,学习了,不过一般情况不会有这种批量操作吧

谢谢发表,或许专业不同吧。
发表于 2012-6-19 10:28:33 | 显示全部楼层
感谢楼主,试用了下,只能用于双边延伸,有没有单侧批量延伸的呢,柱编号引线的时候经常用到这个功能
 楼主| 发表于 2012-6-20 16:13:14 | 显示全部楼层
石井鱼 发表于 2012-6-19 10:28
感谢楼主,试用了下,只能用于双边延伸,有没有单侧批量延伸的呢,柱编号引线的时候经常用到这个功能

单侧批量延伸这个我有考虑,可方向不好定。
也希望有高手给个思路。谢谢
发表于 2012-6-20 21:59:16 | 显示全部楼层
本帖最后由 yjr111 于 2012-6-20 22:10 编辑

可选择边延伸
  1. (defun c:doublextend (/  ss e n p1 p2 extendpoint )
  2. (setq oldosmode (getvar "osmode"))
  3. (setvar "osmode" 0)
  4. (setvar "cmdecho" 0)
  5. (if *dist*
  6.   (setq dist (getdist (strcat "\n请输入每边变化值:< " (rtos *dist* 2 0) ">")))
  7.   (setq dist (getdist "\n请输入每边变化值: "))
  8. )
  9. (if (not dist)  (setq dist *dist*)  (setq *dist* dist))
  10. (princ "\n请选择延伸对象:")
  11. (while(setq ss  (ssget '((0 . "LINE,ARC,LWPOLYLINE"))))
  12. (setq extendpoint(getpoint"\n选择要延伸的一边<右键双边延伸>"))
  13. (while  (and ss (>(setq n(sslength ss))0))
  14.   (setq e(ssname ss (setq n(1- n)))

本帖子中包含更多资源

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

x
发表于 2012-6-21 07:01:04 | 显示全部楼层
还是不能选择方向
错误: 参数类型错误: 二维/三维点: nil
发表于 2012-6-21 09:13:23 | 显示全部楼层
hhhlike 发表于 2012-6-21 07:01
还是不能选择方向
错误: 参数类型错误: 二维/三维点: nil
  1. (defun c:doublextend (/  ss e n p1 p2 extendpoint)
  2. (setq oldosmode (getvar "osmode"))
  3. (setvar "osmode" 0)
  4. (setvar "cmdecho" 0)
  5. (if *dist*
  6.   (setq dist (getdist (strcat "\n请输入每边变化值:< " (rtos *dist* 2 0) ">")))
  7.   (setq dist (getdist "\n请输入每边变化值: "))
  8. )
  9. (if (not dist)  (setq dist *dist*)  (setq *dist* dist))
  10. (princ "\n请选择延伸对象:")
  11. (while(setq ss  (ssget '((0 . "LINE,ARC,LWPOLYLINE"))))
  12. (setq extendpoint(getpoint"\n选择要延伸的一边<右键双边延伸>"))
  13. (while  (and ss (>(setq n(sslength ss))0))
  14.   (setq e(ssname ss (setq n(1- n)))
  15.        p1 (vlax-curve-getstartpoint e )
  16.        p2 (vlax-curve-getendpoint e )
  17.        )
  18.   (cond((not extendpoint)
  19.         (command "lengthen"  "de"  (/ dist 2) (list e p1)"" )
  20.         (command "lengthen"  "de"  (/ dist 2) (list e p2)"" )
  21.         )
  22.        ((=(type extendpoint)'list)
  23.         (if (<(distance p1(vlax-curve-getClosestPointTo e extendpoint))
  24.                            (distance p2(vlax-curve-getClosestPointTo e extendpoint))
  25.                            )
  26.         (command "lengthen"  "de"  (/ dist 2) (list e p1)"" )
  27.         (command "lengthen"  "de"  (/ dist 2) (list e p2)"" )
  28.         )
  29.         )
  30.         )
  31.   (ssdel e ss)
  32. )
  33.   )
  34. (setvar "osmode" oldosmode)
  35. (princ)
  36. )
  37. (princ"\n 批量双边延长缩短,BY YJR111 2012-6-19.命令:doublextend")

评分

参与人数 1明经币 +1 收起 理由
flytoday + 1 严哥这个右键不会两边延伸啊。。都是一边延.

查看全部评分

发表于 2012-6-21 10:17:04 | 显示全部楼层
有图为证~~

本帖子中包含更多资源

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

x
发表于 2012-6-21 13:23:15 | 显示全部楼层
本帖最后由 flytoday 于 2012-6-21 13:24 编辑
flytoday 发表于 2012-6-21 10:17
有图为证~~


6#楼有哦~。。严哥还有其它的线也是只单边延伸
 楼主| 发表于 2012-6-21 13:32:57 | 显示全部楼层
yjr111 发表于 2012-6-21 09:13

好象不支持R14呀!上班只用R14。

点评

朋友在富士康上班?  发表于 2013-11-10 19:54
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-26 03:19 , Processed in 0.179312 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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