乐筑天下

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

[编程交流] 延伸两端的线

[复制链接]

56

主题

346

帖子

68

银币

中流砥柱

Rank: 25

铜币
512
发表于 2022-7-5 17:03:36 | 显示全部楼层 |阅读模式
你好
多选直线,输入距离,直线两端加长。
谢谢你的帮助。
180345na9d2i2py2brradp.png
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-5 17:08:51 | 显示全部楼层
请尝试附加的由ASMI编写的lisp例程,该例程最初发布在CADTutor上。我不确定日期。加载例程后要键入的命令是blen。
 
注意:此例程将延长或缩短两端的一条线。用户选择。
 
测验lsp
回复

举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 17:14:02 | 显示全部楼层
你是说双方吗?
子功能:
  1. ;For Extension of linear (lines & align Dimension only)
  2. ;hanhphuc 2014
  3. argument:
  4. _e= ename
  5. ex= extension. 'REAL
  6. id= dxf index. eg: '(10 11)
  7. (defun +exlin (_e ex id / l ep a d)
  8. (if (and id (= (length id) 2)) ; index list only limited for 2
  9.    (progn (setq l  (entget _e)
  10.          ep (mapcar ''((x) (cdr (assoc x l))) id)
  11.          a  (angle (car ep) (cadr ep))
  12.          d  (apply 'distance ep)
  13.          ) ;_ end of setq
  14.    (mapcar ''((u v)(entmod [color="blue"] (setq l [/color](subst (cons u v) (assoc u l) l)))) ; <--updated
  15.            id
  16.            (mapcar ''((x) (polar (mapcar ''((a b) (/ (+ a b) 2.)) (car ep) (cadr ep)) x (+ (/ d 2.) ex)))
  17.                    (list a (+ a pi))
  18.                    ) ;_ end of mapcar
  19.            ) ;_ end of mapcar
  20.    ) ;_ end of progn
  21.    ) ;_ end of if
  22. ) ;_ end of defun
  23. ;Example call:
  24. ;(+exlin (car(entsel)) 1.0[color="red"] '(10 11)[/color]) <--- click line
  25. ;(+exlin (car(entsel)) 1.0[color="red"] '(13 14)[/color]) <--- click aligned dimension
回复

举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-5 17:16:55 | 显示全部楼层
是的,他是指两端。
回复

举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 17:21:06 | 显示全部楼层
我的提议很简单
 
  1. (if (not *dist*)(setq *dist* 1.0))
  2. (defun c:EXLIN (/ *error* ext e ve os ad)
  3. (defun *error* (msg)
  4.    (if        (not (wcmatch (strcase msg) "*CANCEL*,*EXIT*"))
  5.      (princ (strcat "\nError: " msg))
  6.      ) ;_ end of if
  7.    (princ)
  8.    ) ;_ end of defun
  9. (setq        ext (getdist (strcat "\nEnter extension? <" (rtos *dist* 2) "> : "))
  10. os  (getvar "osmode")
  11. ) ;_ end of setq
  12. (if (not ext)
  13.    (setq ext *dist*)
  14.    (setq *dist* ext)
  15.    ) ;_ end of if
  16. (setvar "osmode" 0)
  17. (while (and (setq e (entsel "\nPick Aligned Dimension: "))
  18.       (setq ve (vlax-ename->vla-object (car e))
  19.             ad (vla-get-objectname ve)
  20.             ) ;_ end of setq
  21.       ) ;_ end of and
  22.    (cond ((apply 'or (mapcar ''(($) (wcmatch ad $)) '("*AcDbAlignedD*" "*AcDbRotatedD*")))
  23.    (+exlin (car e) ext '(13 14))
  24.    )
  25.   ((wcmatch ad "*AcDbLine*") (+exlin (car e) ext '(10 11))) ;(+rdim (car e) ext)
  26.   (t nil)
  27.   ) ;_ end of cond
  28.    ) ;_ end of while
  29. (setvar "osmode" os)
  30. ) ;_ end of defun
  31. http://www.cadtutor.net/forum/showthread.php?88181-line-at-both-ends-of-the-extension
  32. (princ "\nhanhphuc 2014. Extension Dimension. Command: EXLIN")
  33. (princ)
回复

举报

56

主题

346

帖子

68

银币

中流砥柱

Rank: 25

铜币
512
发表于 2022-7-5 17:25:08 | 显示全部楼层
 
谢谢,我在Acad2007中测试了你的代码,没问题!可以两端测试,但我在Acad2010中测试,只有一端。困惑的
回复

举报

56

主题

346

帖子

68

银币

中流砥柱

Rank: 25

铜币
512
发表于 2022-7-5 17:29:27 | 显示全部楼层
 
Tharwat,谢谢。好久不见。
你的动作很好!美好的
回复

举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 17:35:07 | 显示全部楼层
 
@您好,谢谢,我不知道是选线还是尺寸,然后我都做了。
&塔瓦特
我的尺寸已经变得非关联,这正常吗?
回复

举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-5 17:38:58 | 显示全部楼层
我没有将原始帖子解释为包含维度。我认为OP把它放在那里是为了展示“之前”和“之后”的线条长度。
 
我发布的例程是由ASMI编写的,使用AutoCAD 2015进行了测试,效果良好。
 
请注意,在我发布第一个回复之前,没有其他人提供解决方案。现在OP有不止一个。美好的
回复

举报

56

主题

346

帖子

68

银币

中流砥柱

Rank: 25

铜币
512
发表于 2022-7-5 17:43:40 | 显示全部楼层
 
是的,双方。
谢谢你的代码。没关系!但为什么维度没有遵循这些线呢?备注和Tharwat的代码可以!
回复

举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-13 10:42 , Processed in 1.142001 second(s), 86 queries .

© 2020-2025 乐筑天下

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