明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1419|回复: 4

[求助]请大虾帮忙ssget

[复制链接]
发表于 2004-8-13 18:38:00 | 显示全部楼层 |阅读模式
斑竹,大虾好!


我在编制程序的时候,想通过ssget得到长度为420.00,角度为0的所有线段,通过ssget能否实现。若能,请指点。


(setq sv (ssget "X" (list (cons 0 "line"))))


多谢了!
发表于 2004-8-13 19:20:00 | 显示全部楼层
只能在程序里面提取起点终点进行判断
发表于 2004-8-13 20:25:00 | 显示全部楼层
;;;s420.lsp --xyp@bsedi.com
(defun c:s420(/)
(setq sv (ssget "X" (list (cons 0 "line"))))
(setq n 0 ss (ssadd))
(while (setq s1 (ssname sv n))
(setq pt1 (dxf-s1 10 s1) pt2(dxf-s1 11 s1))

(if (and (= (- (car pt1)(car pt2)) 420)(= (cadr pt2)(cadr pt1)))
(setq ss (ssadd s1 ss))
)
(setq n (+ 1 n))
)
(princ"\n\t选择集名称 : !ss")
(princ)
) --- 也可以将选择集成“组”(group),然后再进行相关操作: ;;;ssl.lsp --xyp@bsedi.com
(defun c:ssl()
(setq sv (ssget "X" (list (cons 0 "line"))))
(setq n 0 ss (ssadd))
(while (setq s1 (ssname sv n))
(setq pt1 (dxf-s1 10 s1) pt2(dxf-s1 11 s1))
(if (and (= (- (car pt1)(car pt2)) 420)(= (cadr pt2)(cadr pt1)))
(setq ss (ssadd s1 ss))
)
(setq n (+ 1 n))
)
(command "group""c" "L420" "" ss "")
(princ)
)
 楼主| 发表于 2004-8-14 08:11:00 | 显示全部楼层
谢谢!xyp1964和无痕大虾的指点,以后多多向你们学习!
发表于 2004-8-15 02:16:00 | 显示全部楼层
如果紧接着进行下一步命令 (command "group""c" "L420" "" ss "")
可以用以下代替: (sssetfirst ss ss)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-18 22:55 , Processed in 0.177130 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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