乐筑天下

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

[编程交流] 偏移多条多段线

[复制链接]

0

主题

3

帖子

3

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-5 18:45:22 | 显示全部楼层
可以使用divide命令(绘制>点>分割)来保持相等的距离。
如果有帮助,请告诉我!!
回复

使用道具 举报

7

主题

708

帖子

701

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 18:47:04 | 显示全部楼层
这将显示相等的距离。它对分配或保持这些距离没有任何作用。OP正在寻找一种自动化的方式来移动这些线路并保持连接。这需要一些漂亮的代码。
回复

使用道具 举报

42

主题

173

帖子

132

银币

后起之秀

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

铜币
220
发表于 2022-7-5 18:50:15 | 显示全部楼层
谢谢你的关注。。。但这似乎不会有多大帮助,因为这些线已经画出来了。。。我所需要的就是将它们等距偏移
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 18:54:07 | 显示全部楼层
坚持下去,答案可能很简单,但我正在度假,将发布一个多圆角lsp,可以修改为先做偏移,然后一次性重做所有的线圆角。如果你重复使用线,这真的不是那么难,普林斯将是一个问题。
 
由于我每天都在搬家,我的笔记本电脑的互联网有限。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 18:56:43 | 显示全部楼层
这是一个多圆角,你可以任意选择3个点,因为L将很快尝试在偏移处添加新线。
  1. ; Multi fillet of multiple lines in one go
  2. ; By Alan H DEC 2015
  3. (defun AH:Fmulti ( / ss fpts num num2 x y)
  4. (alert "pick outside-inside-outside")
  5. (setq fpts '())
  6. (setq fpts (cons (getpoint "Pick outside")fpts))
  7. (setq fpts (cons (getpoint "Pick inside") fpts))
  8. (setq fpts (cons (getpoint "Pick outside") fpts))
  9. (setq ss (ssget "F" fpts (list (cons 0 "LINE"))))
  10. (setq num (sslength ss))
  11. (setq num2 (/ num 2.0))
  12. (if (= (- (fix num2) num2) 0.5)
  13. (progn
  14. (Alert "you have an odd number of lines please check")
  15. (exit)
  16. )
  17. )
  18. (setq x 0)
  19. (setq y (- num 1))
  20. (setvar "filletrad" 0.0)
  21. (repeat (fix num2) ; not a real
  22. (setq obj1 (ssname ss x))
  23. (setq obj2 (ssname ss y))
  24. (command "fillet" obj1 obj2)
  25. (setq x (+ x 1))
  26. (setq y (- y 1))
  27. )
  28. ) ; defun
  29. (AH:fmulti)
回复

使用道具 举报

0

主题

6

帖子

6

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-5 19:01:11 | 显示全部楼层
首先,你必须使垂直线的距离相等。更改垂直线的位置。
x和y的Setq。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 19:04:36 | 显示全部楼层
好的,第2部分现在是一个多偏移,用相同数量的固定偏移线替换现有线的数量。
ps下一篇文章是对原文章的回答
 
  1. ; change offset lines to fixed spacing
  2. ; by Alan H Dec 2015
  3. (defun aH:mulfrom1 ( / pt1 pt2 pt3 num fpts ss1 inc dist)
  4. (setq pt1 (getpoint "\nPick outside"))
  5. (setq pt2 (getpoint "\nPick inside"))
  6. (setq pt3 (getpoint "\nPick outside"))
  7. (setq fpts '())
  8. (setq fpts (cons pt1 fpts))
  9. (setq fpts (cons pt2 fpts))
  10. (setq ss1 (ssget "F" fpts))
  11. (setq num (sslength ss1))
  12. (setq y -1)
  13. (repeat (- num 1)
  14. (command "erase" (ssname ss1 (setq y (+ y 1))) "")
  15. )
  16. (setq dist 0)
  17. (setq inc (getreal "\nEnter offset distance"))
  18. (setq obj (ssname ss1 (- num 1)))
  19. (repeat (- num 1)
  20. (setq dist (+ dist inc))
  21. (command "_.offset" dist obj pt2 "")
  22. )
  23. )
  24. (Ah:mulfrom1)
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 19:07:52 | 显示全部楼层
第3部分原始请求将两者结合起来。
 
汉达斯请尽量使新的Lisp程序唯一的学习方法。
 
注意第二个代码中的Pt3请求。我们是来帮忙的,试试看。
回复

使用道具 举报

42

主题

173

帖子

132

银币

后起之秀

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

铜币
220
发表于 2022-7-5 19:09:00 | 显示全部楼层
 
 
非常感谢,比格尔
这对我很有帮助
... 如果您可以修改以前的LISP,使其在每次需要调用命令时都与命令一起运行,那么我会在autocad中编写这些命令
(啊:mulfrom1)或(啊:fmulti)这有点难。。。
 
再次非常感谢这是个好主意
回复

使用道具 举报

42

主题

173

帖子

132

银币

后起之秀

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

铜币
220
发表于 2022-7-5 19:13:19 | 显示全部楼层
@比加尔
如果你可以修改这些LISP来选择线,而不是选择三个点,这将是一个伟大的。。。谢谢你的关注和所做的一切
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 20:29 , Processed in 0.453274 second(s), 71 queries .

© 2020-2025 乐筑天下

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