 - [FONT=courier new](load "xyp_lib")
- ;|加载通用函数(可在签名栏直接下载)
- 如果已经下载xyp_lib并放到搜索路径下可以不再下载!
- 利用以下任何一种方式即可加载和运行通用函数内的所有子程序:
- 1.在acad.lsp中增加(load"xyp_lib")
- 2.在每个程序内增加(load"xyp_lib")
- 3.在command下,输入(load"xyp_lib")
- 4.在菜单.mnl中增加(load"xyp_lib")
- 5.将xyp_lib.vlx文件直接拽到cad屏幕
- [COLOR=red] ★通用函数下载地址:[/COLOR]
- [url]http://www.xdcad.net/forum/attachment.php?s=&postid=1606661[/url]
- [url]http://www.mjtd.com/bbs/dispbbs.asp?boardID=3&ID=37554&page=1[/url]|;
- ;;;线开口 : 等分曲线并打断,线长和缺口均相等
- (defun c:test ()
- (CMDLA0)
- (setvar "osmode" 0)
- (setq pt1 (getvar "VSMIN")
- pt2 (getvar "VSMax")
- pt3 (_MIDP pt1 pt2)
- NO1 (UINT 7 "" "\n等分份数" NO1)
- NO2 (UDIST 1 "" "\n缺口长度" NO2 pt3)
- SSS (ssget '((0 . "CIRCLE,ELLIPSE,*LINE,ARC")))
- nnn -1
- )
- (while (setq e (ssname sss (setq nnn (1+ nnn))))
- (setq leng (vlax-curve-getDistAtParam e (vlax-curve-getEndParam e))
- leng1 (/ (- leng (* (- no1 1) no2)) no1)
- )
- (repeat (- no1 1)
- (setq pt1 (vlax-curve-getPointAtDist
- (vlax-ename->vla-object e)
- leng1
- )
- pt2 (vlax-curve-getPointAtDist
- (vlax-ename->vla-object e)
- (+ leng1 no2)
- )
- )
- (command "break" e pt1 pt2)
- (command "select" "l" "")
- (setq s1 (ssget "p")
- e (ssname s1 0)
- )
- )
- )
- (CMDLA1)
- )[/FONT]
|