明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2993|回复: 8

如何得到一个选择集中最左端圆的第三象限点坐标?

[复制链接]
发表于 2012-5-10 15:33:58 | 显示全部楼层 |阅读模式
现有一个选择集ss,求出选择集中最左端圆的圆心。选择集中有实体、圆、直线、圆弧等。
下面是示意图,求图中的0点坐标。


本帖子中包含更多资源

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

x

点评

参研vl-sort 排序函数!  发表于 2012-5-10 15:37
"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2012-5-10 15:36:00 | 显示全部楼层
我主要是不知道如何从已有选择集中将圆过滤出来,在选择集已经存在的条件下,如何只将圆过滤出来?

点评

(command "select" s "" ) (setq s1 (ssget "p" '((0 . "circle"))))  发表于 2012-5-10 15:41
(SSGET "P" SS)  发表于 2012-5-10 15:37
发表于 2012-5-10 15:38:00 | 显示全部楼层
(SSGET "P" '((0 . "圆")))
 楼主| 发表于 2012-5-10 22:43:14 | 显示全部楼层
目前使用 (setq s1 (ssget "p" '((0 . "circle"))))  得到新的选择集,可是如何得到每个圆的圆心的半径并组成表,再将这样的每个表组成新表,这步我得不到,不知诸位有现有的代码可用吗?
谢谢诸位了!自己试着自定义一个函数,可((圆心) 半径)这样的单个表都得不到,
发表于 2012-5-10 23:09:17 | 显示全部楼层
本帖最后由 ZZXXQQ 于 2012-5-11 21:35 编辑

这个是可以窗选的。
(defun c:tt ( / pcl)
(if (setq ss (ssget '((0 . "CIRCLE")))) (progn
  (setq ssl (reverse(cdr(reverse(mapcar 'cadr (ssnamex ss))))))
  (foreach x ssl
   (setq ent (entget x)
         pcl (cons (list(cdr(assoc 10 ent)) (cdr(assoc 40 ent))) pcl))
  )
  (princ pcl)
  ;...
))
(princ)
)

点评

; 错误: 错误的点参数,我看得出来程序中缺少对点的筛选,现在直接出错了,我把 (cdr(assoc 40 ent))改成 (cadr(assoc 40 ent))) 也不行  发表于 2012-5-11 09:20
发表于 2012-5-10 23:17:32 | 显示全部楼层
最左端圆的第三象限点坐标
(car (acet-geom-ss-extents (ssget "p" '((0 . "circle"))) nil))
发表于 2012-5-11 21:37:14 | 显示全部楼层
5楼已改

点评

谢谢,此主题的解决方法我已写出,谢谢您的帮助!  发表于 2012-5-12 08:51
 楼主| 发表于 2012-5-12 08:50:24 | 显示全部楼层
此题完整的方法已求得,自己自定义了一个从已知选择集中过滤自己想要选择集的函数,看各位是还还有其它方法,此题目完整的解决方法在下面的LSP中。
;;本函数用于从已知选择集中过滤出所需要的对象的图元名列表
;;使用循环的方式可能有麻烦,但对选择集的要求降低了,不必再考虑选择集的“时效性”
;;ss为已知选择集,str为要过滤得到的元素,如"CIRCLE"、"LINE"、"MTEXT"等
;;明经通道  革天明  2012年5月12日
(defun myget (ss str / n enname)
  (setq n 0
namelst '()
  )
  (repeat (sslength ss)
    (if (= (cdr (assoc 0 (entget (ssname ss n)))) str)
      (progn
(setq enname (cdr (assoc -1 (entget (ssname ss n)))))
(setq namelst (cons enname namelst))
      )
    )
    (setq n (1+ n))
  )
  namelst
)

本帖子中包含更多资源

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

x
发表于 2016-4-27 20:53:41 | 显示全部楼层
哎呦,不错哦,马克。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-20 12:55 , Processed in 0.231941 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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