明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1559|回复: 3

请问autolisp程序里面调用(c:yx_sl)命令时需要选择图元,我可以集成到我的程序里面吗

[复制链接]
发表于 2012-5-12 11:59:29 | 显示全部楼层 |阅读模式
本帖最后由 06czy 于 2012-5-12 12:02 编辑

请问autolisp程序里面调用(c:yx_sl)命令时需要选择图元,我可以集成到我的程序里面吗?以下是我编的多段线或直线转样条曲线的程序,
其中(c:yx_sl)是燕秀工具箱里样条曲线转圆弧的命令其中我真正的目的是想把碎线条转换成圆弧,
但是市场上没有这样的命令,只有燕秀工具箱里有样条曲线转圆弧的命令
所以我想借助该命令,先把碎线条转换成样条曲线,然后调用(c:yx_sl)达到我的目的。
(defun C:dza (/ )  
(setvar "cmdecho" 0)
(setq s0 (entlast))  (setq s (ssget));新建选集
(command "EXPLODE" s "");爆炸选集  
(setq s1 (entnext s0) s2 s1 ss (ssadd) )  
(while s2   
(setq ss (ssadd s2 ss))   
(setq s2 (entnext s2))    )
(setq s0 (entlast))
(if (= s1 nil)   
(command "PEDIT" "m" s "" "" "j" "" "")   
(progn (command "PEDIT" "m" ss "" "" "j" "" "")         
(command "PEDIT" "m" s "" "" "j" "" "")      )    )  
(setq ss (ssadd) s1 (entnext s0)        ss (ssadd s1 ss) s2 (entnext s1))  
(while s2   
(setq ss (ssadd s2 ss)      s2 (entnext s2))    )  
(setq n0 (sslength ss) n1 (- n0 1) n 0)  
(repeat n0   
  (setq s1 (ssname ss n))   
(command "PEDIT" "m" s1 "" "s" "")   
(command "_splinedit" s1 "")   
(setq n (+ n 1))    )
我想在这里加上加上一行代码,就像cad界面里一样聚焦ss选集,这样调用下面(c:yx_sl)程序时,我就可以不用在cad界面里另外选图元了
(c:yx_sl);该程序需要选择样条曲线
(setvar "cmdecho" 1)  (prin1)      )
这样整个程序我只要框选一次选集就可以了,不要在(c:yx_sl)调用时再选择选集求助,谢谢
发表于 2012-5-12 12:18:23 | 显示全部楼层
没用燕秀工具箱...
试试在(c:yx_sl)之前调用 sssetfirst
 楼主| 发表于 2012-5-12 12:30:15 | 显示全部楼层
谢谢,我试试,
发表于 2012-12-18 18:41:21 | 显示全部楼层
这工具中有这样的功能,并且转换速度很快...

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2025-6-3 10:29 , Processed in 0.182332 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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