明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2201|回复: 7

自动筛选大于指定半径的圆弧,取得圆弧起点终点

[复制链接]
发表于 2012-11-25 15:23:56 | 显示全部楼层 |阅读模式


小弟经常会碰到图形中有很多的圆弧,
有的圆弧的半径值很大,如果保留这样的圆弧,机器就会出现识别错误的情况。
通常我都将半径大于1000的圆弧换成直线。
但是手工很慢,LISP的群码中我又找不到圆弧起点终点的代码。
VLISP用下面的语句也取不到起点终点。那位老大出手帮一把。

(setq ybj (vla-get-arclength (vlax-ename->vla-object ss2)))
    (setq spt (vlax-safearray->list(vlax-variant-value(vla-get-startpoint ss2))))
    (setq ept (vlax-safearray->list(vlax-variant-value(vla-get-endpoint ss2))))
    (if (> ybj 500)
      (progn
        (entdel ss2)
        (command "line" spt ept "")
        )
      )

发表于 2012-11-25 16:13:01 | 显示全部楼层
  1. 试试:

  2. ;选取半径大于1000的圆
  3. (setq ss (ssget '
  4.           ((-4 . "<and")
  5.             (0 . "ARC")
  6.             (-4 . ">")(40 . 1000)
  7.            (-4 . "and>")
  8.           )
  9.          )
  10. )
发表于 2012-11-25 17:03:03 | 显示全部楼层

(cond
((null (setq ss (ssget "X" '((-4 . ">") (40 . 1000))))))
(T
  (setq nn (sslength ss))
  (While (setq ee (ssname ss (setq nn (1- nn))))
    (vl-cmdf "Line"
       (vlax-curve-getStartPoint ee)
       (vlax-curve-getEndPoint ee)
       ""
    )
    (entdel ee)
)))   
 楼主| 发表于 2012-12-1 09:34:00 | 显示全部楼层
本帖最后由 yjsksjscn 于 2012-12-1 09:35 编辑

多谢 andyhon 长老的帮助,完全可行。
小弟这两天又其它事,没能及时感谢,很抱歉。
以后还望长老罩着小弟。
问个小问题, -4 是指的什么,我在点对表里没看到。
发表于 2012-12-1 10:45:41 | 显示全部楼层
Relational Tests

本帖子中包含更多资源

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

x
 楼主| 发表于 2012-12-3 09:34:51 | 显示全部楼层
Andyhon 发表于 2012-12-1 10:45
Relational Tests

多谢!
另外再问个问题:
点对表中,(40 . 1000)
这个1000可以用变量来替代吗?
我试了一下,好像不行。
发表于 2012-12-3 09:59:54 | 显示全部楼层
(setq rad 999)
(setq ss (ssget "X" (list '(-4 . ">") (cons 40 rad))))
 楼主| 发表于 2012-12-3 10:28:12 | 显示全部楼层
Andyhon 发表于 2012-12-3 09:59
(setq rad 999)
(setq ss (ssget "X" (list '(-4 . ">") (cons 40 rad))))

多谢了!看来基本功还是不扎实呀。
程序完成了,实现了预期的效果。非常感谢长老的帮助。

现在我将画的直线放置在了另一个图层上。
如果想要放置在同一个图层上,但是用指定的颜色画直线,该如何写呀?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-4 03:32 , Processed in 0.176269 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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