最初由 and2008 发布
[B]4楼的输入(ssadd (entlast) ss)了
咋个提示这些呀
; 错误: 参数类型错误: lselsetp nil
希望说明白点,多谢了。 [/B]
供参考
 - [FONT=courier new](load "xyp_lib.vlx") ;版本 V.20060211(2064)
- ;|下载和加载通用函数(可在签名栏直接下载后放到搜索路径下)
- 利用以下任何一种方式(首选第一种)即可加载和运行通用函数内的所有子程序:
- ★1·在acad.lsp中增加(load"xyp_lib.vlx")
- ■2·在每个程序内增加(load"xyp_lib.vlx")
- ■3·在command下,输入(load"xyp_lib.vlx")
- ■4·在菜单.mnl中增加(load"xyp_lib.vlx")
- ■5·将xyp_lib.vlx文件直接拽到cad屏幕
- [COLOR=red] ★通用函数下载地址:[/COLOR]
- [url]http://www.xdcad.net/forum/attachment.php?s=&postid=1606661[/url]
- |;
- ;;;波浪线
- (defun c:blx ()
- (cmdla0)
- (setvar "osmode" 0)
- (mkla"波浪线"3)
- (setq NO2 (ureal 7 "" "\半波峰(数值)" NO2)
- NO1 (ureal 7 "" "\半波长(数值)" NO1)
- ss1 (ssget "X")
- pt1 (getpoint "\n起点<退出> : ")
- ptn (getpoint pt1 "\n终点<退出> : ")
- )
- (while ptn
- (setq ang (angle pt1 ptn)
- pt3 (polar pt1 ang NO1)
- pt5 (polar pt3 ang NO1)
- pt2 (polar (_midP pt1 pt3) (- ang (/ pi 2)) (/ NO1 2))
- pt4 (polar (_midP pt3 pt5) (+ ang (/ pi 2)) (/ NO1 2))
- nn (fix (abs (/ (distance pt1 ptn) (* NO1 2))))
- n 0
- ss (ssadd)
- )
- (repeat nn
- (command "_arc" pt1 pt2 pt3)
- (setq ss (ssadd (entlast) ss))
- (princ "\nok")
- (command "copy" (entlast) "" pt1 pt5)
- (setq ss (ssadd (entlast) ss))
- (command "_arc" pt3 pt4 pt5)
- (setq ss (ssadd (entlast) ss))
- (command "copy" (entlast) "" pt1 pt5)
- (setq ss (ssadd (entlast) ss)
- pt1 pt5
- pt3 (polar pt1 ang NO1)
- pt5 (polar pt3 ang NO1)
- pt2 (polar (xyp-get-MidPoint pt1 pt3) (- ang (/ pi 2)) NO2)
- pt4 (polar (xyp-get-MidPoint pt3 pt5) (+ ang (/ pi 2)) NO2)
- )
- (princ "\nok2")
- )
- (command "pedit" (entlast) "y" "j" ss "" "")
- (command "erase" ss "")
- (setq pt1 pt5
- ptn (getpoint pt1 "\n终点<退出> : ")
- )
- )
- (setq ss2 (ssget "X")
- ssa (ssdiff ss2 ss1)
- )
- (command "pedit" (entlast) "j" ssa "" "")
- (cmdla1)
- )[/FONT]
|