明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4152|回复: 14

[已解答] 批量生成多个闭合多边形外边界

[复制链接]
发表于 2015-2-25 00:15 | 显示全部楼层 |阅读模式
1明经币
批量生成多个闭合多边形的外边界,并偏移一定距离。现在我只能一处一处的提取,太慢了,谁能帮我批量提取啊?谢谢。
附件: 您需要 登录 才可以下载或查看,没有账号?注册

最佳答案

查看完整内容

需加载XLRX_API:
发表于 2015-2-25 00:15 | 显示全部楼层
需加载XLRX_API:
  1. (defun c:tt ()
  2.   (if (and
  3.         (setq d (getdist "\n偏距:"))
  4.         (setq ss (ssget '((0 . "*line,arc,ellipse,circle"))))
  5.       )
  6.     (if        (setq ss (XLRX-Curve-GetOutPoly ss 0.001 nil))
  7.       (progn
  8.         (mapcar        '(lambda (x)
  9.                    (mapcar '(lambda (y) (xlrx-set y "color" 1))
  10.                            (xlrx-curve-getoffsetcurves
  11.                              x
  12.                              (if (XLRX-ClockWiseP x)
  13.                                (- d)
  14.                                d
  15.                              )
  16.                            )
  17.                    )
  18.                    (xlrx-delete x)
  19.                  )
  20.                 (XLRX-PickSet->List ss)
  21.         )
  22.       )
  23.     )
  24.   )
  25.   (princ)
  26. )

点评

谢谢Gu_xl 版主,源码很好,就是选的多线段多了,运行程序容易卡死。  发表于 2015-2-27 00:38
回复

使用道具 举报

发表于 2015-2-25 09:58 | 显示全部楼层
本帖最后由 香田里浪人 于 2015-2-25 09:59 编辑

可根据以下程序再补充。解决偏移问题。
;边界轮廓线 明经 ZZXXQQ 2013.6.5
(defun c:bjlkx ()
(setvar "CMDECHO" 0)
(if (and (setq p1 (getpoint "\n第一角点: "))
               (setq p2 (getcorner p1 "\n另一角点: "))) (progn
  (setq s1 (entlast))
  (command "_.RECTANG" p1 p2)
  (setq p3 (polar p1 (angle p1 p2) 5))
  (command "_.BOUNDARY" p3 "")
  (command "_.ERASE" "C" p1 p1 "")
  (setq ss (ssadd))
  (while (setq s1 (entnext s1)) (ssadd s1 ss))
  (if (> (sslength ss) 0)
   (command "_.ERASE" "W" p1 p2 "R" ss "")
   (princ "\n无法生成边界!")
  )
))
(setvar "CMDECHO" 1)
(princ)
)

点评

嗯,可以了,就是有点小BUG,有的相连封闭多线段边界单独生成了,没连一起  发表于 2015-2-25 13:32
回复

使用道具 举报

发表于 2015-2-25 17:28 | 显示全部楼层

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2015-2-25 18:53 | 显示全部楼层

本帖子中包含更多资源

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

x
回复

使用道具 举报

 楼主| 发表于 2015-2-25 19:56 | 显示全部楼层
鱼与熊掌 发表于 2015-2-25 18:53

厉害,怎么做的啊?
回复

使用道具 举报

 楼主| 发表于 2015-2-25 19:58 | 显示全部楼层
xyp1964 发表于 2015-2-25 17:28

斑竹,给放个代码么?

点评

代码发你了  发表于 2015-2-25 21:33
回复

使用道具 举报

 楼主| 发表于 2015-2-25 22:39 | 显示全部楼层
xyp1964 发表于 2015-2-25 17:28

斑竹,提示no function definition: XYP-START。我加载函数库了怎么没这个函数啊
回复

使用道具 举报

发表于 2015-2-27 09:02 | 显示全部楼层
这个好啊!!!!
回复

使用道具 举报

发表于 2015-2-28 09:33 | 显示全部楼层
freehand8008 发表于 2015-2-27 09:02
这个好啊!!!!

香田的那个解决了每个闭合的外边界,但几个闭合连在一起的内边界也消失了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 23:37 , Processed in 1.237333 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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